UR::Namespace::Command::Test::Run(3pm)

NAME
ur test run - run one or more test scripts

SYNOPSIS
 # run everything in a given namespace
 cd my_sandbox/TheNamespace
 ur test run --recurse

 # run only selected tests
 cd my_sandbox/TheNamespace
 ur test run My/Module.t Another/Module.t t/foo.t t/bar.t

 # run only tests which load the TheNamespace::DNA module
 cd my_sandbox/TheNamespace
 ur test run --cover TheNamespace/DNA.pm

 # run only tests which cover the changes you have in Subversion
 cd my_sandbox/TheNamespace
 ur test run --cover-svn-changes

 # run 5 tests in parallel as jobs scheduled via LSF
 cd my_sandbox/TheNamespace
  ur test run --lsf --jobs 5

DESCRIPTION
Runs a test harness around automated test cases, like "make test" in a make-oriented software distrbution, and similar to "prove" run in bulk.

When run w/o parameters, it looks for "t" directory in the current working directory, and runs ALL tests under that directory.

OPTIONS

--recurse
     Run all tests in the current directory, and in sub-directories.  Without
     --recurse, it will first recursively search for directories named 't' under
     the current directory, and then recursively seatch for *.t files under those
     directories.

--long
     Include "long" tests, which are otherwise skipped in test harness execution

-v
     Be verbose, meaning that individual cases will appear instead of just a full-script summary

--cover My/Module.pm
     Looks in a special sqlite database which is updated by the cron which runs tests,
     to find all tests which load My/Module.pm at some point before they exit.  Only
     these tests will be run.

    * you will still need the --long flag to run long tests.

    * if you specify tests on the command-line, only tests in both lists will run

    * this can be specified multiple times

--cover-TOOL-changes
     TOOL can be svn, svk, or cvs.

     The script will run either "svn status", "svk status", or "cvs -q up" on a parent
     directory with "GSC" in it, and get all of the changes in your perl_modules trunk.
     It will behave as though those modules were listed as individual --cover options.

--lsf
     Tests should not be run locally, instead they are submitted as jobs to the
     LSF cluster with bsub.

--lsf-params
     Parameters given to bsub when sceduling jobs.  The default is
     "-q short -R select[type==LINUX64]"

--jobs <number>
     This many tests should be run in parallel.  If --lsf is also specified, then
     these parallel tests will be submitted as LSF jobs.

PENDING FEATURES

automatic remote execution for tests requiring a distinct hardware platform
logging profiling and coverage metrics with each test