Add a siggen test-harness test to cover various options that aren't covered elsewhere. Like the twadmin & twprint tests added in the last commit, this was motivated by gcov results showing that a 'make check' was missing a bunch of code paths, particularly around command line args and error handling.
This commit is contained in:
parent
a6c796a501
commit
121ccea9b5
|
@ -0,0 +1,143 @@
|
||||||
|
|
||||||
|
use twtools;
|
||||||
|
|
||||||
|
package siggen;
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# One time module initialization goes in here...
|
||||||
|
#
|
||||||
|
BEGIN {
|
||||||
|
$description = "siggen test";
|
||||||
|
}
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# Initialize, get ready to run this test...
|
||||||
|
#
|
||||||
|
sub initialize() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# Run the test.
|
||||||
|
#
|
||||||
|
sub run() {
|
||||||
|
|
||||||
|
my $twpassed = 1;
|
||||||
|
|
||||||
|
twtools::logStatus("*** Beginning $description\n");
|
||||||
|
printf("%-30s", "-- $description");
|
||||||
|
|
||||||
|
|
||||||
|
twtools::logStatus(`ps -ef > $twtools::twrootdir/hashme.txt`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("test file creation failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`mkfifo $twtools::twrootdir/donthashme.fifo`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("test fifo creation failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("no-args siggen failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -h -t -a`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("no-args siggen failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen --help`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen --help failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen --version`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("siggen --version failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen --asdf 2>&1`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen --asdf failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen $twtools::twrootdir/hashme.txt`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("siggen hashme.txt failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -a $twtools::twrootdir/hashme.txt`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("siggen -a hashme.txt failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -h -t -a $twtools::twrootdir/hashme.txt`);
|
||||||
|
if ( $? != 0 ) {
|
||||||
|
twtools::logStatus("siggen -h -t -a hashme.txt failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -a $twtools::twrootdir/donthashme.fifo`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen -a donthashme.fifo failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -h -t -a $twtools::twrootdir/donthashme.fifo`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen -h -t -a donthashme.fifo failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -a $twtools::twrootdir/no-existe.txt`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen -a no-existe.txt failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
twtools::logStatus(`$twtools::twrootdir/bin/siggen -h -t -a $twtools::twrootdir/no-existe.txt`);
|
||||||
|
if ( $? != 256 ) {
|
||||||
|
twtools::logStatus("siggen -h -t -a no-existe.txt failed\n");
|
||||||
|
$twpassed = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
#
|
||||||
|
# See if the tests all succeeded...
|
||||||
|
#
|
||||||
|
if ($twpassed) {
|
||||||
|
++$twtools::twpassedtests;
|
||||||
|
print "PASSED\n";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
++$twtools::twfailedtests;
|
||||||
|
print "*FAILED*\n";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# One time module cleanup goes in here...
|
||||||
|
#
|
||||||
|
END {
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
Loading…
Reference in New Issue