summaryrefslogtreecommitdiffstats
path: root/selftest
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2009-06-05 17:37:41 +0200
committerJelmer Vernooij <jelmer@samba.org>2009-06-11 19:59:59 +0200
commit9faaffa87bbc4f427cabd5debbbab77582c1343c (patch)
tree64d42e06c9653b8ef74ffe0b78ed3431edc041e2 /selftest
parent84f2d3001dd8a9e8734d0b36f4e1445fc1a8254c (diff)
downloadsamba-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.pm21
-rwxr-xr-xselftest/diff-subunit.pl9
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];