From ea65ba67650384cf726ad9c07c735700c4cf6b98 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 25 Mar 2009 23:15:25 +0000 Subject: Purge testrunner svn path=/trunk/dom/; revision=6888 --- test/testrunner.pl | 147 ----------------------------------------------------- 1 file changed, 147 deletions(-) delete mode 100644 test/testrunner.pl (limited to 'test') diff --git a/test/testrunner.pl b/test/testrunner.pl deleted file mode 100644 index 00c54e7..0000000 --- a/test/testrunner.pl +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/perl -# -# Testcase runner for libhubbub -# -# Usage: testrunner -# -# Operates upon INDEX files described in the README. -# Locates and executes testcases, feeding data files to programs -# as appropriate. -# Logs testcase output to file. -# Aborts test sequence on detection of error. -# - -use warnings; -use strict; -use File::Spec; -use IPC::Open3; - -# Get EXE extension (if any) -my $exeext = ""; -$exeext = shift @ARGV if (@ARGV > 0); - -# Open log file and /dev/null -open(LOG, ">log") or die "Failed opening test log"; -open(NULL, "+<", File::Spec->devnull) or die "Failed opening /dev/null"; - -# Open testcase index -open(TINDEX, ") { - next if ($line =~ /^(#.*)?$/); - - # Found one; decompose - (my $test, my $desc, my $data) = split /\t+/, $line; - - # Strip whitespace - $test =~ s/^\s+|\s+$//g; - $desc =~ s/^\s+|\s+$//g; - $data =~ s/^\s+|\s+$//g if ($data); - - # Append EXE extension to binary name - $test = $test . $exeext; - - print "Test: $desc\n"; - - my $pid; - - if ($data) { - # Testcase has external data files - - # Open datafile index - open(DINDEX, "<./data/$data/INDEX") or - die "Failed opening ./data/$data/INDEX"; - - # Parse datafile index, looking for datafiles - while (my $dentry = ) { - next if ($dentry =~ /^(#.*)?$/); - - # Found one; decompose - (my $dtest, my $ddesc) = split /\t+/, $dentry; - - # Strip whitespace - $dtest =~ s/^\s+|\s+$//g; - $ddesc =~ s/^\s+|\s+$//g; - - print LOG "Running ./$test ./data/Aliases " . - "./data/$data/$dtest\n"; - - # Make message fit on an 80 column terminal - my $msg = " ==> $test [$data/$dtest]"; - $msg = $msg . "." x (80 - length($msg) - 8); - - print $msg; - - # Run testcase - $pid = open3("&&NULL", - "./$test", "./data/Aliases", - "./data/$data/$dtest"); - - my $last; - - # Marshal testcase output to log file - while (my $output = ) { - print LOG " $output"; - $last = $output; - } - - # Wait for child to finish - waitpid($pid, 0); - - print substr($last, 0, 4) . "\n"; - - # Bail, noisily, on failure - if (substr($last, 0, 4) eq "FAIL") { - print "\n\nFailure detected: " . - "consult log file\n\n\n"; - - exit(1); - } - } - - close(DINDEX); - } else { - # Testcase has no external data files - print LOG "Running ./$test ./data/Aliases\n"; - - # Make message fit on an 80 column terminal - my $msg = " ==> $test"; - $msg = $msg . "." x (80 - length($msg) - 8); - - print $msg; - - # Run testcase - $pid = open3("&NULL", - "./$test", "./data/Aliases"); - - my $last; - - # Marshal testcase output to log file - while (my $output = ) { - print LOG " $output"; - $last = $output; - } - - # Wait for child to finish - waitpid($pid, 0); - - print substr($last, 0, 4) . "\n"; - - # Bail, noisily, on failure - if (substr($last, 0, 4) eq "FAIL") { - print "\n\nFailure detected: " . - "consult log file\n\n\n"; - - exit(1); - } - } - - print "\n"; -} - -# Clean up -close(TINDEX); - -close(NULL); -close(LOG); -- cgit v1.2.3