Module: tools
Branch: master
Commit: 0dee7be42351ada7a70aceab834bbfbfe00d5099
URL: http://source.winehq.org/git/tools.git/?a=commit;h=0dee7be42351ada7a70aceab…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Mar 29 00:37:36 2017 +0200
winetest/gather: Move the build index legend to where it is printed.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
winetest/gather | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/winetest/gather b/winetest/gather
index 26bc612..7e26a43 100755
--- a/winetest/gather
+++ b/winetest/gather
@@ -455,16 +455,6 @@ my $header_footer=build_header_footer(\@groups);
my $short_build = substr($build,0,12);
my $short_date = short_date($date);
-my $legend =
-"<div class=\"legend\">
-<h3>Legend</h3>
-<p class=\"legend\">All tests <span class=\"result pass\">pass</span> in all reports.</p>
-<p class=\"legend\">Some tests <span class=\"result mixed\">fail</span> in some reports.</p>
-<p class=\"legend\">Some tests <span class=\"result fail\">fail</span> in all reports.</p>
-<p class=\"legend\">This <span class=\"result pass also-skip\">border</span> signals that some tests are skipped.</p>
-<p class=\"legend\">This <span class=\"result mixed also-todo\">border</span> and this <span class=\"result todo\">background</span> signal that the implementation needs some work.</p>
-</div>";
-
sub min_to_max($)
{
my ($minmax)=@_;
@@ -736,7 +726,14 @@ EOF
</tbody>
</table>
</div>
-$legend
+<div class="legend">
+<h3>Legend</h3>
+<p class="legend">All tests <span class="result pass">pass</span> in all reports.</p>
+<p class="legend">Some tests <span class="result mixed">fail</span> in some reports.</p>
+<p class="legend">Some tests <span class="result fail">fail</span> in all reports.</p>
+<p class="legend">This <span class="result pass also-skip">border</span> signals that some tests are skipped.</p>
+<p class="legend">This <span class="result mixed also-todo">border</span> and this <span class="result todo">background</span> signal that the implementation needs some work.</p>
+</div>
<div class="navbar">
To run the tests on your Windows machine, download the <a href="/builds/winetest-$short_build.exe">32-bit winetest</a>.
If you have a 64-bit Windows OS, you can also run the <a href="/builds/winetest64-$short_build.exe">64-bit winetest</a>.
Module: tools
Branch: master
Commit: 24b1fef48314cc526b20f8f08ab077aa27b16800
URL: http://source.winehq.org/git/tools.git/?a=commit;h=24b1fef48314cc526b20f8f0…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Mar 29 00:38:40 2017 +0200
winetest/gather: Show the short date in the index titles and headers.
Since there is only one build per day, using the short date is just as
unique while being more readable and shorter. It has the additional
advantage of being ordered unlike the build id (*) which makes the
browser tab names more meaningful.
The build id is still shown in the page header in addition to the short
date since there is more space there and it is used for linking to
other pages.
(*) 'Mar 15' is clearly older than 'Mar 17' whereas no such
determination can be made from '6a05069a' and 'c3b108e5' alone.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
winetest/gather | 44 +++++++++++++++++++++++++++++++++++++++-----
1 file changed, 39 insertions(+), 5 deletions(-)
diff --git a/winetest/gather b/winetest/gather
index a0cb9b7..26bc612 100755
--- a/winetest/gather
+++ b/winetest/gather
@@ -45,7 +45,7 @@ sub BEGIN
}
unshift @INC, $1 if ($0 =~ m=^(/.*)/[^/]+$=);
}
-use vars qw/$datadir $gitweb/;
+use vars qw/$datadir $gitdir $gitweb/;
require "winetest.conf";
my $name0=$0;
@@ -55,6 +55,38 @@ $name0 =~ s+^.*/++;
my $summary_version=4;
+$ENV{GIT_DIR} = $gitdir;
+
+sub get_build_info($)
+{
+ my ($build) = @_;
+ my ($date, $subject);
+
+ my $commit = `git log --max-count=1 --pretty="format:%ct %s" "$build^0" 2>/dev/null` if ($build =~ /^[0-9a-f]{40}$/);
+ if ($commit && $commit =~ /^(\d+) (.*)$/)
+ {
+ ($date, $subject) = ($1, $2);
+ # Make sure the directory's mtime matches the commit time
+ utime $date, $date, "$datadir/$build";
+ }
+ else
+ {
+ $date = (stat "$datadir/$build")[9];
+ $subject = "";
+ }
+ return ($date, $subject);
+}
+
+use POSIX qw(locale_h strftime);
+setlocale(LC_ALL, "C");
+
+sub short_date($)
+{
+ my ($date) = @_;
+ return strftime("%b %d", gmtime($date));
+}
+
+
# A test name is of the form 'dll:unit' where:
# dll Is the dll being tested.
# unit Is a unit test composed of multiple individual checks testing
@@ -131,6 +163,7 @@ my ($outdated,undef) = glob "$datadir/*/outdated";
exit 2 unless defined $outdated;
(my $build = $outdated) =~ s|^\Q$datadir\E/(.*)/outdated$|$1|;
(my $release = $build) =~ s/^(\d+).*$/$1/;
+my ($date, $_subject) = get_build_info($build);
# Read in the data
@@ -420,6 +453,7 @@ EOF
my $header_footer=build_header_footer(\@groups);
my $short_build = substr($build,0,12);
+my $short_date = short_date($date);
my $legend =
"<div class=\"legend\">
@@ -616,14 +650,14 @@ sub output_table($)
{
$group_name = $group->{name};
$header_footer = build_header_footer($group->{reports});
- $title = "$group_name results for build $short_build";
+ $title = "$short_date: $group_name results";
$filename = "index_$group_name.html";
}
else
{
$group_name = "global";
$header_footer = build_header_footer(\@groups);
- $title = "Summary for build $short_build";
+ $title = "$short_date: Summary";
$filename = "index.html";
}
@@ -657,7 +691,7 @@ EOF
print OUT " | <a href=\"..\">index</a>\n";
print OUT "</div>\n";
print OUT "<div class=\"group\">\n";
- print OUT "<h1>$group_name results for build <a href=\".\" title=\"$build\">$short_build</a></h1>\n";
+ print OUT "<h1>$short_date: $group_name results for build <a href=\".\" title=\"$build\">$short_build</a></h1>\n";
print OUT "<table class=\"report\">\n$header_footer\n <tbody>\n";
}
else
@@ -668,7 +702,7 @@ EOF
print OUT " | <a href=\"..\">index</a>";
print OUT "</div>\n";
print OUT "<div class=\"main\">\n";
- print OUT "<h1>Main summary for build $short_build</h1>\n";
+ print OUT "<h1>$short_date: Summary for build $short_build</h1>\n";
print OUT "<table class=\"report\">\n$header_footer\n <tbody>\n";
}
Module: tools
Branch: master
Commit: ac431db6c41326b865e51e20fe88ab9a9655573f
URL: http://source.winehq.org/git/tools.git/?a=commit;h=ac431db6c41326b865e51e20…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Mar 29 00:36:28 2017 +0200
winetest/gather: Remove support for the 'winetest crash' case.
dissect has no support for writing this type of status in the
summary.txt files.
Also if WineTest does crash one would likely have to manually submit
the results (i.e. it's unlikely to happen).
And most importantly a lot of test results would be missing which,
based on the current policy, means the whole report is and should be
rejected.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
winetest/gather | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/winetest/gather b/winetest/gather
index cf4423a..a0cb9b7 100755
--- a/winetest/gather
+++ b/winetest/gather
@@ -79,8 +79,6 @@ my $summary_version=4;
# dir The directory containing the report data (log files, etc).
# group A reference to the group the report belongs to.
# dllmissing A hash of the missing dlls for that system.
-# winetestcrash The name of the last test that was run before winetest
-# crashed.
# filelimit The name of the last test that was run before the report file
# size limit was reached.
# <testname> Maps the test names to a structure containing the individual
@@ -179,10 +177,7 @@ foreach my $file (glob "$datadir/$build/*/summary.txt") {
$alltests{$testname} = $source;
if ($count eq "failed") {
- if ($todos eq "crash") {
- $report->{$testname} = { status => "winetest crash" };
- $report->{winetestcrash} = $testname;
- } elsif ($todos eq "filelimit") {
+ if ($todos eq "filelimit") {
$report->{$testname} = { status => "file limit" };
$report->{filelimit} = $testname;
} else {
@@ -265,7 +260,6 @@ foreach my $group (@groups) {
foreach my $report (@{$group->{reports}}) {
if (!exists $report->{$testname}) {
my ($dll, $unit) = split(/:/, $testname);
- my $crash = $report->{winetestcrash};
my $filelimit = $report->{filelimit};
if (exists $report->{dllmissing}->{$dll}) {
# Mark this test as missing because of a missing dll
@@ -273,9 +267,6 @@ foreach my $group (@groups) {
count => [ 1, 1 ],
skips => [ 1, 1 ]
};
- } elsif (defined $crash && $testname gt $crash) {
- # Mark this test as missing because of a winetest crash
- $report->{$testname}->{status} = "winetest crash";
} elsif (defined $filelimit && $testname gt $filelimit) {
# Mark this test as missing because of a partial report file
$report->{$testname}->{status} = "filelimit";
@@ -490,7 +481,6 @@ sub get_result_title($$)
return "No tests run as $dll is not present on this system";
}
if ($result->{status} eq "skipped") { return "Test skipped by user request"; }
- if ($result->{status} eq "winetest crash") { return "Test did not run as winetest crashed"; }
if ($result->{status} eq "filelimit") { return "Test is missing because of a partial report file"; }
if ($result->{status} eq "missing") { return "Test did not run for an unknown reason"; }
if ($result->{status} eq "mixed") { return "Mixed results"; }
@@ -544,10 +534,6 @@ sub singletest($$$) {
{
$msg = "n/a";
}
- elsif ($status eq "winetest crash")
- {
- $msg = "winetest";
- }
elsif ($status eq "filelimit")
{
$msg = "truncated";