| |
| |
| use warnings; |
| use strict; |
| use MosesRegressionTesting; |
|
|
| my $data_version = MosesRegressionTesting::TESTING_DATA_VERSION; |
|
|
| exit 0 if -d "moses-reg-test-data-$data_version"; |
| |
|
|
| safesystem("wget http://www.statmt.org/moses/reg-testing/moses-reg-test-data-$data_version.tgz") |
| or die "wget failed"; |
| safesystem("tar xzf moses-reg-test-data-$data_version.tgz") |
| or die "untar failed"; |
| safesystem("rm moses-reg-test-data-$data_version.tgz"); |
|
|
| sub safesystem { |
| |
| system(@_); |
| if ($? == -1) { |
| print STDERR "Failed to execute: @_\n $!\n"; |
| exit(1); |
| } |
| elsif ($? & 127) { |
| printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n", |
| ($? & 127), ($? & 128) ? 'with' : 'without'; |
| exit(1); |
| } |
| else { |
| my $exitcode = $? >> 8; |
| print STDERR "Exit code: $exitcode\n" if $exitcode; |
| return ! $exitcode; |
| } |
| } |
|
|