Default drivers report to console and logfiles.Ī message identification mechanism for which all the messages are To testcases report results via the report API, which are handled byĭrivers defined following tcfl.tc.report_driver_c, which canīe subclassed and extended to report to different destinationsĪccording to need. All the instances will then be run in parallel throgh a Instance of each testcase for those groups of targets where it has to Whih testcases have to be run on which targets, and then create an The runner will collect the list of available targets and determine Testcases can manipulate targets (if they need any) by using Implementing the different methods the meta runner will call toĮvaluate. Testcases are defined also by subclassing tcfl.tc.tc_c and Subclassing tcfl.tc.tc_c and extending or redefining The backbone is designed so multiple drivers (test case drivers) canīe implemented that find test cases and specify to the backbone how toīuild, run and test for success or failure. Tests) or in remote targets (for dynamic tests). Host the evaluation phases can happen in the local host (for static The configuration, build and deployment phases happen in the local (each consisting of setup, start, evaluation per se, teardown) Interface to flash the target using ioc_flash_server_app Interface to provide flash the target using fastboot Power control module to start a socat daemon when a network is powered-on Power control module to start a rsync daemon when a network is powered-on Interaction with JTAGs and similar using OpenOCD Drivers to create targets on virtual machine using QEMU Power control module to start DHCP daemon when a network is powered on
Access target’s serial consoles / bidirectional channels Configuration API for PDUs and other power switching equipment Configuration API for MCUs used with the Zephyr OS and others Configuration API for capturing audio and video Example: Reading the console(s) from HTTP
Zephyr’s Sanit圜heck testcase.ini driver for testcase integration Create and remove network tunnels to the target via the server Copy files from and to the server’s user storage area Run commands to the target and copy files back and forth using SSH Run commands a shell available on a target’s serial console Power on or off the target or any its power rail components Flash the target with ioc_flash_server_app Flash the target with JTAGs and other mechanism Raw access to the target’s serial consoles Capture snapshots or streams of target data, such as screenshots, audio, video, network, etc
Provisioning OS: partitioning schema for multiple root FSs per device Provisioning OS: bootloader configuration for EFI systems Provisioning/deploying/flashing PC-class devices with a Provisioning OS TCF’s backbone test case finder and runner TCF run: testcase API and target manipulation during testcases Rationales and Frequently Asked Questions