Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (52 sloc) 2.33 KB
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.
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!
simply run the program ./ 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
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
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.
Something went wrong with that request. Please try again.