Fuego wiki

Login or create account

Batch Tests Feature in 'raw' format

= Description =
Batch tests is a feature of Fuego that allows a user to easily define a
test that runs other Fuego tests as sub-tests.

This feature is new in Fuego 1.5 and is intended to replace the test
plan system.

To see [[Using Batch Tests]] for information on writing a batch test.

== Rationale ==
The test plan system is quite limited.  It doesn't 

= Features =
 * can easily compose one or more tests of interest, and run them as a group
 * can run multiple tests with different specs
 * can run different tests in sequence, and stop if something goes wrong
 * can see the visualization of results of sub-tests by following a link in batch test results

 * can be used to compose together a series of operations (like tbot)
   * this could be used to do a "full CI loop" test, where sub-tests consisted of building the code, deploying the system code, booting the system, then running a suite of Fuego tests
 * the batch test can be programmed to continue or stop operation depending on the results of test
 * the batch test can be programmed to run different tests depending on results

= To do =
Here are features required for this:
 * (done) sub-tests can be grouped by batch-id
   * (done) add batch-id generation function to fuego core - see [[function_allocate_next_batch_id]]
 * (done) show result for each sub-test
 * (done) add a link from each sub-test's results to that test's visualization data
   * (done) add link to jenkins job build page in parent test's testlog (hostlog.txt)
   * (done) have charting code read that link, and put into testcase chart
   * (done) should add visualization to the jenkins build page
 * (done) generate jobs for sub-tests when creating jobs for batch test
   * (done) have ftc add-job automatically create sub-jobs? (yes)
     * (done) read json from batch test, and use as testplan for creating sub-jobs
     * (done) add to 'ftc add-jobs' - scan for BATCH_TESTPLAN variable in test.
       * scan for BATCH_TESTPLAN variable in test
       * use delimiters BATCH_TESTPLAN= and END_TESTPLAN in
 * (done) create a sample batch job
   * batch_default = testplan_default
   * (done) batch_quicktest = internal testplan
   * (done) batch_bc
 * replace all previous testplans:
   * smoketest
   * docker
   * fuego_nightly1
   * fuego_nightly2
   * hello_world
   * lava
   * ltsi
   * lts
   * reboot
   * filesystem
   * fuego_release
 * (done) decide on naming conventions for batch tests
   * (done) short name of test starts with "batch_"
 * (done) handle 'nested' CALLER situation
   * (done) prevent message about unknown FUEGO_CALLER
     * "Error: fuego_caller has an unexpected value: nested"
   * (defer) automatically handle the 'before log' removal/restoration problem
     * save the log differently if caller is 'nested'?
     * this is a problem for test recursion, not batch tests
 * (done) put supporting routines in the Fuego core:
   * (done) allocate_next_batch_id
   * (done) run_test
   * (done) trim
 * document supporting routines:
   * [[function_allocate_next_batch_id]]
   * [[function_run_test]]
   * [[function_trim]]

TBWiki engine 1.8.3 by Tim Bird