Testing Condor On Linux

batch_test.pl runs the test suite . It can start up its own personal HTCondor and use that for testing. The tests may also start their own personal Condors.

Running Tests from HTCondor Source Tree

  1. Get the source code from any of the following locations:
    git clone ssh://emperor-02.cs.wisc.edu/p/condor/repository/CONDOR_SRC.git # git on afs
    
    # OR From
    
    git clone https://github.com/htcondor/htcondor.git # github mirror, trails behind afs git by a few hours
    
    # Source code can also be obtained from tarballs on HTCondor's website
    

  2. Compiling the code and tests.(See BuildingHtcondorOnLinux for more details on building the code and pre-requisites)
    cd CONDOR_SRC # change directory to the root of source tree
    ./configure_uw
    make install
    make tests
    

  3. Make Personal Condor in a new directory outside the source tree (lets call the directory personal_condor)
    cd <personal_condor>
    <absolute path to CONDOR_SRC>/release_dir/condor_install --make-personal-condor --local-dir=`pwd` # Please follow the step as is and run this command from personal_condor directory only
    

  4. Change <personal_condor>/etc/condor_config as follows-
    • Modify RELEASE_DIR to point to <Absolute path of personal_condor>
    • Modify LOCAL_DIR to point to <Absolute path of personal_condor>/local.$(HOSTNAME)
    • Modify LOCAL_CONFIG_FILE to point to <Absolute path for personal_condor>/local.$(HOSTNAME)/condor_config.local

  5. Ready to run the tests!
    source condor.sh # condor.sh is in <personal_condor>
    
    # start the personal HTCondor, needed for some tests.
    condor_master -f
    condor_who -wait:60 "NumDead > 0 || AllAlive"
    
    cd <CONDOR_SRC>/condor_tests
    ./run_test.pl -d .  -t <test name>
    # for example
    # ./run_test.pl -d .  -t job_test_scheddrotation.run
    

Always run tests with run_test.pl. Tests requirements are mentioned in a special file (Test_Requirements) which indicates which tests need to have HTCondor already running before running the test. certain tests may not want to run condor or may want to change the condor's configuration file before running so they will start condor themselves. At present, only the BatLab glue knows how to run multiple tests. BatLabTest.