Tux Command-Line Parameters (Compact 2013)
3/26/2014
The Tux client provides much of the functionality for Tux. You can run the Tux client in stand-alone mode or in conjunction with the Windows Embedded Compact Test Kit (CTK) server.
Syntax
tux [-b] [-e] [-s file_name | -d test_dll] [-c parameters] [-r seed]
[-x test_case] [-g groups] [-g !groups] [-i iterations] [-x utest_case] [-x !test_case] [-l | -lv]
[-t address] [-n] [-h] [-u] [-k address] [-m]
[-o] [-f file_name] [-a] [-z timeout] [-w]
Parameters
Parameter |
Description |
-b |
Breaks after each Tux DLL loads. This parameter is often useful for debugging a Tux test DLL. Some debuggers require that a test module be physically loaded into memory before a breakpoint can be set in that test module. Because the Tux client dynamically loads test modules at run time, it can be difficult to set a valid breakpoint in your test module. The -b parameter forces the Tux client to break to the debugger after your test module has been fully loaded, but before any messages have been sent to your ShellProc function. This behavior gives you an opportunity to set a breakpoint in your test module and then resume execution. |
-e |
Disables exception handling. This parameter turns off the default exception handling built into the Tux client. By default, the Tux client traps all exceptions that occur while running in your module, reports them back to you and then continues running with the next test. The -e parameter is useful when debugging a Tux test module. |
-s filename |
Specifies the Tux suite file to load and execute. This parameter allows the Tux client to load a test suite file. A test suite file is a script of test DLL modules and test cases to run within each test module. If you use this parameter while running the CTK server with the -t parameter, the script loads but does not execute until directed to do so by the server. If you use this parameter in stand-alone mode without the -t parameter, the Tux client loads the script and immediately executes it. For Windows Embedded Compact, suite files can reside on the Windows Embedded Compact-based device across the CESH connection remotely. Tux first attempts to find the files on your development computer. If Tux fails to find the files on the development computer, Tux searches the Windows Embedded Compact-based device for the files. If you want to force Tux to search for files only on the target device, you can prefix the path with cesh:. The following command line shows the syntax for this option. tux -s cesh:test.tux You can also specify paths relative to the CESH directory on the device, as shown in the following command line. tux -s cesh:..\suites\test.tux |
-d test_dll |
Specifies the Tux DLL to load and execute. This parameter allows the Tux client to load one or more default test modules. You can use this parameter more than once for a given command line to load multiple Tux test modules. If you use this parameter while running the CTK server with the-t parameter, the test modules load but do not execute until directed to do so by the server. If you use this parameter in stand-alone mode with no -t parameter, the Tux client loads the test modules and immediately begins to execute the specified tests for each test module. For more information, see the descriptions for the -x and -l parameters. |
-c parameters |
Command line to pass to the Tux DLL. This parameter allows you to pass a parameter string to the Tux test DLL itself. The parameter string that you pass is associated with the DLL most recently specified with the -d parameter. This behavior allows you to specify different parameters for each Tux test DLL. If the string that you specify contains spaces or other special characters, then you should surround the string with quotation marks. |
-r seed |
Specifies the integer starting random seed. This parameter allows you to specify a starting random seed. The seed you pass is associated with the DLL most recently specified with the -d parameter. This behavior allows you to specify a different random seed for each Tux DLL. |
-x test_case |
Specifies which test cases to run. This parameter allows you to specify a test case or a range of test cases to run. You must specify the appropriate identifier for each test case, which may be obtained by using the -l parameter. The values you pass are associated with the DLL most recently specified on the command line with the -d parameter. This behavior allows you to specify different test cases for each Tux test DLL. You can specify this parameter multiple times for a single DLL, as shown in the following command line. tux -x10 -x15-20 You can also combine the ranges into a single parameter, as shown in the following command line. tux -x10,15-20 If you use this parameter while running the CTK server with the -t parameter, the test cases specified are selected but do not execute until directed to do so by the server. If you use this parameter in stand-alone mode with no -t parameter, then the Tux client load the test modules and immediately begins executing the specified tests for each test DLL module. If no -x parameter is specified for a given DLL, the default behavior is to run all tests when the Tux client runs in stand-alone mode. |
-g groups |
Specifies which test groups to run. |
-g !groups |
Specifies which test groups to exclude. |
-i iterations |
Specifies the number of times to execute the test suite. |
-x utest_case |
Specifies which test cases to run in random order. |
-x !test_case |
Specifies which test cases to exclude, as shown in the following command line. tux -x !10,12,15-20 |
-l |
Lists the test cases in the Tux DLL specified by the -d parameter. The listing shows the identifiers associated with each test case. You can use these identifiers with the -x parameter. When you use the -l parameter, all arguments other than -d are ignored. This parameter provides information and does not run any test cases. |
-lv |
With greater verbosity, lists the test cases in the Tux DLL specified by the -d parameter. |
-t address |
Specifies the name of the computer running the CTK server. Use -t with no arguments to specify a local server. This parameter specifies the location of the CTK server. The address parameter can be a computer name or an IP address. If you do not use the -t parameter, Tux assumes stand-alone mode. You must specify either the -s parameter to load and execute a test suite or the -d parameter to load and execute a test module. If no address is given with the -t parameter, the Tux client uses the IP address of the development computer. |
-n |
Runs tests in kernel mode. This parameter causes tests to be run in kernel mode using ktux.dll. This flag requires the user to have sufficient privilege to load in the kernel.
Note:
Processes running under kernel mode cannot be terminated through target control, so the kp command in target control will not be able to terminate the process.
|
-h |
Displays the list of command line parameters for Tux. |
-u |
Randomizes the test case order of all test dll's following this flag. |
The following table shows the Tux parameters that are enabled when Kato.dll is present.
Parameter |
Description |
-k address |
Specifies the name of the computer running the CTK server. Use -k with no arguments to specify a local server. The address parameter can be a computer name or an IP address. If no address is given with the -t parameter, the Tux client uses the IP address of the development computer. This parameter sends all Kato output to the CTK server. This output is in addition to the output to a file and the debugger, if you specify the -f and -o parameters. |
-m |
Sends all output to an XML file. |
-o |
Logs all Kato output to the debugger. This output is in addition to the output to the CTK server and a file, if you specify the -k and -f parameters. |
-f filename |
Logs all Kato output to output file filename. This output is in addition to the output to the CTK server and the debugger, if you specify the -k and -o parameters. The default behavior is to overwrite any existing file of the same name. To override the default behavior and append information to the file, use the -a parameter along with the -f parameter. For Windows Embedded Compact, you can prefix the file name with cesh: if you want to create the file on the Release Directory File System (Relfsd) of a device through the CESH connection. The following command line shows this technique. tux -d test.dll -f cesh:test.txt You can also specify paths relative to the CESH directory on the device, as shown by the following command line. tux -d test.dll -f cesh:..\logs\test.txt If cesh: is not specified, the file is created on the device. |
-a |
Appends data to the output file. Use this parameter with the -f parameter. This parameter can be used with the -f parameter to append data to a log file rather than overwriting the existing log file. |
-w |
Opens LogFile in write mode. Use this parameter with the -f parameter. |
The following table shows a Tux parameter that is enabled when Toolhelp.dll is present.
Parameter |
Description |
-z timeout |
Cancels an existing run of the Tux DLL that is specified by the -d parameter. If you specify -z with no arguments, Tux exits after the current test case in the specified Tux DLL ends. If you specify a timeout value, Tux waits for as long as the specified number of seconds for the test case to end. If the test case does not end after the specified wait time, Tux exits. For example, if Tux is running the Gdiapi.dll test module and you run the command tux -d gdiapi.dll -z05, Tux waits 5 seconds for the current test case in Gdiapi.dll to end, and then exits. Put the timeout number immediately after the -z flag, with no space between them. |
Remarks
The -k, -m,-o, -f, and -a parameters are available only if Kato.dll is present. Kato.dll is the Kato Logging Engine used by most Tux test modules. Tux does not require Kato, but Kato is the recommended logging engine if you want to include logging in your test modules.
A space is not required between a command line parameter and its argument. For example, the following two command lines are equivalent.
tux -t tuxdemo.dll
tux -ttuxdemo.dll
You must specify each command line parameter separately. For example, the following command line is valid.
tux -b -e
However, the following command line is invalid.
tux -be