Page History

Turn Off History

Testing Condor with NMI

Testing a Previous Condor Build

Somebody will need to write this up. It should have a nice explanation of all the different condor_nmi_submit options:

--buildid=string   <Build RunId to test>
--test-src=string  <Custom source tarball for building tests with>
--test-args=string <Arguments to select what tests to declare>
--test-timeout=int <timeout in minutes for each test task (default is 20)>
--platforms=all    <will query DB for all platforms in the given buildid>

Using a Workspace Directory to Test a Previous Condor Build

For this scenario, my job_core_max-local-running tests were producing false negatives on random platforms in the nightly build. I wanted to make a fix to the test files and then test my changes against the previous night's build. These instructions will allow you to do that without having to commit any of your changes to CVS.

First, tar up your workspace directory. Make sure that you have both the externals and docs directories checked out:

1:30pm[chopin:~/Workspace]$ la V6_7-branch/
total 32K
drwxr-x---    4 pavlo    pavlo         14K Dec 19 12:17 NTconfig/
drwxr-x---    3 pavlo    pavlo        2.0K Dec 19 12:17 config/
drwxr-x---   13 pavlo    pavlo        2.0K Dec 19 12:17 doc/
drwxr-x---    4 pavlo    pavlo        2.0K Dec 19 13:19 externals/
drwxr-x---    3 pavlo    pavlo        2.0K Nov  1 10:55 imake/
drwxr-x---    8 pavlo    pavlo        2.0K Dec 19 12:17 nmi_glue/
drwxr-x---  141 pavlo    pavlo        8.0K Dec 19 12:18 src/
1:30pm[chopin:~/Workspace]$ tar zfvc V6_7-branch.tar.gz V6_7-branch/

Upload the tar file to the NMI submission host:

1:36pm[chopin:~/Workspace]$ scp V6_7-branch.tar.gz pavlo@grandcentral:~/
Now on the submission host, unpack the tar file:
1:38pm[grandcentral:~]$ tar zxfv V6_7-branch.tar.gz
This next step is very important. We need to run the pre_all script on our Workspace directory. This will build the man pages and create a source tarball, so that's why you need externals and docs:
1:38pm[grandcentral:~]$ cd V6_7-branch
1:38pm[grandcentral:~/V6_7-branch]$ ./nmi_glue/build/pre_all
In the copied over Workspace directory you should just have the following files:
1:50pm[grandcentral:~/V6_7-branch]$ la
total 320M
-rw-rw-r--  1 pavlo pavlo 160M Dec 19 13:28 condor-6.7.15.tar.gz
-rw-rw-r--  1 pavlo pavlo    6 Dec 19 13:25 CONDOR-VERSION
drwxr-x---  8 pavlo pavlo 4.0K Dec 19 12:17 nmi_glue/
-rw-rw-r--  1 pavlo pavlo 160M Dec 19 13:28 results.tar.gz
The condor-6.7.15.tar.gz file is what you're going to want to submit as the test source. results.tar.gz just contains a copy of condor-6.7.15.tar.gz and CONDOR-VERSION.

Finally, we will submit a new NMI test using a previous build result. The test-src option is where the system will get the test sources to run against the build results. Make sure that you give the full path to this option (don't just use ./). The test-args option is the test class that you want to specifically test (see condor_tests/README.testclass). In this example, I used Bill's debug class. Since we didn't have to commit anything to CVS to test this Workspace directory, it's not a problem if we hack up condor_tests/Imakefile.

1:50pm[grandcentral:~/V6_7-branch]$ condor_nmi_submit --test --buildid=16426 \
--tag=BUILD-V6_7-branch-2005-12-19 --module=V6_7_BUILD --platforms=all \
--notify=pavlo@cs.wisc.edu --test-args=btdebug \
--test-src=/space/home/pavlo/V6_7-branch/condor-6.7.15.tar.gz

Using a Workspace Directory to Test a change to the Condor NMI test glue

Now, we will submit a new test using a previous build result. The nmi-glue option is where the system will get the test nmi_glue to run against the build results. Again, make sure that you give the full path to this option (don't just use ./). ALSO, make sure you test your glue changes against a Unix and a Windows platform!!!! Notice the change to --platforms!

grandcentral:~/V6_7-branch]$ condor_nmi_submit --test --buildid=16426 \
--tag=BUILD-V6_7-branch-2005-12-19 --module=V6_7_BUILD --platforms=x86_winnt_5.1,x86_rh_9  \
--test-args=btdebug \
--test-src=/home/bt/V6_7-branch/condor-6.7.15.tar.gz \
--nmi-glue=/home/bt/nmi_glue

Using a Workspace Directory to Test a change to the NMI framework

There are times that the "Framework" itself needs to be changed and tested. In this case you have to configure your environment and the copy of the framework you are testing. Do the following in order:

grandcentral:~/V6_7-branch]$ condor_nmi_submit --test --buildid=16426 \
--tag=BUILD-V6_7-branch-2005-12-19 --module=V6_7_BUILD --platforms=x86_winnt_5.1,x86_rh_9  \
--test-args=btdebug --nmiconf=/home/bt/fw/etc/nmi.conf \
--test-src=/home/bt/V6_7-branch/condor-6.7.15.tar.gz \
--nmi-glue=/home/bt/nmi_glue