ChangeSet ID: 31334 CVSROOT: /opt/cvs-commit Module name: tools Changes by: jnewman@winehq.org 2007/08/22 14:44:50
Modified files: winetest : dissect gather
Log message: Paul Vriens paul.vriens.wine@gmail.com Lay some groundwork for dll information
Patch: http://cvs.winehq.org/patch.py?id=31334
Old revision New revision Changes Path 1.24 1.25 +7 -0 tools/winetest/dissect 1.28 1.29 +11 -0 tools/winetest/gather
Index: tools/winetest/dissect diff -u -p tools/winetest/dissect:1.24 tools/winetest/dissect:1.25 --- tools/winetest/dissect:1.24 22 Aug 2007 19:44:50 -0000 +++ tools/winetest/dissect 22 Aug 2007 19:44:50 -0000 @@ -143,6 +143,13 @@ if ($wine) { $version = "wine"; }
+# Dll information is only available in new type reports +if (/^Dll info:\r?$/) { + open DLLINFO, ">$tmpdir/dllinfo.txt" or mydie "can't write $tmpdir/dllinfo.txt: $!"; + while (($_ = <IN>) =~ s/^ //) { print DLLINFO; } + close DLLINFO or mydie "error writing $tmpdir/dllinfo.txt: $!"; +} + /Test output:\r?/ or mydie "no test header: $_"; my ($unit, $test, $source, $rev, $result); my ($lines,$total, $todo, $failed, $skipped); Index: tools/winetest/gather diff -u -p tools/winetest/gather:1.28 tools/winetest/gather:1.29 --- tools/winetest/gather:1.28 22 Aug 2007 19:44:50 -0000 +++ tools/winetest/gather 22 Aug 2007 19:44:50 -0000 @@ -76,6 +76,16 @@ foreach my $file (glob "$datadir/$build/ print "Unknown architecture: $id in file $file\n"; next; } + # Read the dll information if present (newer type reports) + my $dllinfo = "$datadir/$build/$dir/dllinfo.txt"; + if (open DLLINFO, "<$dllinfo") { + while ($_ = <DLLINFO>) { + if (/^\s*([0-9a-zA-Z_]+)=(dll is missing)\r?$/) { + $testref->{dllmissing}->{$1} = 1; + } + } + close DLLINFO; + } $testref->{tag} = @tag?"@tag":""; $testref->{dir} = $dir; if (!open TEST, "<$file") { @@ -96,6 +106,7 @@ foreach my $file (glob "$datadir/$build/ my ($digest, $unit, $test, $count, $todo, $error, $skipped, $source, $rev) = split; my $testname = "$unit:$test"; + # Leave this in for older type reports if ($test =~ /_dll_missing/) { # Mark the dll as missing on this system $testref->{dllmissing}->{$unit} = 1;