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:

  1. Sets up a transfer for the job of your nmi glue
  2. Looks up and arranges transfer of all the results and condor_tests from the requested build
  3. Sets up a transfer of your entire workspace
  4. On the execute node it copies your condor_examples over the ones from the requested build
  5. On the execute node is copies all the perl modules from condor_scripts on top of the ones in the previous builds condor_tests
  6. 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"'