DejaGnu Testing Framework
5.3.3 Utility Procedures
`lib/utils.exp' defines these utility procedures:
getdirs dir pattern
Returns a list of all the directories in the single directory dir
that match pattern. If you do not specify pattern,
getdirs assumes `*'. You may use the common shell wildcard
characters in pattern. If no directories match the pattern, then a
NULL string is returned.
find dir pattern
Search for files whose names match pattern (using shell wildcard
characters for filename expansion). Search subdirectories recursively,
starting at dir. The result is the list of files whose names
match; if no files match, the result is empty. Filenames in the result
include all intervening subdirectory names. If no files match the
pattern, then a
NULL string is returned.
Searches the execution path for an executable file binary, like
the the BSD
which utility. This procedure uses the shell
environment variable `PATH'. It returns
0 if the binary is
not in the path, or if there is no `PATH' environment variable. If
binary is in the path, it returns the full path to binary.
grep filename regexp
grep filename regexp line
Search the file called filename (a fully specified path) for lines
that contain a match for regular expression regexp. The result is
a list of all the lines that match. If no lines match, the result is an
empty string. Specify regexp using the standard regular
expression style used by the Unix utility program
Use the optional third argument `line' to start lines in the result
with the line number in filename. (This argument is simply an
option flag; type it just as shown---`line'.)
diff filename filename
Compares the two files and returns a 1 if they match, or a 0 if they
verbose is set, then it'll print the differences to the
This look in the process table for name and send it a unix
SIGINT, killing the process.
This procedure takes the relative path, and converts it to an
This sources the file filename, and traps all errors. It also
ignores all extraneous output. If there was an error it returns a 1,
otherwise it returns a 0.
prune list pattern
Remove elements of the Tcl list list. Elements are fields
delimited by spaces. The result is a copy of list, without any
elements that match pattern. You can use the common shell
wildcard characters to specify pattern.
setenv var val
Sets the variable var to the value val.
Unsets the environment variable var
returns the value of var in the environment if it exists,
otherwise it returns
runtest_file_p runtests testcase
Search runtests for testcase and return 1 if found, 0 if not.
runtests is a list of two elements. The first is a copy of what was
on the right side of the
= if `foo.exp="..."' was specified,
or an empty string if no such argument is present. The second is the
pathname of the current testcase under consideration.
This is used by tools like compilers where each testcase is a file.
prune_system_crud system text
For system system, delete text the host or target operating system might
issue that will interfere with pattern matching of program output in
text. An example is the message that is printed if a shared library
is out of date.