mirror of
https://github.com/wolfcw/libfaketime.git
synced 2026-05-17 08:36:28 +03:00
40 lines
1.6 KiB
Plaintext
40 lines
1.6 KiB
Plaintext
# here's how the testframe script works.
|
|
#
|
|
# Usage for testing:
|
|
# usage: testframe.sh DIR
|
|
# testframe.sh runs each testsuite script found within DIR.
|
|
# (in the context of libfaketime, the DIR is functest.)
|
|
# exits with status 0 if all tests succeed.
|
|
#
|
|
# Interface:
|
|
# by convention, each testsuite script (within DIR) must be
|
|
# a bash script named test_*.sh. the script must define a
|
|
# function named "run". run takes no arguments. run is
|
|
# expected to call the framework-provided function
|
|
# run_testcase once for each test function. run_testcase
|
|
# uses the global vars NFAIL and NSUCC to keep track of how
|
|
# many testcases failed/succeeded.
|
|
#
|
|
# the test function is expected to call something like
|
|
# asserteq or assertneq (again, framework-provided).
|
|
#
|
|
# fine print: for each testsuite, the framework creates a
|
|
# subshell and dots in the script. also dotted in are
|
|
# testframe.inc and DIR/common.inc (if it exists). the
|
|
# testsuite script can make use of any functions defined
|
|
# in these inc files. the environment variable
|
|
# TESTSUITE_NAME is set to the filename of the testsuite
|
|
# script, for possible use in warning or info messages.
|
|
#
|
|
# see functests/test_true.sh for a simple example of
|
|
# a test suite script.
|
|
#
|
|
# Simple steps to add a new testsuite:
|
|
# 1. decide its name - eg, XXX.
|
|
# 2. choose a DIR of similar testsuites to put it in, or create a new one.
|
|
# 3. create DIR/test_XXX.sh.
|
|
# 4. write a run function and testcase functions in DIR/test_XXX.sh.
|
|
# 5. within the run function, call run_testcase for each testcase function.
|
|
# 6. within each testcase function, call assertneq or asserteq, or do
|
|
# the equivalent.
|