New Certification Tests

VDT 1.2.0 saw a lot of work put into the VDT tests. We switched from the old VDT test harness to the perl Test::Harness module. We also rewrote our tests to add formal support for running them in client mode -- against servers not installed on the local machine. Additional behind the scenes work was done to make test writing easier which should lead to more and better tests in the future.

Currently the VDT provided certification tests that cover the basic functionality of several components:

The tests can be installed via pacman by downloading the VDT-Test package from the VDT cache:

vail(nmueller): pacman -get VDT:VDT-Test
...

In order to run the certification tests, do the following:

  1. Make sure to source the VDT setup.sh (or appropriate) file from your VDT install.
  2. Make sure Perl 5.6.0 or higher is in your path.
  3. Run ${VDT_LOCATION}/vdt/tests/vdt-run-tests

Here are the results of running the VDT certification tests on a non-root VDT install. In this case the tests were run immediatly after the install completed -- no daemons were started ahead of time. A personal Condor was started by the test suite to run the Condor tests. The Globus tests initialized a grid proxy but were unable to locate a gatekeeper.

vail(nmueller): ./vdt-run-tests
Grid cert passphrase: *****

Results for myproxy.t:
        Passed: 0
        Skipped: 9
        Failed: 0
        Failed tests:
                Couldn't find a MyProxy server: 9 tests skipped

Results for condor_g.t:
        Passed: 0
        Skipped: 2
        Failed: 0
        Skipped tests:
                Couldn't find a Globus gatekeeper: 2 tests skipped

Results for condor.t:
        Passed: 3
        Skipped: 0
        Failed: 0

Results for globus.t:
        Passed: 0
        Skipped: 11
        Failed: 0
        Skipped tests:
                Couldn't find a running GridFTP server: 3 tests skipped
                Couldn't find a GSI enabled OpenSSH server: 4 tests skipped
                Couldn't find an MDS server: 1 tests skipped
                Couldn't find a Globus gatekeeper: 3 tests skipped

The VDT tests will attempt to determine if required services are available. If a necessary service can not be found any tests that require it are skipped. You should review skipped tests to ensure that all expected services were found and tested.

If you want to get additional debugging information for failed tests you can run vdt-run-tests with the -v option. This will give you detailed output of all the tests:

vail(nmueller): ./vdt-run-tests -t tests/globus.t -v
Grid cert passphrase: *****

tests/globus....1..11
# Running command: grid-proxy-info
# subject  : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208/CN=proxy
# issuer   : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# identity : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# type     : full legacy globus proxy
# strength : 512 bits
# path     : /tmp/x509up_u22723
# timeleft : 11:59:13
ok 1 # skip Couldn't find a Globus gatekeeper
ok 2 # skip Couldn't find a Globus gatekeeper
ok 3 # skip Couldn't find a Globus gatekeeper
# Running command: grid-proxy-info
# subject  : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208/CN=proxy
# issuer   : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# identity : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# type     : full legacy globus proxy
# strength : 512 bits
# path     : /tmp/x509up_u22723
# timeleft : 11:59:13
ok 4 # skip Couldn't find a running GridFTP server
ok 5 # skip Couldn't find a running GridFTP server
ok 6 # skip Couldn't find a running GridFTP server
ok 7 # skip Couldn't find an MDS server
# Running command: grid-proxy-info
# subject  : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208/CN=proxy
# issuer   : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# identity : /DC=org/DC=doegrids/OU=People/CN=Nathan Mueller 677208
# type     : full legacy globus proxy
# strength : 512 bits
# path     : /tmp/x509up_u22723
# timeleft : 11:59:13
ok 8 # skip Couldn't find a GSI enabled OpenSSH server
ok 9 # skip Couldn't find a GSI enabled OpenSSH server
ok 10 # skip Couldn't find a GSI enabled OpenSSH server
ok 11 # skip Couldn't find a GSI enabled OpenSSH server
ok

Results for tests/globus.t:
        Passed: 0
        Skipped: 11
        Failed: 0
        Skipped tests:
                Couldn't find a running GridFTP server: 3 tests skipped
                Couldn't find a GSI enabled OpenSSH server: 4 tests skipped
                Couldn't find an MDS server: 1 tests skipped
                Couldn't find a Globus gatekeeper: 3 tests skipped

If you want to run the VDT tests against server that aren't running on the local host you can use the --relocate flag to tell the tests where to look.

vail(nmueller): ./vdt-run-tests --help
Grid cert passphrase: *****

Usage: ./vdt-run-tests
        --verbose
        --test <test file>
        --relocate <server name>=<server host>[:<server port>]

Valid relocation options (and defaults):
        CondorCollector -- vail.cs.wisc.edu
        CondorStartd -- localhost
        GSIOpenSSH -- localhost:22
        GlobusGatekeeper -- localhost:2119
        GridFTP -- localhost:2811
        MDS -- localhost:2135
        MyProxy -- myproxy.ncsa.uiuc.edu:7512
vail(nmueller): ./vdt-run-tests --relocate GlobusGatekeeper=beak.cs.wisc.edu
Grid cert passphrase: ***** 

Results for myproxy.t:
        Passed: 0
        Skipped: 9
        Failed: 0
        Failed tests:
                Couldn't find a MyProxy server: 9 tests skipped

Results for condor_g.t:
        Passed: 2
        Skipped: 0
        Failed: 0

Results for condor.t:
        Passed: 3
        Skipped: 0
        Failed: 0

Results for globus.t:
        Passed: 3
        Skipped: 8
        Failed: 0
        Skipped tests:
                Couldn't find a running GridFTP server: 3 tests skipped
                Couldn't find a GSI enabled OpenSSH server: 4 tests skipped
                Couldn't find an MDS server: 1 tests skipped