Test_Script_APIs 

Fuego 1.5 wiki

Login or create account

Test Script APIs in 'raw' format

This page documents the Fuego core scripts functions.

The following functions are available to test scripts.

FIXTHIS - core functions: should document which of the functions are internal, and which are intended for test script use

= list of routines (by providing script) =
from functions.sh
 * [[function_assert_has_program|assert_has_program]] - check that a program is present on the target, and abort the test if it is missing
 * [[function_build|build]] - internal - perform the 'build' phase of test execution
 * [[function_build_cleanup|build_cleanup]] - internal - 
 * [[function_check_capability|check_capability]] - check to see if the target has the specified capability
 * [[function_cleanup|cleanup]] - clean up target after a test
    * calls [[function_test_cleanup|test_cleanup]], if present
 * [[function_cmd|cmd]] - to be used externally - execute a command on the target
 * [[function_concurrent_check|concurrent_check]] - wait for other test to complete before proceeding
 * [[function_deploy|deploy]] - internal - perform the 'deploy phase of test execution
 * [[function_dump_syslogs|dump_syslogs]] - dump the syslogs for the target under test
 * [[function_fetch_results|fetch_results]] - retrieve testlog and system logs for a test
    * also, call [[function_test_fetch_results|test_fetch_results]], if present
 * [[function_fail_check_cases|fail_check_cases]]
 * [[function_firmware|firmware]] - get the firmware name from the target
 * [[function_get|get]] - to be used externally - get a file or files from the target
 * [[function_get_testlog|get_testlog]]
 * [[function_hd_test_mount_prepare|hd_test_mount_prepare]]
 * [[function_hd_test_clean_umount|hd_test_clean_umount]]
 * [[function_is_abs_path|is_abs_path]] - check if a path is absolute (starts with /) or not
 * [[function_is_empty|is_empty]] - fail if an environment variable is empty
 * [[function_is_on_target|is_on_target]] - check if a program or file is on the target board
 * [[function_is_on_target_path|is_on_target_path]] - check if a program is in one of the directories in the PATH on the target board
 * [[function_kill_procs|kill_procs]] - kill process on the target
 * [[function_log_compare|log_compare]] - to be used by scripts (specifically by test_processing)
 * [[function_log_this|log_this]] - used to log output of operations performed on the host (as opposed to on the board)
 * [[function_pre_build|pre_build]] - internal
 * [[function_pre_deploy|pre_deploy]] - internal
 * [[function_pre_test|pre_test]] - internal
 * [[function_post_build|post_build]] - internal
 * [[function_post_deploy|post_deploy]] - internal
 * [[function_post_test|post_test]] - internal
 * [[function_processing|processing]] - internal
 * [[function_put|put]] - to be used externally - put a file or files on the target
 * [[function_report|report]] - to be used externally - execute command and put stdout into log
 * [[function_report_append|report_append]] - to be used externally - execute command and append stdout to log
 * [[function_report_devlog|report_devlog]]
 * [[function_report_live|report_live]] - to be used externally - execute command capture stdout live to a log on the host
 * [[function_safe_cmd|safe_cmd]] - to be used externally
 * [[function_snapshot|snapshot]] - internal
 * [[function_syslog_cmp|syslog_cmp]]
 * [[function_target_cleanup|target_cleanup]]
 * [[function_target_reboot|target_reboot]] - reboot the target
 * [[function_target_setup_route_to_host|target_setup_route_to_host]]
 * [[function_unpack|unpack]] - internal - used to unpack the test program source tarball

from common.sh
 * [[function_abort_job|abort_job]] - abort the current test, emitting a reason string to output
 * [[function_assert_define|assert_define]] - to be used externally - check that an environment variable is defined
 * [[function_run_python|run_python]]
 * [[function_dprint|dprint]] - print a 'debug' message
 * [[function_vprint|vprint]] - print a 'verbose' message
 * [[function_iprint|iprint]] - print an 'info' message
 * [[function_wprint|wprint]] - print a 'warning' message
 * [[function_eprint|eprint]] - print an 'error' message


from reports.sh
 * [[function_check_create_logrun|check_create_logrun]]
 * [[function_check_create_functional_logrun|check_create_functional_logrun]]
 * [[function_set_testres_file|set_testres_file]]
 * [[function_gen_report|get_report]]

from overlays.sh
 * [[function_set_overlay_vars|set_overlay_vars]] - internal - process overlays and set variables for board, platform, test plan and test specs

FIXTHIS - need to document the ov_* functions as well, from the scripts in the engine/overlays/base directory.

From base-distrib.fuegoclass:
 * [[function_ov_get_firmware|ov_get_firmware]]
 * [[function_ov_rootfs_reboot|ov_rootfs_reboot]]
 * [[function_ov_rootfs_state|ov_rootfs_state]]
 * [[function_ov_logger|ov_logger]]
 * [[function_ov_rootfs_sync|ov_rootfs_sync]]
 * [[function_ov_rootfs_drop_caches|ov_rootfs_drop_caches]]
 * [[function_ov_rootfs_oom|ov_rootfs_oom]]
 * [[function_ov_rootfs_kill|ov_rootfs_kill]]
 * [[function_ov_rootfs_logread|ov_rootfs_logread]]

From base-board.fuegoclass:
 * [[function_ov_board_setup|ov_board_setup]]
 * [[function_ov_board_teardown|ov_board_teardown]]
 * [[function_ov_transport_connect|ov_transport_connect]]
 * [[function_ov_transport_disconnect|ov_transport_disconnect]]
 * [[function_ov_transport_get|ov_transport_get]]
 * [[function_ov_transport_put|ov_transport_put]]
 * [[function_ov_transport_cmd|ov_transport_cmd]]
 * [[function_ov_board_control_reboot|ov_board_control_reboot]]

From base-funcs.fuegoclass:
 * [[function_default_target_route_setup|default_target_route_setup]]

From fuego_test.sh (in alphabetical order):
 * [[function_test_build|test_build]]
 * [[function_test_deploy|test_deploy]]
 * [[function_test_fetch_results|test_fetch_results]]
 * [[function_test_pre_check|test_pre_check]]
 * [[function_test_processing|test_processing]]
 * [[function_test_run|test_run]]
 * [[function_test_snapshot|test_snapshot]]

NOTE: phases are: pre_check, build, deploy, run, fetch_results, post_test, processing

Here are some known problems:
 * references to /home/jenkins
 * reference to OF_ROOT (not used anywhere)
 * some functions have been removed during refactoring
   * bench_processing
 * some functions have been added
   * (need to scan functions.sh, common.sh, etc.)
 * need to add functions that have pages, but are not linked to here
   * (need to scan [[ArticleIndex]])
 * need to check on what replaced a function:
   * [[function_build_error|build_error]] - to be used externally - report an error and abort the test
     * was used 44 times in fuego 1.0
       * all but 4 were from "| && touch ../test_suite_ready || build_error ..."
     * still called by Functional.ft2demos/fuego_test.sh

TBWiki engine 1.8.3 by Tim Bird