Look here for BT's instructions: {wiki: BtsTestingCondorOnWindows BT's Testing Condor On Windows } {section: Requirements} *: Install Active-State Perl *: Make a git clone of the HTCondor repo OR unpack the source tarball *: Build HTCondor for Windows: {wiki: BuildingHtcondorOnWindows Instructions } {section: 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. {section: 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) 1: all sources for src/condor_tests including subdirectories 1: Condor.PM, CondorUtils.pm, CondorTest.pm, CondorPersonal.pm and run_test.pl from src/condor_scripts 1: built tests 1: working personal HTCondor config {section: Get tests from the HTCondor sources} You must copy some files from the condor sources into into the directory you wish to test in. {term} set SRCDIR=\scratch\CONDOR_SRC set testdir=\scratch\test001 mkdir %testdir% xcopy /S /E /Q /Y "%SRCDIR%\src\condor_tests\*" "%testdir%\condor_tests\" xcopy /Q /Y "%SRCDIR%\src\condor_scripts\*.pm" "%testdir%\condor_tests\" xcopy /Q /Y "%SRCDIR%\src\condor_scripts\*.pl" "%testdir%\condor_tests\" {endterm} {section: 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 {term} cd \scratch\build set testdir=\scratch\test001 cmake -DBUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%testdir% -P cmake_install.cmake rem BUILD_TYPE sould be Debug or RelWithDebInfo depending on what you built. {endterm} Create a HTCondor configuration that all of the tests will derive from. Assuming the environment variable SRCDIR points to HTCondor sources you can use these commands: {term} 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 {endterm} 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. The init_config.wsf script can be used to pass arguments to msconfig\WiX\config.vbs which will create a condor_config file in much the same way that condor_install does on *nix builds. The ETC argument tells it where to find condor_config.generic {section: 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. {term} 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\" {endterm} {section: Setup environment and start HTCondor } Set PATH and CONDOR_CONFIG environment variables {term} set CONDOR_CONFIG=%testdir%\condor_config set PATH=%testdir%\bin;%PATH% {endterm} Start HTCondor and verify that it is running. This step is optional for some tests. You can tell which tests require a running HTCondor by looking at the *Test_Requirements* file. {term} start %testdir%\bin\condor_master -f -t {endterm} If you are using a very recent version of HTCondor (8.5.3 or later) you can use the new -wait option for condor_who {term} condor_who -wait:60 "NumDead > 0 || AllAlive" {endterm} {section: Run a test } You should now be able to run single tests in the testing location you chose. Tests in the *Windows_SkipList* file are known not to work on Windows. For instance to run test XXX.run: {code} cd %testdir%\condor_tests run_test.pl -d . -t XXX.run {endcode} For versions of HTCondor prior to 8.4.10, you will use use =batch_test.pl= in instead of =run_test.pl= {section: 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.