Page History

Turn Off History

Look here for BT's instructions: BT's Testing Condor On Windows

Requirements

Preparing for testing

The easiest way to get an ititial Windows HTCondor test environment is to build HTCondor from git. It is possible to download the HTCondor MSI or tarball and test that, but you will need to also have the tests and the msconfig tools that you get from a git clone or from the source tarball.

Testing needs

There are five things needed for testing on windows that need to be assembled

  1. built HTCondor release_dir or equivalent (unpack the .ZIP release)
  2. all sources for src/condor_tests including subdirectories
  3. Condor.PM, CondorUtils.pm, CondorTest.pm, CondorPersonal.pm and batch_tests.pl from src/condor_scripts
  4. built tests
  5. working personal HTCondor config

Get tests from the HTCondor sources

You must copy some files from the condor sources into into the directory you wish to test in.

set SRCDIR=\scratch\CONDOR_SRC
set testdir=\scratch\test001
mkdir %testdir%
xcopy /Q /Y "%SRCDIR%\src\condor_tests\*" "%testdir%\condor_tests\"
xcopy /Q /Y "%SRCDIR%\src\condor_tests\Check\*" "%testdir%\condor_tests\Check\"
xcopy /Q /Y "%SRCDIR%\src\condor_scripts\*.pm" "%testdir%\condor_tests\"
xcopy /Q /Y "%SRCDIR%\src\condor_scripts\*.pl" "%testdir%\condor_tests\"

Install HTCondor in the test dir and create a configuration

CD to the directory where HTCondor is built (where your condor.sln file is), build the tests, and install HTCondor into the testing directory.

Install HTCondor into the testing dir

cd \scratch\build
set testdir=\scratch\test001
cmake -DBUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%testdir% -P cmake_install.cmake

Create a HTCondor configuration that all of the tests will derive from. If the machine you are running tests on has fewer than 5 DETECTED_CPUS some tests are known to fail. To be safe set NUM_CPUS to 8.

Assuming the environment variable SRCDIR points to HTCondor sources:

pushd "%testdir%"
cscript "%SRCDIR%\msconfig\init_config.wsf" ETC=etc PERSONAL=Y RUNJOBS=A
mkdir log
mkdir spool
mkdir execute
echo NUM_CPUS = 8 >> "%testdir%\condor_config"
popd

Build and Install the tests

Build the tests and copy them into the testing dir. Run these commands in your HTCondor build directory. There are some tests that will still run if you skip this step.

devenv condor.sln /Build Debug /Project BLD_TESTS
xcopy /Q /Y src\condor_tests\list_* "%testdir%\condor_tests\"
xcopy /Q /Y src\condor_tests\Debug\*.exe "%testdir%\condor_tests\"
xcopy /Q /Y src\condor_tests\Debug\*.pdb "%testdir%\condor_tests\"

Setup environment and start HTCondor

Set PATH and CONDOR_CONFIG environment variables

set CONDOR_CONFIG=%testdir%\condor_config
set PATH=%testdir%\bin;%PATH%

Start HTCondor and verify that it is running. There are some tests that will still run if you skip this step.

start %testdir%\bin\condor_master -f -t
condor_who -wait:60 "NumDead > 0 || AllAlive"

Run a test

You should now be able to run single tests in the testing location you chose. For instance to run test XXX.run:

cd %testdir%\condor_tests
batch_test.pl -d . -t XXX.run

Results

Test XXX.run will typically have output and error files xxx.out and xxx.err in the same directory in which the test ran. Sometimes there will be additional files in a XXX.saveme subdirectory.