Bat Lab Test

This is for the new BATLab (submit-*.batlab.org). For the obsolete, pre-2012 BATLab (nmi-s00*.cs.wisc.edu), see NmiTest .

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
git write-tree will print out a hash, which you will then use in the next command. This synax for this command is slightly different between Linux and Windows.

On Linux the command is

  git archive <hash created by git write-tree> | ssh batlab.chtc.wisc.edu cd workspace '&&' tar xf -
On Windows, the '&&' doesn't work, so use a ; instead. also you may have to supply your batlab.chtc.wisc.edu username where USERNAME@ appears in the command below.
  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"'