This is for the new BATLab (submit-*.batlab.org). For the obsolete, pre-2012 BATLab (nmi-s00*.cs.wisc.edu), see NmiTest. {section: Testing a HTCondor workspace in NMI} Before you start, make sure that you have an account on submit-3.batlab.org. From your usual machine, you want to create a temporary workspace directory on submit-3, 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. {term} ssh submit-3.batlab.org mkdir workspace cd git write-tree {endterm} 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 {term} git archive | ssh submit-3.batlab.org cd workspace '&&' tar xf - {endterm} On Windows, the '&&' doesn't work, so use a ; instead. also you may have to supply your submit-3 username where USERNAME@ appears in the command below. {term} git archive | ssh submit-3.batlab.org USERNAME@submit-3.batlab.org cd workspace ; tar xf - {endterm} So far, this is the same as submitting a workspace build. Next, go to http://submit-3.batlab.org/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 {term} cd workspace cd nmi_tools ./condor_nmi_submit --test --buildid= --workspace=../ --platforms=all --notify-fail-only --desc="A Description" --ignore-missing-platforms --test-sources-from-workspace {endterm} You can go to http://submit-3.batlab.org/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 == in this link. {code}http://submit-3.batlab.org/results/run-details.php?runid={endcode} You can pass additional arguments to condor_nmi_submit to alter the test configuration *: =--append-config-dir== Copy =/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: {code} JOB job_basic_suspend_continue_test-1 JOB job_concurrency_limits-1 {endcode} If the build you want to test was made from a git tag, you can submit the tests using the same tag: {code} /home/cndrauto/condor/nmi_tools/condor_nmi_submit --test --buildid=209846 \ --tag=BUILD-trunk-2010-1-13 --module=UNUSED --git --platforms=all \ --submit-xtests {endcode} 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: {code} ./condor_nmi_submit --test --buildid=209633 --git --platforms=all \ --workspace=.. --submit-xtests {endcode} 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: {code} --append 'append_requirements=Machine!="nmi-0102.batlab.cs.wisc.edu"' {endcode}