[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Thu, 10 Jan 2019 19:12:08 -0600
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:188.8.131.52) Gecko/20090807 MultiZilla/184.108.40.206e SeaMonkey/1.1.17 Mnenhy/0.7.6.0
shruthi k wrote:
I'm trying to add a test case to an existing testsuite.
This is somewhat covered in section 5.6 "Writing a test case" in the
manual. This can also be dependent on the testsuite itself: some
testsuites search for certain input files and automatically run all
files matching some criteria through a test while others require all
tests be explicitly listed in Tcl code.
Off-list and in the wrong thread, you mentioned adding a "single test
script", so I will assume that you already know that you will need to
write some Expect code. First, choose a tool-and-test-group directory.
Using current Git DejaGnu as an example
used in this writing), there are, within the testsuite directory,
directories for four tools: launcher, libdejagnu, report-card, and
runtest. The libdejagnu directory is ancient and is simply the name of
its tool, but DejaGnu searches for any directories beginning with the
tool name, and a null suffix is still accepted for backwards
compatibility. Modern practice is to separate the tool name from a test
group name with a single dot, as seen in the launcher.all,
report-card.all, and runtest.* directories. The runtest tests are the
most complex and are divided into two groups: main and libs,
respectively found in the runtest.main and runtest.libs directories.
Your testsuite should have a similar layout, with directories inside
"testsuite". Choose one of those that begins with an appropriate prefix
(the name of the tool your test tests) and create an *.exp file for your
test script, like "example.exp", but obviously change "example" to
something meaningful for your test script. The test script itself
should somehow automate running the tool and verifying a result,
eventually calling "pass", "fail", or "unresolved" procedures to report
a result. (see section 1.4 "A POSIX compliant test framework" in the
manual for more information)
Also,could you please send links/info on how to run an individual test.
This is covered (briefly) near the end of the "Invoking runtest" section
of the manual. In short, you can cause DejaGnu to run only tests from
one or more specific scripts by simply naming them on the command line.
There is also an option to pass arguments to a test script run in this
way, but what exactly DejaGnu *does* with that argument and how it is
passed in to the test script is not yet documented. (>-<) (added to
local TODO list)