diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-06-05 17:37:41 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-06-11 19:59:59 +0200 |
commit | 9faaffa87bbc4f427cabd5debbbab77582c1343c (patch) | |
tree | 64d42e06c9653b8ef74ffe0b78ed3431edc041e2 /selftest | |
parent | 84f2d3001dd8a9e8734d0b36f4e1445fc1a8254c (diff) | |
download | samba-9faaffa87bbc4f427cabd5debbbab77582c1343c.tar.gz samba-9faaffa87bbc4f427cabd5debbbab77582c1343c.tar.xz samba-9faaffa87bbc4f427cabd5debbbab77582c1343c.zip |
selftest: Make it easier to do subunit diffs from other apps.
Diffstat (limited to 'selftest')
-rw-r--r-- | selftest/Subunit/Diff.pm | 21 | ||||
-rwxr-xr-x | selftest/diff-subunit.pl | 9 |
2 files changed, 17 insertions, 13 deletions
diff --git a/selftest/Subunit/Diff.pm b/selftest/Subunit/Diff.pm index 8add5827f40..5c9e4f0de05 100644 --- a/selftest/Subunit/Diff.pm +++ b/selftest/Subunit/Diff.pm @@ -44,10 +44,9 @@ sub new { bless($self, $class); } -sub diff($$) +sub from_file($) { - my ($fh1, $fh2) = @_; - my $ret = {}; + my ($path) = @_; my $statistics = { TESTS_UNEXPECTED_OK => 0, TESTS_EXPECTED_OK => 0, @@ -56,10 +55,18 @@ sub diff($$) TESTS_ERROR => 0, TESTS_SKIP => 0, }; - my $old = new Subunit::Diff(); - parse_results($old, $statistics, $fh1); - my $new = new Subunit::Diff(); - parse_results($new, $statistics, $fh2); + + my $ret = new Subunit::Diff(); + open(IN, $path) or return; + parse_results($ret, $statistics, IN); + close(IN); + return $ret; +} + +sub diff($$) +{ + my ($old, $new) = @_; + my $ret = {}; foreach my $testname (keys %$old) { if ($new->{$testname} ne $old->{$testname}) { diff --git a/selftest/diff-subunit.pl b/selftest/diff-subunit.pl index 225c3d8986b..280021ccc49 100755 --- a/selftest/diff-subunit.pl +++ b/selftest/diff-subunit.pl @@ -9,13 +9,10 @@ use FindBin qw($RealBin $Script); use lib "$RealBin"; use Subunit::Diff; -open(FH1, $ARGV[0]) or die("Unable to open $ARGV[0]: $!"); -open(FH2, $ARGV[1]) or die("Unable to open $ARGV[1]: $!"); +my $old = Subunit::Diff::from_file($ARGV[0]); +my $new = Subunit::Diff::from_file($ARGV[1]); -my $ret = Subunit::Diff::diff(*FH1, *FH2); - -close(FH1); -close(FH2); +my $ret = Subunit::Diff::diff($old, $new); foreach my $e (keys %$ret) { printf "%s: %s -> %s\n", $e, $ret->{$e}[0], $ret->{$e}[1]; |