Events

tbot creates while executing testcases so called events. After tbot ended with the testcase it can call event_backends, which convert the events to different formats.

There are standard Events which tbot create automatically, for example the Event “Start” is created when tbot starts a new Testcase.

It is also possible to create Testcases specific Events. Therefore a Testcase only has to call the function create_event()

Eventlist

current created standard Events

Event-ID content
log log content
Boardname Name of board
BoardnameEnd End of tests for Boardname
Start Start of TC
StartFkt Start of TC function
End End of TC

Testcases specific Events

Event-ID content
Toolchain used Toolchain
Event-ID content
PW_NR current patchwork patchnumber
PW_CLEAN current patchworknumber patch is clean or not
PW_AA current patchworknumber patch is already applied
PW_APPLY current patchworknumber patch is applies clean or not
Event-ID content
UBOOT_DEFCONFIG used U-Boot configuration
UBOOT_SRC_PATH path, where U-boot source is located
Event-ID content
UBOOT_TEST_PY path to test py result
Event-ID content
UBOOT_VERSION U-Boot/SPL version
Event-ID content
LINUX_VERSION Linux version
Event-ID content
LINUX_DEFCONFIG used Linux configuration
LINUX_SRC_PATH path, where Linux source is located
Event-ID content
SET_DOC_FILENAME set a name for the logfile

DUTS variables

When activating the documentation backend, the DUTS_ values are saved in the file: self.tb.workdir + ‘/logfiles/duts_settings.txt’

You can later use them in your board documentation.

Event-ID content
DUTS_UBOOT_VERSION U-Boot version ‘undef’ if not found
DUTS_SPL_VERSION SPL version, ‘undef’ if not found
Event-ID content
DUTS_LINUX_TOP_COUNT
tb.config.tc_linux_top_count
How many times top cycles measured
DUTS_LINUX_TOP_SEC
tb.config.tc_linux_top_sec
Intervall between 2 measurements

get some values from U-Boot configuration into tbot variables

Event-ID content
DUTS_UBOOT_SDRAM_BASE
tb.config.tc_ub_memory_ram_ws_base
SDRAM base
DUTS_UBOOT_SDRAM_BASE_ALT
tb.config.tc_ub_memory_ram_ws_base_alt
Alternate SDRAM base
DUTS_UBOOT_ARCH
tb.config.uboot_arch
U-Boot architecture

extract content of newest file tmp/log/cooker/<machine>/

Event-ID content
DUTS_NOTE notes from bitbake
DUTS_BB_VERSION bitbake version
DUTS_BUILD_SYS build system
DUTS_NATIVELSBSTRING native lsb string
DUTS_TARGET_SYS target system
DUTS_MACHINE machine
DUTS_DISTRO_VERSION distro version

extract the yocto version in /etc/version from a rootfs tarball.

Event-ID content
DUTS_YOCTO_VERSION
tb.config.tc_yocto_get_rootfs_from_tarball_rootfs_version
found yocto version in /etc/version

demos

dashboard

pick some Events and put the content into a MYSQL database. Now the DB content can be readen with a simple php script to create a webpage, see for a minimal example:

http://xeidos.ddns.net/tests/test_db_auslesen.php

statistic

use gnuplot for creating a statistic image of called testcases.

http://xeidos.ddns.net/tbot/id_189/statistic.jpg

dot

Use the Eventinformation for creating nice DOT graphics from the test. see a raw example:

Demo Output of a git bisect Demotestcase

jenkins

create a junit xml file, which jenkins understands.

http://xeidos.ddns.net/jenkins

username: bbb

password: bbb

To see an example jenkins integration for the BBB building current yocto pyro, current mainline U-Boot, current LTS 4.14 xenomai patched kernel, with xenomai tools.

planned Event backends:

kernel CI:

adapt to a format, so the testresults can be presented at kernel CI (just an idea...)