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