FrontPage 

Fuego wiki

Login or create account

function run test in split format

NAME [edit section]

= NAME =
run_test

SYNOPSIS [edit section]

= SYNOPSIS =
Run a Fuego test using "ftc run-test"

DESCRIPTION [edit section]

batch tests to execute the sub-tests (child tests) that are part of the batch.
= DESCRIPTION =
This function can be used by a test to run another "nested" test.
It is used primarily by [[Using Batch Tests|batch tests]] to execute the sub-tests (child tests) that are part of the batch.
This runs the test on the board defined by $NODE_NAME, which is usually the same board as the parent (ie calling) test.
This runs the test on the board defined by $NODE_NAME, which is usually the same board as the parent (ie calling) test.
Usually, the caller will define the variable FUEGO_BATCH_ID, which is used to assign the sub-test to a group of tests. If FUEGO_BATCH_ID is not defined on entry to the function, it will be set to a value using the function allocate_next_batch_id.
Usually, the caller will define the variable FUEGO_BATCH_ID, which is used
to assign the sub-test to a group of tests.  If FUEGO_BATCH_ID is not defined
on entry to the function, it will be set to a value using the function
[[function_allocate_next_batch_id|allocate_next_batch_id]].
It is possible to control the timeout of the test using an 'ftc run-test' argument, or by setting the variable DEFAULT_TIMEOUT.
It is possible to control the timeout of the test using an 'ftc run-test' argument, or by setting the variable DEFAULT_TIMEOUT.
The result of the test is output and logged to the host-side log for the test. The format of the result line is similar to TAP13, but with a prefix, like so:
The result of the test is output and logged to the host-side log for the test.
The format of the result line is similar to TAP13, but with a prefix, like so:
  • [[$FUEGO_BATCH_ID]] (ok|not ok) $TC_NUM $TC_NAME
 * [''''''[$FUEGO_BATCH_ID]''''''] (ok|not ok) $TC_NUM $TC_NAME
That is, the line consists of the batch id in double-square brackets, followed by the result string (either 'ok' or 'not ok') followed by the testcase number and testcase name.
That is, the line consists of the batch id in double-square brackets, followed by the result string (either 'ok' or 'not ok') followed by the testcase number and testcase name.
You can control both the testcase number and testcase name explicitly using variables TC_NUM and TC_NAME, but if these are not specified the function will define them for you (and increment TC_NUM for you automatically).
You can control both the testcase number and testcase name explicitly using
variables TC_NUM and TC_NAME, but if these are not specified the function
will define them for you (and increment TC_NUM for you automatically).

EXAMPLES [edit section]

= EXAMPLES =
Here are some sample invocations:
Simple invocation: {{{#!YellowBox run_test Functional.hello_world }}}
Simple invocation:
{{{#!YellowBox
run_test Functional.hello_world
}}}
---- Invocation with FUEGO_BATCH_ID, and using 'ftc run-test' arguments {{{#!YellowBox FUEGO_BATCH_ID="my-prefix-$(allocate_next_batch_id)" run_test Functional.hello_world -s hello-random run_test Functional.LTP -s default --timeout 30m run_test Functional.stress --reboot true }}}
----
Invocation with FUEGO_BATCH_ID, and using 'ftc run-test' arguments 
{{{#!YellowBox
FUEGO_BATCH_ID="my-prefix-$(allocate_next_batch_id)"
run_test Functional.hello_world -s hello-random
run_test Functional.LTP -s default --timeout 30m
run_test Functional.stress --reboot true
}}}
Any 'ftc run-test' arguments can be used. The example above uses: * -s to specify a spec * --timeout to specify a timeout for the nested test * --reboot to request a reboot prior to the nested test
Any 'ftc run-test' arguments can be used.  The example above uses:
 * -s to specify a spec
 * --timeout to specify a timeout for the nested test
 * --reboot to request a reboot prior to the nested test
---- Invocation showing use of TC_NAME to set the testcase name for each sub-test: {{{#!YellowBox FUEGO_BATCH_ID="my-prefix-$(allocate_next_batch_id)" TC_NAME="cpu-performance" run_test Benchmark.Dhrystone TC_NAME="filesystem-performance" run_test Benchmark.IOzone -s nopread }}}
----
Invocation showing use of TC_NAME to set the testcase name for each sub-test:
{{{#!YellowBox
FUEGO_BATCH_ID="my-prefix-$(allocate_next_batch_id)"
TC_NAME="cpu-performance"
run_test Benchmark.Dhrystone
TC_NAME="filesystem-performance"
run_test Benchmark.IOzone -s nopread
}}}
---- Invocation showing use of DEFAULT_TIMEOUT, and explicit timeout:
----
Invocation showing use of DEFAULT_TIMEOUT, and explicit timeout:
{{{#!YellowBox
DEFAULT_TIMEOUT="5m"
run_test Functional.hello_world
run_test Functional.bc
run_test Functional.LTP --timeout 30m
}}}
The timeout for tests 'hello_world' and 'bc' would be 5 minutes, while the timeout for Functional.LTP would be 30 minutes.
The timeout for tests 'hello_world' and 'bc' would be 5 minutes, while the
timeout for Functional.LTP would be 30 minutes.

ENVIRONMENT and ARGUMENTS [edit section]

= ENVIRONMENT and ARGUMENTS =
Positional arguments:
 * $1 is the name of the test to run
 * $2.. are arguments to use with 'ftc run-test'
Environment variables: * NODE_NAME is the name of the board to run the test on * FUEGO_BATCH_ID (optional) - is an string used to identify the current batch. If not defined, a string is allocated using allocate_next_batch_id * DEFAULT_TIMEOUT (optional) indicates the timeout for the test. If not defined, a value of "30m" is used. The DEFAULT_TIMEOUT value will be used when none of the positional arguments defines a '--timeout' value for the test. * TC_NUM (optional) is the number of the sub-test. If not defined, a value of '1' is used. * TC_NAME (optional) is the name of the testcase. If not defined, a string consisting of the test name and the positional arguments is constructed and used as the testcase name.
Environment variables:
 * '''NODE_NAME''' is the name of the board to run the test on
 * '''FUEGO_BATCH_ID''' (optional) - is an string used to identify the current batch.  If not defined, a string is allocated using [[function_allocate_next_batch_id|allocate_next_batch_id]]
 * '''DEFAULT_TIMEOUT''' (optional) indicates the timeout for the test.  If not defined, a value of "30m" is used.  The DEFAULT_TIMEOUT value will be used when none of the positional arguments defines a '--timeout' value for the test.
 * '''TC_NUM''' (optional) is the number of the sub-test.  If not defined, a value of '1' is used.
 * '''TC_NAME''' (optional) is the name of the testcase.  If not defined, a string consisting of the test name and the positional arguments is constructed and used as the testcase name.

RETURN [edit section]

= RETURN =
Returns non-zero on error.

SOURCE [edit section]

= SOURCE =
Located in ''scripts/functions.sh''

SEE ALSO [edit section]

Using Batch Tests, allocate_next_batch_id, test_run
= SEE ALSO =
 * [[Using Batch Tests]], [[function_allocate_next_batch_id|allocate_next_batch_id]], [[function_test_run|test_run]]
TBWiki engine 1.8.3 by Tim Bird