Testing HTCondor with NMI
Testing a Previous HTCondor Build
The easiest way to test now is from a workspace with or without a build happening first. The easiest way to move it to a folder called workspace on the NMI submit node(say submit-2.batlab.org) is as follows:
cd top of your workspace git write-tree # produce something like a68e0821c9808d2f584b593f3eeef65c3b4a432 git archive a68e0821c9808d2f584b593f3eeef65c3b4a432 | ssh submit-2.batlab.org \ cd workspace '&&' tar xf -
All of the following variations happen within nmi_tools.
To build and then run all the tests go like this:
./condor_nmi_submit --build --git --workspace=../ --platforms=all \ --notify-fail-only --desc="Tolerance for searchmulti"
Add --submit-xtests to the above to make any cross platform tests get run also.
To run the tests in your workspace and not do any builds, pick a build you want to test against and do the following:
./condor_nmi_submit --test --platforms=all --buildid=135391 \ --workspace=../ --ignore-missing-platforms --test-sources-from-workspace
The above tests with the nmi glue in your existing nmi_tools folder so testing glue is easy now! What the above does is this:
- Sets up a transfer for the job of your nmi glue
- Looks up and arranges transfer of all the results and condor_tests from the requested build
- Sets up a transfer of your entire workspace
- On the execute node it copies your condor_examples over the ones from the requested build
- On the execute node is copies all the perl modules from condor_scripts on top of the ones in the previous builds condor_tests
- On the execute node it recursively copies your entire condor_tests into the build's condor_tests
What does not happen is that any compiled test, comes from the requested build's compiled tests.
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"'