Test definition in 'raw' 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 = 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|| }}} (See also [[Adding a test]], [[Benchmark parser notes]], [[parser.py]], [[reference.log]]