Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHieu Hoang <fishandfrolick@gmail.com>2012-05-11 17:23:29 +0400
committerHieu Hoang <fishandfrolick@gmail.com>2012-05-11 17:23:29 +0400
commit1fa8674dc28d717b5023ef86fe719f573abdafdf (patch)
tree32ae4161ee13adf1ab0ebdf3631c6c30bfaacce1 /regression-testing
parente5907c0efc004bd944cdbfc6ded9f28d0f611143 (diff)
extract regression test
Diffstat (limited to 'regression-testing')
-rwxr-xr-xregression-testing/run-test-extract.perl90
-rwxr-xr-xregression-testing/run-test-suite.perl7
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";