|
Test definition in split format
A test in Fuego is defined by:
* jenkins files:
* /var/lib/jenkins/jobs/<test_name>/config.xml - expected to be static
* asks user to select 'Device' (from list of targets)
* asks user to select 'TESTPLAN' (from list of testplans)
* provides form for: 'Reboot', 'Rebuild', 'Target_Cleanup'
* specifies shell command sequence to cause build
* this references the script for the test, at:
* $FUEGO_TESTS_PATH/<test_name>/<script_name>.sh
* in the publishers section, it defines:
* script for post-test opeations
* functions.sh & post_test $TESTDIR
* /var/lib/jenkins/jobs/<test_name>/nextBuildNumber - changes for each run
* these files are found at:
* /home/jenkins/fuego/jobs/<test_name>
* fuego files:
* in /home/jenkins/fuego/jobs/<test_name>
* <test>-script.sh
* tarball
* reference.log
* parser.py
|
A test in Fuego is defined by:
* jenkins files:
* /var/lib/jenkins/jobs/<test_name>/config.xml - expected to be static
* asks user to select 'Device' (from list of targets)
* asks user to select 'TESTPLAN' (from list of testplans)
* provides form for: 'Reboot', 'Rebuild', 'Target_Cleanup'
* specifies shell command sequence to cause build
* this references the script for the test, at:
* $FUEGO_TESTS_PATH/<test_name>/<script_name>.sh
* in the publishers section, it defines:
* script for post-test opeations
* functions.sh & post_test $TESTDIR
* /var/lib/jenkins/jobs/<test_name>/nextBuildNumber - changes for each run
* these files are found at:
* /home/jenkins/fuego/jobs/<test_name>
* fuego files:
* in /home/jenkins/fuego/jobs/<test_name>
* <test>-script.sh
* tarball
* reference.log
* parser.py
|
|
= test elements table =
Here is the same information in table form
|
A test consists of the following files or items:
{{{#!Table
||File or item||format||location||description||test type||
||config.xml ||Jenkins XML||/var/lib/jenkins/jobs/{test_name} (aka /home/jenkins/fuego/jobs/{test_name}||Has the Jenkins (front-end) configuration for the test||all||
||tarfile ||tar format ||/home/jenkins/tests/{test_name}||Has the source code for the test program||all||
||patches ||patch format|| /home/jenkins/tests/{test_name}||Zero or more patches to customize the test program (applied during the unpack phase||all||
||base script ||shell script||/home/jenkins//tests/{test_name}||Is the shell script that implements the different test phases in Fuego||all||
||test spec ||JSON ||/home/jenkins/fuego/engine/overlays/test_specs||Has groups of variables (and their values) that can be used with this test||all||
||test plan(s)||JSON ||/home/jenkins/fuego/engine/overlays/testplans/testplan_default.json (and others)||Has the testplan(s) for this test||all||
||p/n logs ||text ||/home/jenkins/tests/{test_name}||Are logs with the results (positive or negative) parsed out, for determination of test pass/fail||functional only||
||parser.py ||python || /home/jenkins/tests/{test_name}||Python program to parse benchmark metrics out of the log, and provide a dictionary to the Fuego plotter||benchmarks only||
||reference.log||Fuego-specific|| /home/jenkins/{test_name}||Has the threshold values and comparison operators for benchmark metrics measured by the test||benchmarks only||
||line added to tests.info||JSON|| /home/jenkins/fuego/jobs/tests.info||provides the names of metrics to be plotted for this benchmark||benchmarks only||
|
A test consists of the following files or items:
{{{#!Table
||File or item||format||location||description||test type||
||config.xml ||Jenkins XML||/var/lib/jenkins/jobs/{test_name} (aka /home/jenkins/fuego/jobs/{test_name}||Has the Jenkins (front-end) configuration for the test||all||
||tarfile ||tar format ||/home/jenkins/tests/{test_name}||Has the source code for the test program||all||
||patches ||patch format|| /home/jenkins/tests/{test_name}||Zero or more patches to customize the test program (applied during the unpack phase||all||
||base script ||shell script||/home/jenkins//tests/{test_name}||Is the shell script that implements the different test phases in Fuego||all||
||test spec ||JSON ||/home/jenkins/fuego/engine/overlays/test_specs||Has groups of variables (and their values) that can be used with this test||all||
||test plan(s)||JSON ||/home/jenkins/fuego/engine/overlays/testplans/testplan_default.json (and others)||Has the testplan(s) for this test||all||
||p/n logs ||text ||/home/jenkins/tests/{test_name}||Are logs with the results (positive or negative) parsed out, for determination of test pass/fail||functional only||
||parser.py ||python || /home/jenkins/tests/{test_name}||Python program to parse benchmark metrics out of the log, and provide a dictionary to the Fuego plotter||benchmarks only||
||reference.log||Fuego-specific|| /home/jenkins/{test_name}||Has the threshold values and comparison operators for benchmark metrics measured by the test||benchmarks only||
||line added to tests.info||JSON|| /home/jenkins/fuego/jobs/tests.info||provides the names of metrics to be plotted for this benchmark||benchmarks only||
|
}}}
|
}}}
|
(See also Adding a test, Benchmark parser notes, parser.py, reference.log
|
(See also [[Adding a test]], [[Benchmark parser notes]], [[parser.py]], [[reference.log]]
|
|
|