Importers added
[ltsps.git] / t / lib / Common.pm
blob23dbf119dfc1664b742c811df1e8de1d036e2aae
1 use warnings;
2 use strict;
4 use Carp;
5 use Data::Dumper;
6 use Digest::MD5;
8 my $matlab = "/usr/local/bin/matlab";
9 my $console = " -nosplash -nodesktop -nojvm";
10 my $log = " -logfile t/matlab_output/log";
11 my $stderrlog = "t/matlab_output/STDERR";
12 my $stdoutlog = "t/matlab_output/STDOUT";
13 my $d = Digest::MD5->new;
15 sub gen_command {
16 my $arg = shift;
18 return $matlab.$console.$log." -r \"$arg; save 't/matlab_output/output' 'ans' -ascii;quit;\"";
21 sub run_matlab_cmd {
22 my $cmd = gen_command(shift);
24 local *STDERR;
25 local *STDOUT;
27 open(STDOUT, ">>", $stdoutlog) or die $!;
28 open(STDERR, ">>", $stderrlog) or die $!;
30 system($cmd);
32 return 1;
35 sub scrub {
36 unlink "t/matlab_output/output";
37 unlink "t/matlab_output/log";
40 sub matlab_location {
41 return $matlab;
44 sub compare {
45 my ($expected_fn) = @_;
47 open(my $expected, "<", $expected_fn);
48 open(my $got, "<", "t/matlab_output/output");
50 $d->addfile($expected);
51 my $d_expected = $d->hexdigest;
53 $d->addfile($got);
54 my $d_got = $d->hexdigest;
56 if ($d_expected ne $d_got) {
57 return;
59 else {
60 return 1;