During test execution, Fuego collects several different logs.
|
{{TableOfContents}}
During test execution, Fuego collects several different logs.
|
These represent different aspects of the system, and are used for different
purposes.
|
These represent different aspects of the system, and are used for different
purposes.
|
FIXTHIS - finish documenting log files on the Log files page.
Specifically, document parsed logs, pn logs, reference logs, and logfile locations in the container.
|
FIXTHIS - finish documenting log files on the Log files page.
Specifically, document parsed logs, pn logs, reference logs, and logfile locations in the container.
|
Here are the main logs collected or generated during a test:
* console log
* devlog
* syslog
* test log
* parsed log
|
Here are the main logs collected or generated during a test:
* '''console log'''
* '''devlog'''
* '''syslog'''
* '''test log'''
* '''parsed log'''
|
The following files are also used during a test:
* pn log
* reference log
|
The following files are also used during a test:
* '''pn log'''
* '''reference log'''
|
|
= console log =
The console log is collected by Jenkins during the entire execution of
the test. It is dominated by the invocation of the test base script,
which is executed as a shell script, with the 'set -x' parameter set.
|
During execution of the base script, several "source" statements
are encountered, nesting the invocation of scripts multiple times.
The number of '+' signs preceding a line in the console log indicates
the depth (or invocation nesting level) for that line, in the shell
execution.
|
During execution of the base script, several "source" statements
are encountered, nesting the invocation of scripts multiple times.
The number of '+' signs preceding a line in the console log indicates
the depth (or invocation nesting level) for that line, in the shell
execution.
|
There are "phase" messages added to the log during the test, which can help
identify which part of the test a particular sequence is in. This can help you debug what part of a test (pre_test, build, deploy, run, post_test) is failing, if any.
|
There are "phase" messages added to the log during the test, which can help
identify which part of the test a particular sequence is in. This can help you debug what part of a test (pre_test, build, deploy, run, post_test) is failing, if any.
|
The second major part of the script is the post_test phase, which is
also executed as a shell script fragment, utilizing the prolog generated
previously, and documenting the gather of logs and determination of
final test result.
|
The second major part of the script is the post_test phase, which is
also executed as a shell script fragment, utilizing the prolog generated
previously, and documenting the gather of logs and determination of
final test result.
|
The location of the console log for a test run is at: /home/jenkins/fuego/jobs/<testname>/builds/<testnum>/log
|
The location of the console log for a test run is at: ''/home/jenkins/fuego/jobs/<testname>/builds/<testnum>/log''
|
report_devlog to add a line to this
log.
|
= devlog =
This is a summarized list of operations performed during the execution
of a test. These entries are created when internal routines use
the function [[function_report_devlog|report_devlog]] to add a line to this
log.
|
The location of the devlog for a test run is in a file: /userdata/logs/<testname>/devlogs/<target>.<timestamp>.<testnum>.txt
|
The location of the devlog for a test run is in a file: ''/userdata/logs/<testname>/devlogs/<target>.<timestamp>.<testnum>.txt''
|
|
= syslog =
The syslog records the messages from the target system's log. There are two
of these recorded, one during the pre_test (called the "before" log), and one
during the post_test (called the "after" log).
|
This includes messages from the kernel (if a logger is transferring the messages
from the kernel to the system log), as well as messages from programs
running on the system (that output to their status to the syslog).
|
This includes messages from the kernel (if a logger is transferring the messages
from the kernel to the system log), as well as messages from programs
running on the system (that output to their status to the syslog).
|
The location of the system logs for a test run are in the files: /userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.[before|after]
|
The location of the system logs for a test run are in the files: ''/userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.[before|after]''
|
|
= test log =
This is the output produced by the test program itself. It is collected with
the ''report'' and ''report_append'' functions, which save the
standard output from the commands they run into a log file which is retrieved
from the target at the end of the test.
|
The 'parsed' version of the log, is one that has been grep'ed for a regular expression using log_compare. The parsed log should consist of individual lines showing a pass, fail or skip for each sub-test in a test suite.
|
The 'parsed' version of the log, is one that has been grep'ed for a regular expression using log_compare. The parsed log should consist of individual lines showing a pass, fail or skip for each sub-test in a test suite.
|
The location of the test log for a test run is in the file:
/userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.log
|
The location of the test log for a test run is in the file:
''/userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.log''
|
The location of the parsed test log for a test run is in the file:
/userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.{4}.log
|
The location of the parsed test log for a test run is in the file:
''/userdata/logs/<testname>/systemlogs/<target>.<timestamp>.<testnum>.{4}.log''
|
|
= new locations =
In the Jenkins integration refactoring (early 2017), the log directories were
changed as follows:
* fuego logs:
* /fuego-rw/logs/<testname>/<target>.<timestamp>.<buildnum>
* run.json - saved by ftc:run_test
* devlog.txt - written by report_devlog
* syslog.before.txt - saved by ov_rootfs_logread (dump_syslogs)
* syslog.after.txt - saved by ov_rootfs_logread
* testlog.txt - saved by get_testlog
* testlog.p.txt - created by
* consolelog.txt - created by ftc
* jenkins files:
* /var/lib/jenkins/jobs/<jobname>/builds/buildnum
* build.xml
* changelog.xml
* log - console log created by Jenkins
|
- per-test data files:
* /fuego-rw/logs/<testname>
* plot.data
* plot.png
* metrics.json - list of metrics for this test
* <testname>.<metric>.json - list of data values for a metric
* <testname>.info.json - list of meta-data for each data line (device, firmware, platform data points)
|
* per-test data files:
* /fuego-rw/logs/<testname>
* plot.data
* plot.png
* metrics.json - list of metrics for this test
* <testname>.<metric>.json - list of data values for a metric
* <testname>.info.json - list of meta-data for each data line (device, firmware, platform data points)
|