3 # diff of two smoke.yml files
4 # give them as arguments on the command line, otherwise they default to
5 # "smoke.yml" and "smoke.last.yml";
7 # Written by Moritz Lenz, moritz at faui2k3 dot org
13 my $fn1 = shift @ARGV || "smoke.last.yml";
14 my $fn2 = shift @ARGV || "smoke.yml";
16 my $d1 = LoadFile
($fn1);
17 my $d2 = LoadFile
($fn2);
19 my @f1 = @
{$d1->{meat
}{test_files
}};
20 my @f2 = @
{$d2->{meat
}{test_files
}};
25 for (my $i = 0; $i < @f1; $i++){
27 my $f2 = $f2[$i + $diff];
28 if ($f1->{file
} ne $f2->{file
}){
30 if ($f1[$i]->{file
} eq $f2[$i + $diff + $_]->{file
}){
36 if ($f1->{file
} eq $f2->{file
}){
37 if (scalar @
{$f1->{events
}} != scalar @
{$f2->{events
}}){
38 print "Number of tests in $f1->{file} changed\n";
40 my $count = scalar @
{$f1->{events
}};
41 foreach my $k (0 .. $count - 1){
42 my ($ok1, $ok2) = ($f1->{events
}[$k]{actual_ok
}, $f2->{events
}[$k]{actual_ok
});
44 print $f1->{events
}[$k]{pos}, " changed from $ok1 to $ok2\n";
46 push @passes, $f1->{events
}[$k]{pos};
48 push @fails, $f1->{events
}[$k]{pos};
54 print "New test file: ", $f1->{file
}, "\n";