beakerlib-testing

Langue: en

Version: 2010-05-12 (fedora - 01/12/10)

Section: 1 (Commandes utilisateur)

NAME

BeakerLib - testing - asserting functions, watchdog and report

DESCRIPTION

This file contains functions related directly to testing. These functions are various asserts affecting final result of the phase. Watchdog and the report result function is included as well.

FUNCTIONS

Manual Asserts

rlPass

Manual assertion, asserts and logs PASS.

     rlPass comment
 
 
comment
Short test summary.

Returns 0 and asserts PASS.

rlFail

Manual assertion, asserts and logs FAIL.

     rlFail comment
 
 
comment
Short test summary.

Returns 1 and asserts FAIL.

Arithmetic Asserts

rlAssert0

Assertion checking for the equality of parameter to zero.

     rlAssert0 comment value
 
 
comment
Short test summary, e.g. ``Test if compilation ended successfully''.
value
Integer value (usually return code of a command).

Returns 0 and asserts PASS when "value == 0".

rlAssertEquals

Assertion checking for the equality of two parameters.

     rlAssertEquals comment value1 value2
 
 
comment
Short test summary, e.g. ``Test if all 3 packages have been downloaded''.
value1
First parameter to compare, can be a number or a string
value2
Second parameter to compare, can be a number or a string

Returns 0 and asserts PASS when "value1 == value2".

rlAssertNotEquals

Assertion checking for the non-equality of two parameters.

     rlAssertNotEquals comment value1 value2
 
 
comment
Short test summary, e.g. ``Test if return code is not 139''.
value1
First parameter to compare, can be a number or a string
value2
Second parameter to compare, can be a number or a string

Returns 0 and asserts PASS when "value1 != value2".

rlAssertGreater

Assertion checking whether first parameter is greater than the second one.

     rlAssertGreater comment value1 value2
 
 
comment
Short test summary, e.g. ``Test whether there are running more instances of program.''
value1
Integer value.
value2
Integer value.

Returns 0 and asserts PASS when "value1 > value2".

rlAssertGreaterOrEqual

Assertion checking whether first parameter is greater or equal to the second one.

     rlAssertGreaterOrEqual comment value1 value2
 
 
comment
Short test summary (e.g. ``There should present at least one...'')
value1
Integer value.
value2
Integer value.

Returns 0 and asserts PASS when "value1 >= value2".

File Asserts

rlAssertExists

Assertion checking for the existence of a file.

     rlAssertExists file
 
 
file
Path to the file.

Returns 0 and asserts PASS when "file" exists.

rlAssertNotExists

Assertion checking for the non-existence of a file.

     rlAssertNotExists file
 
 
file
Path to the file.

Returns 0 and asserts PASS when "file" does not exist.

rlAssertGrep

Assertion checking if the file contains a pattern.

     rlAssertGrep pattern file [options]
 
 
pattern
Regular expression to be searched for.
file
Path to the file.
options
Optional parameters to be passed to grep, default is "-q". Can be used to perform case insensitive matches (-i), or using extended (-E) or perl (-P) regular expressions.

Returns 0 and asserts PASS when "file" exists and contains given "pattern".

rlAssertNotGrep

Assertion checking that the file does not contain a pattern.

     rlAssertNotGrep pattern file [options]
 
 
pattern
Regular expression to be searched for.
file
Path to the file.
options
Optional parameters to be passed to grep, default is "-q". Can be used to perform case insensitive matches (-i), or using extended (-E) or perl (-P) regular expressions.

Returns 0 and asserts PASS when "file" exists and does not contain given "pattern".

rlAssertDiffer

Assertion checking that two files differ (are not identical).

     rlAssertDiffer file1 file2
 
 
file1
Path to first file1
file2
Path to second file

Returns 0 and asserts PASS when "file1" and "file2" differs.

rlAssertNotDiffer

Assertion checking that two files do not differ (are identical).

     rlAssertNotDiffer file1 file2
 
 
file1
Path to first file1
file2
Path to second file

Returns 0 and asserts PASS when "file1" and "file2" do not differ.

Run, Watch, Report

rlRun

Run command with optional comment and make sure its exit code matches expectations.

     rlRun [-t] [-l] [-s] command [status[,status...]] [comment]
 
 
-t
If specified, stdout and stderr of the command output will be tagged with strigs 'STDOUT: ' and 'STDERR: '.
-l
If specified, output of the command (tagged, if -t was specified) is logged using rlLog function.
-s
Store stdout and stderr to a file (mixed together, as the user would see it on a terminal) and set $rlRun_LOG variable to name of the file. Caller is responsible for removing the file. When -t option is used, the content of the file becomes tagged too.

If the -s option is not used, $rlRun_LOG is not modified and keeps its content from the last ``rlRun -s''.

command
Command to run.
status
Expected exit code(s). Optional, default 0. If you expect more exit codes, separate them with comma (e.g. ``0,1'' when both 0 and 1 are OK and expected), or use from-to notation (i.e. ``2-5'' for ``2,3,4,5''), or combine them (e.g. ``2-4,26'' for ``2,3,4,26'').
comment
Short summary describing the action (optional, but recommended - explain what are you doing here).

Returns the exit code of the command run. Asserts PASS when command's exit status is in the list of expected exit codes.

Note: The output of rlRun is buffered when using "-t", "-l" or "-s" option (they use unix pipes, which are buffered by nature). If you need an unbuffered output just make sure that "expect" package is installed on your system (its ``unbuffer'' tool will automatically be used to produce unbuffered output).

rlWatchdog

Run "command". If it does not finish in specified time, then kill it using "signal".

     rlWatchdog command timeout [signal]
 
 
command
Command to run.
timeout
Timeout to wait, in seconds.
signal
Signal to use (optional, default KILL).

Returns 0 if the command ends normally, without need to be killed.

rlReport

Report test result to the test harness. The command to be used for reporting is set by the respective plugin. You can also use the $BEAKERLIB_COMMAND_REPORT_RESULT variable to use your custom command.

     rlReport name result [score] [log]
 
 
name
Name of the test result.
result
Result (one of PASS, WARN, FAIL). If called with something else, will use WARN.
score
Test score (optional).
log
Optional log file to be submitted instead of default "OUTPUTFILE".

AUTHORS

*
Ondrej Hudlicky <ohudlick@redhat.com>
*
Petr Muller <pmuller@redhat.com>
*
Jan Hutar <jhutar@redhat.com>
*
Petr Splichal <psplicha@redhat.com>
*
Ales Zelinka <azelinka@redhat.com>