diff options
author | Hieu Hoang <fishandfrolick@gmail.com> | 2012-05-11 17:23:29 +0400 |
---|---|---|
committer | Hieu Hoang <fishandfrolick@gmail.com> | 2012-05-11 17:23:29 +0400 |
commit | 1fa8674dc28d717b5023ef86fe719f573abdafdf (patch) | |
tree | 32ae4161ee13adf1ab0ebdf3631c6c30bfaacce1 /regression-testing | |
parent | e5907c0efc004bd944cdbfc6ded9f28d0f611143 (diff) |
extract regression test
Diffstat (limited to 'regression-testing')
-rwxr-xr-x | regression-testing/run-test-extract.perl | 90 | ||||
-rwxr-xr-x | regression-testing/run-test-suite.perl | 7 |
2 files changed, 97 insertions, 0 deletions
diff --git a/regression-testing/run-test-extract.perl b/regression-testing/run-test-extract.perl new file mode 100755 index 000000000..261541df3 --- /dev/null +++ b/regression-testing/run-test-extract.perl @@ -0,0 +1,90 @@ +#!/usr/bin/perl -w + +use strict; + +BEGIN { +use Cwd qw/ abs_path /; +use File::Basename; +my $script_dir = dirname(abs_path($0)); +print STDERR "script_dir=$script_dir\n"; +push @INC, $script_dir; +} + +use FindBin qw($Bin); +use MosesRegressionTesting; +use Getopt::Long; +use File::Temp qw ( tempfile ); +use POSIX qw ( strftime ); + +my $extractorExe; +my $test_name; +my $data_dir; +my $test_dir; +my $results_dir; + +GetOptions("extractor=s" => \$extractorExe, + "test=s" => \$test_name, + "data-dir=s"=> \$data_dir, + "test-dir=s"=> \$test_dir, + "results-dir=s"=> \$results_dir, + ) or exit 1; + +# output dir +unless (defined $results_dir) +{ + my $ts = get_timestamp($extractorExe); + $results_dir = "$data_dir/results/$test_name/$ts"; +} + +`mkdir -p $results_dir`; + +my $outPath = "$results_dir/pt.half"; + +my $extractorArgs = `cat $test_dir/$test_name/args.txt`; +$_ = $extractorArgs; +s/(\$\w+)/$1/eeg; +$extractorArgs = $_; + +my $cmdMain = "$extractorExe $extractorArgs \n"; +`$cmdMain`; + +my $truthPath = "$test_dir/$test_name/truth/results.txt"; + + +if (-e $outPath) +{ + my $cmd = "diff $outPath $truthPath | wc -l"; + + my $numDiff = `$cmd`; + + if ($numDiff == 0) + { + # print STDERR "FAILURE. Ran $cmdMain\n"; + print STDERR "SUCCESS\n"; + exit 0; + } + else + { + print STDERR "FAILURE. Ran $cmdMain\n"; + exit 1; + } +} +else +{ + print STDERR "FAILURE. Output does not exists. Ran $cmdMain\n"; + exit 1; +} + +################################### +sub get_timestamp { + my ($file) = @_; + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, + $atime,$mtime,$ctime,$blksize,$blocks) + = stat($file); + my $timestamp = strftime("%Y%m%d-%H%M%S", gmtime $mtime); + my $timestamp2 = strftime("%Y%m%d-%H%M%S", gmtime); + my $username = `whoami`; chomp $username; + return "moses.v$timestamp-$username-at-$timestamp2"; +} + + diff --git a/regression-testing/run-test-suite.perl b/regression-testing/run-test-suite.perl index d824991b5..d079d15d2 100755 --- a/regression-testing/run-test-suite.perl +++ b/regression-testing/run-test-suite.perl @@ -10,6 +10,8 @@ use Getopt::Long; ############################################################ my @tests = qw ( + extract.phrase-based + extract.hierarchical score.phrase-based score.phrase-based-inv score.phrase-based-with-alignment @@ -61,6 +63,7 @@ use POSIX qw ( strftime ); my $decoderPhrase = "$Bin/../moses-cmd/src/moses"; my $decoderChart = "$Bin/../moses-chart-cmd/src/moses_chart"; my $scoreExe = "$Bin/../scripts/training/phrase-extract/score"; +my $extractorExe = "$Bin/../scripts/training/phrase-extract/extract"; my $kenlmBinarizer = "$Bin/../kenlm/build_binary"; my $test_dir; my $BIN_TEST = $script_dir; @@ -109,6 +112,10 @@ foreach my $test (@tests) { $cmd .= "$BIN_TEST/run-test-scorer.perl $test_run --scorer=$scoreExe"; } + elsif ($model_type eq 'extrac') + { + $cmd .= "$BIN_TEST/run-test-extract.perl $test_run --extractor=$extractorExe"; + } elsif ($test =~ /^mert/) { $cmd .= "$BIN_TEST/run-test-mert.perl $test_run"; |