- Table of contents
- Integration Test Suite
Integration Test Suite¶
The integration test suite is located in the jobsub git repository at jobsub/test/client/integration_test.sh
Usage: ./integration_tests.sh some_server@fnal.gov- Default behavior is to run tests as the 'nova' group.
- export GROUP=minerva (or whatever) to run as this group.
- This test suite will run until it encounters an error and then exit.
- export JOBSUB_TEST_CONTINUE_ON_FAILURE=1 to continue test suite after a failure
- Some of the tests expect you to be able to submit using role=Production. Not all groups support this
- As of 3/6/15 only groups lbne minerva, minos, and nova run Production jobs.
- To disable this to test other groups, export SKIP_PRODUCTION_TEST=1.
If you have VOMS/GUMS entries allowing you submit as Production roles in these groups, this should run to completion without errors against the fifebatch-preprod server:
- for G in lbne minerva minos nova ; do do export GROUP=$G ; ./integration_test.sh fifebatch-dev.fnal.gov ; done
If you are members of all of these groups in VOMS/GUMS, this command should run to completion without errors:
- export SKIP_PRODUCTION_TEST=1
- for G in argoneut cdf cdms chips coupp darkside des dzero fermilab genie gm2 lar1 lar1nd lariat lbne lsst marsgm2 marslbne marsmu2e minerva miniboone minos mu2e numix nova patriot seaquest uboone ; do do export GROUP=$G ; ./integration_test.sh fifebatch-dev.fnal.gov ; done
Starting with v1.1.1, Digicerts and proxies from Digicerts and KCAs are supported as authentication methods
To test this with the integration test suite:
- voms-proxy-init (kca proxy) or grid-proxy-init (digicert proxy)
- export X509_USER_PROXY=(whatever proxy you created in the previous step)
- ./integration_test.sh my_server.fnal.gov as before
What is tested¶
integration_test.sh performs the following test, stopping if one of the tests fails.
- test simple submission
- jobsub_submit
- test submission with Production role
- jobsub_submit --role
- test hold and release of submitted job
- jobsub_hold
- jobsub_release
- test dag submission
- jobsub_dag_submit
- test dag submission with Production role
- jobsub_dag_submit --role Production
- test cdf SAM job DAG
- jobsub_submit -G cdf --dataset_name
- test job submission with dropbox
- jobsub_submit dropbox://some_file
- test job submission with with multiple -f dropbox combinations
- jobsub_submit -f dropbox://file1 -f dropbox://file2
- test help option
- jobsub_submit -h
- test jobsub_q permutations
- jobsub_q
- test jobsub_history permutations
- jobsub_history
- test jobsub_fetchlog permutations
- jobsub_fetchlog
- test listing of sandboxes
- jobsub_fetchlog --list-sandboxes
- jobsub_fetchlog --list-sandboxes --role Production
- test listing remote sites
- jobsub_status --list-sites
- test list of URLS documented for responses via api_coverage_test.sh
- test that jobsub_fetchlog with nonexistent group fails to authenticate
- test that '@' in jobsub_submit options is parsed correctly by server
- submit job that writes huge stdout to test that jobsub_max_head_size and jobsub_max_tail_size work correctly
- submit job testing that environment variables with spaces and '=' in them are parsed correctly on server
Jobsub tools unit test suite.¶
These commands should be placed in a file named jobsub_tools_unit_test.sh and run periodically on the server:
#!/bin/bash export SUBMIT_HOST=`hostname` export GROUP=nova export JOBSUB_INI_FILE=/opt/jobsub/server/conf/jobsub.ini export CONDOR_TMP=/tmp/$$ export CONDOR_EXEC=$CONDOR_TMP mkdir -p $CONDOR_TMP source /fnal/ups/etc/setups.sh setup jobsub_tools sh $JOBSUB_TOOLS_DIR/test/Run_Unit_Tests.sh