DejaGnu uses a named array in Tcl to hold all the info for each machine. In the case of a canadian cross, this means host information as well as target information. The named array is called target_info, and it has two indices. The following fields are part of the array.
In the user editable second section of the Personal Config File you can not only override the configuration variables captured in the first section, but also specify default values for all on the runtest command line options. Save for --debug, --help, and --version, each command line option has an associated Tcl variable. Use the Tcl set command to specify a new default value (as for the configuration variables). The following table describes the correspondence between command line options and variables you can set in site.exp. Invoking Runtest, for explanations of the command-line options.
Table 3-1. Tcl Variables For Command Line Options
runtest | Tcl | option | variable | description |
---|---|---|---|---|
--all | all_flag | display all test results if set | ||
--baud | baud | set the default baud rate to something other than 9600. | ||
--connect | connectmode | rlogin, telnet, rsh, kermit, tip, or mondfe | ||
--outdir | outdir | directory for tool.sum and tool.log. | ||
--objdir | objdir | directory for pre-compiled binaries | ||
--reboot | reboot | reboot the target if set to "1"; do not reboot if set to "0" (the default). | ||
--srcdir | srcdir | directory of test subdirectories | ||
--strace | tracelevel | a number: Tcl trace depth | ||
--tool | tool | name of tool to test; identifies init, test subdir | ||
--verbose | verbose | verbosity level. As option, use multiple times; as variable, set a number, 0 or greater. | ||
--target | target_triplet | The canonical configuration string for the target. | ||
--host | host_triplet | The canonical configuration string for the host. | ||
--build | build_triplet | The canonical configuration string for the build host. | ||
address | Email the output log to the specified address. |
The personal config file is used to customize runtest's behaviour for each person. It's typically used to set the user prefered setting for verbosity, and any experimental Tcl procedures. My personal ~/.dejagnurc file looks like:
Example 3-12. Personal Config File
set all_flag 1 set RLOGIN /usr/ucb/rlogin set RSH /usr/local/sbin/ssh |
Here I set all_flag so I see all the test cases that PASS along with the ones that FAIL. I also set RLOGIN to the BSD version. I have Kerberos installed, and when I rlogin to a target board, it usually isn't supported. So I use the non secure version rather than the default that's in my path. I also set RSH to the SSH secure shell, as rsh is mostly used to test unix machines within a local network here.