Added -f <filename> and -t to the goodie-test.pl
This commit is contained in:
parent
30297654ac
commit
8dbe7b91d3
@ -16,4 +16,3 @@ if ( $q_check =~ m/^\!?\s*[A-Za-z]+(\s+or\s+[A-Za-z]+)+\s*$/ ) {
|
|||||||
$answer_type = 'rand';
|
$answer_type = 'rand';
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
|
2
abc/queries.txt
Normal file
2
abc/queries.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
this or that or none
|
||||||
|
duckduckgo or google or bing or something
|
@ -3,6 +3,18 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use FindBin qw($Bin);
|
use FindBin qw($Bin);
|
||||||
|
use Getopt::Std;
|
||||||
|
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
|
my %opts;
|
||||||
|
|
||||||
|
getopts('f:t',\%opts);
|
||||||
|
|
||||||
|
if ($opts{f} and $opts{t}) {
|
||||||
|
print "Please just use -f or -t not both at once\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
my $goodie = shift @ARGV;
|
my $goodie = shift @ARGV;
|
||||||
|
|
||||||
@ -11,8 +23,27 @@ if (!$goodie) {
|
|||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!@ARGV) {
|
my @queries;
|
||||||
print "Please give a query to test ".$goodie." goodie!\n";
|
|
||||||
|
if (@ARGV) {
|
||||||
|
push @queries, join(' ',@ARGV);
|
||||||
|
} elsif ($opts{f}) {
|
||||||
|
open FILE, $opts{f} or die "Couldn't open file ".$opts{f}.": $!";
|
||||||
|
for (<FILE>) {
|
||||||
|
chomp;
|
||||||
|
push @queries, $_;
|
||||||
|
}
|
||||||
|
close FILE;
|
||||||
|
} elsif ($opts{t}) {
|
||||||
|
my $test_query_file = $Bin."/".$goodie."/queries.txt";
|
||||||
|
open FILE, $test_query_file or die "Couldn't open file ".$test_query_file.": $!";
|
||||||
|
for (<FILE>) {
|
||||||
|
chomp;
|
||||||
|
push @queries, $_;
|
||||||
|
}
|
||||||
|
close FILE;
|
||||||
|
} else {
|
||||||
|
print "Please give a query to test ".$goodie." goodie or a file with queries via -f or make execute the goodie testset with -t!\n";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,22 +58,28 @@ open FILE, $filename or die "Couldn't open file: $!";
|
|||||||
my $code = join("", <FILE>);
|
my $code = join("", <FILE>);
|
||||||
close FILE;
|
close FILE;
|
||||||
|
|
||||||
my $q_check = join(' ',@ARGV);
|
for (@queries) {
|
||||||
my $q_internal = '';
|
my $q_check = $_;
|
||||||
|
my $q_internal = '';
|
||||||
|
|
||||||
my $answer_results;
|
my $answer_results;
|
||||||
my $answer_type;
|
my $answer_type;
|
||||||
|
|
||||||
eval $code;
|
eval $code;
|
||||||
|
|
||||||
if ($answer_results and !$answer_type) {
|
print "\n";
|
||||||
print 'The goodie doesnt set $answer_type, but has $answer_results. You must give back $answer_results';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($answer_results and $answer_type) {
|
if ($answer_results and !$answer_type) {
|
||||||
|
print 'The goodie doesnt set $answer_type, but has $answer_results on "'.$_.'". You must give back $answer_results!'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($answer_results and $answer_type) {
|
||||||
print 'The goodie '.$goodie.' gives back the following on the query "'.$q_check.'":'."\n";
|
print 'The goodie '.$goodie.' gives back the following on the query "'.$q_check.'":'."\n";
|
||||||
print 'Answer Type: '.$answer_type."\n";
|
print 'Answer Type: '.$answer_type."\n";
|
||||||
print 'Answer Type: '.$answer_results."\n";
|
print 'Answer Type: '.$answer_results."\n";
|
||||||
} else {
|
} else {
|
||||||
print 'The goodie '.$goodie.' gave no result on "'.$q_check.'"!'."\n";
|
print 'The goodie '.$goodie.' gave no result on "'.$q_check.'"!'."\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "\n";
|
Loading…
x
Reference in New Issue
Block a user