www.delorie.com/gnu/docs/dejagnu/dejagnu_21.html   search  
Buy GNU books!

DejaGnu Testing Framework

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3.3 Utility Procedures

`lib/utils.exp' defines these utility procedures:

getdirs dir
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.

which binary
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 grep.

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 don't. If verbose is set, then it'll print the differences to the screen.

slay name
This look in the process table for name and send it a unix SIGINT, killing the process.

absolute path
This procedure takes the relative path, and converts it to an absolute path.

psource filename
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.

unsetenv var
Unsets the environment variable var

getenv var
returns the value of var in the environment if it exists, otherwise it returns NULL.

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.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003