Testing a HTCondor workspace in NMI
Before you start, make sure that you have an account on batlab.chtc.wisc.edu.
From your usual machine, you want to create a temporary workspace directory on batlab.chtc.wisc.edu, and then archive a commit of your git clone into that directory. In this directory, we call the directory 'workspace' but it can be anything.
ssh batlab.chtc.wisc.edu mkdir workspace cd <to top of clone, usually CONDOR_SRC> git write-tree
On Linux the command is
git archive <hash created by git write-tree> | ssh batlab.chtc.wisc.edu cd workspace '&&' tar xf -
git archive <hash created by git write-tree> | ssh batlab.chtc.wisc.edu USERNAME@batlab.chtc.wisc.edu cd workspace ; tar xf -
So far, this is the same as submitting a workspace build.
Next, go to http://batlab.chtc.wisc.edu/results/continuous.php and choose a recent completed build to run tests against. Then run the following commands, substituting the id of the build for <runid>
cd workspace cd nmi_tools ./condor_nmi_submit --test --buildid=<runid> --workspace=../ --platforms=all --notify-fail-only --desc="A Description" --ignore-missing-platforms --test-sources-from-workspace
You can go to http://batlab.chtc.wisc.edu/results/workspace_tests.php in a few seconds and see your test run show up.
It will also be visible on the bottom of the details page for the build, which you can find by substituting the build id that you chose for <runid>
in this link.
http://batlab.chtc.wisc.edu/results/run-details.php?runid=<runid>
You can pass additional arguments to condor_nmi_submit to alter the test configuration
--append-config-dir=<dir>
Copy<dir>/testconfigappend
into the condor_tests directory before running the tests. The test glue will then append this file to the base condor_config produced by condor_install, and before running any of the tests. Use this to make a global config change, such as turning on IPV6
If you want to run just a few tests, you create a file in Metronome accepted syntax and name it "testoverride". This file is placed in condor_tests in your workspace. Here is a sample:
JOB job_basic_suspend_continue_test-1 JOB job_concurrency_limits-1
If the build you want to test was made from a git tag, you can submit the tests using the same tag:
/home/cndrauto/condor/nmi_tools/condor_nmi_submit --test --buildid=209846 \ --tag=BUILD-trunk-2010-1-13 --module=UNUSED --git --platforms=all \ --submit-xtests
If the build you want to test was a workspace build, you can submit the tests using the same workspace. Run this from the nmi_tools
directory of your workspace:
./condor_nmi_submit --test --buildid=209633 --git --platforms=all \ --workspace=.. --submit-xtests
You can restrict the set of platforms tested by giving a comma-separated list for the --platforms
option. If you don't want any cross-platform tests, you can use --nosubmit-xtests
.
The blacklist a particular host, add something like this to the condor_nmi_submit line:
--append 'append_requirements=Machine!="nmi-0102.batlab.cs.wisc.edu"'