Skip to content
This repository was archived by the owner on Sep 23, 2020. It is now read-only.

Files

Latest commit

03671d4 · Jun 18, 2013

History

History

tests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 16, 2010
Sep 23, 2010
Sep 23, 2010
Feb 15, 2011
May 27, 2011
Feb 4, 2011
Oct 4, 2011
Nov 29, 2011
Jun 13, 2011
Jun 13, 2011
Jun 13, 2011
Dec 22, 2011
Dec 22, 2011
Jun 13, 2011
Sep 28, 2011
Jun 13, 2011
Nov 29, 2011
Nov 29, 2011
Nov 29, 2011
Nov 21, 2011
Jun 13, 2011
Nov 21, 2011
Jun 15, 2011
Jun 15, 2011
Jun 13, 2011
Jun 13, 2011
Jun 14, 2011
Jul 12, 2012
Nov 29, 2011
Nov 29, 2011
Nov 29, 2011
Nov 29, 2011
Nov 29, 2011
Nov 29, 2011
Jul 12, 2012
Nov 29, 2011
Nov 21, 2011
Nov 21, 2011
Jun 15, 2011
Jun 13, 2011
Jun 13, 2011
Jun 13, 2011
Jun 13, 2011
Jun 13, 2011
Aug 16, 2010
May 29, 2011
Nov 5, 2010
May 25, 2011
Aug 17, 2010
Aug 17, 2010
Sep 21, 2010
Nov 18, 2011
Nov 18, 2011
Jul 12, 2012
Nov 18, 2011
Nov 18, 2011
Jul 12, 2012
Sep 23, 2010
Jun 18, 2013
Jun 6, 2011
Oct 6, 2010
Jun 15, 2011
Sep 23, 2010
Aug 16, 2010
Aug 12, 2010
Jan 5, 2011
Apr 26, 2011
Jun 15, 2011
Jun 19, 2012
Nimbus Build and Test
=====================

This document is for developers of Nimbus.  It describes how to use the 
automated build, configure, and test system.  This system is NOT intended
for users and is not supported.  It touches some very important files 
on your system and thus should be considered dangerous.

---------
Important
---------
This system may destroy your ~/.ssh ~/.globus and ~/.nimbus directories!
While it makes every effort to back them up and reestablish them, this is
developer code and it does touch these files!  It is best run under a 
new and clean user.  Please back all of these directories up before using
this system!

Testing
=======

simply run the program ./bt-nimbus.sh with no arguments.  This will 
do the following:
    1) Nimbus from the github master branch
    2) build and install
        -- Nimbus
        -- workspace control in propagate only mode
        -- cloud-client
    3) run all tests in the current directory
        -- any file that that matches '.*test.{sh,py} will be run
    4) clean up

Results
-------

All output is sent to the console.  Within the last few lines there will
be a summary line similar to: 

    4 parent tests passed (many more subtests were run)
    3 parent tests failed
         cc1-test.sh ec2-test.sh cc-list-test.py

Log files are also created.  The main build log can be found in the source
directory at 'bandt.log'.  Each test also creates a log file <test name>.log.


Adding New Tests
----------------

To add a new test simply create an executable bash or python script and
name it according to the convention <your test name>test.{py,sh}.  The 
script will be run with the following environment:

    NIMBUS_HOME=<Nimbus service installation>
    NIMBUS_TEST_USER=<a configured Nimbus user name>
    CLOUD_CLIENT_HOME=<location of the cloud client install>
    NIMBUS_WORKSPACE_CONTROL_HOME=<location of the workspace control install>

All tests must return 0 for success.  All other return codes are considered
failure.  Tests may log whatever they want to stdout/err.

Propagation Only
----------------

It should be noted that all tests are run in 'propagation only' mode.  This
means that no VMs are actually started.  However the service, storage,  
propagation code, and cloud client code is tested.  While this is not 
exhaustive, it does provided a good sanity check of the codebase.