Francois Gouget : winetest: Use a separate id for each Windows 10 version.
Alexandre Julliard
julliard at winehq.org
Fri Apr 9 14:48:31 CDT 2021
Module: tools
Branch: master
Commit: 89b68b2f2bd6abf5e78df50bda80a7fce70d3ac8
URL: https://source.winehq.org/git/tools.git/?a=commit;h=89b68b2f2bd6abf5e78df50bda80a7fce70d3ac8
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Fri Apr 9 11:43:59 2021 +0200
winetest: Use a separate id for each Windows 10 version.
This allows showing the precise version on the Windows 10 group index.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
winetest/dissect | 61 ++++++++++++++++++++++++++++++++++----------------------
winetest/gather | 11 +++++++---
2 files changed, 45 insertions(+), 27 deletions(-)
diff --git a/winetest/dissect b/winetest/dissect
index 613c151..43b2754 100755
--- a/winetest/dissect
+++ b/winetest/dissect
@@ -304,7 +304,7 @@ $line =~ /^Operating system version:\r?$/ or mydie "no OS header: $line";
$box->{data} .= "<h2>Operating system version</h2>\n";
$box->{data} .= "<table class=\"output\">\n";
-my ($wine, $wine_build, $major, $minor, $plid, $product, $host);
+my ($wine, $wine_build, $major, $minor, $winbuild, $plid, $product, $host);
while ($line = <IN> || "")
{
last if ($line !~ /^\s*([0-9a-zA-Z ]+)=(.*?)\r?$/);
@@ -319,6 +319,8 @@ while ($line = <IN> || "")
$major = $2;
} elsif ($1 eq "dwMinorVersion") {
$minor = $2;
+ } elsif ($1 eq "dwBuildNumber") {
+ $winbuild = $2;
} elsif ($1 eq "PlatformId") {
$plid = $2;
} elsif ($1 eq "wProductType") {
@@ -340,25 +342,35 @@ if (!defined $plid or !defined $major or !defined $minor or !defined $product) {
my @idmatch = (
# Describes how to match a platform's version information
# with a dissect platform id:
- # dissect id plid major minor product prediluvian
- [ "95", 1, 4, 0, undef, 1 ],
- [ "98", 1, 4, 10, undef, 1 ],
- [ "me", 1, 4, 90, undef, 1 ],
- [ "nt3", 2, 3, 51, undef, 1 ],
- [ "2000", 2, 5, 0, undef, 1 ],
- [ "xp", 2, 5, 1, 1, 0 ],
- [ "xp", 2, 5, 2, 1, 0 ],
- [ "2003", 2, 5, 2, undef, 0 ],
- [ "vista", 2, 6, 0, 1, 0 ],
- [ "2008", 2, 6, 0, 3, 0 ],
- [ "win7", 2, 6, 1, 1, 0 ],
- [ "2008", 2, 6, 1, 3, 0 ],
- [ "win8", 2, 6, 2, undef, 0 ],
- [ "win81", 2, 6, 3, undef, 0 ],
- [ "win10", 2, 10, 0, 1, 0 ],
-# [ "ce", 3, undef, undef, undef, 0 ],
- [ "unknown", 2, undef, undef, undef, 0 ],
- [ "unknown", undef, undef, undef, undef, 1 ],
+ # dissect id plid major minor build product prediluvian
+ [ "95", 1, 4, 0, undef, undef, 1 ],
+ [ "98", 1, 4, 10, undef, undef, 1 ],
+ [ "me", 1, 4, 90, undef, undef, 1 ],
+ [ "nt3", 2, 3, 51, undef, undef, 1 ],
+ [ "2000", 2, 5, 0, undef, undef, 1 ],
+ [ "xp", 2, 5, 1, undef, 1, 0 ],
+ [ "xp", 2, 5, 2, undef, 1, 0 ],
+ [ "2003", 2, 5, 2, undef, undef, 0 ],
+ [ "vista", 2, 6, 0, undef, 1, 0 ],
+ [ "2008", 2, 6, 0, undef, 3, 0 ],
+ [ "win7", 2, 6, 1, undef, 1, 0 ],
+ [ "2008", 2, 6, 1, undef, 3, 0 ],
+ [ "win8", 2, 6, 2, undef, undef, 0 ],
+ [ "win81", 2, 6, 3, undef, undef, 0 ],
+ [ "win1507", 2, 10, 0, 10240, 1, 0 ],
+ [ "win1511", 2, 10, 0, 10586, 1, 0 ],
+ [ "win1607", 2, 10, 0, 14393, 1, 0 ],
+ [ "win1703", 2, 10, 0, 15063, 1, 0 ],
+ [ "win1709", 2, 10, 0, 16299, 1, 0 ],
+ [ "win1803", 2, 10, 0, 17134, 1, 0 ],
+ [ "win1809", 2, 10, 0, 17763, 1, 0 ],
+ [ "win1903", 2, 10, 0, 18362, 1, 0 ],
+ [ "win1909", 2, 10, 0, 18363, 1, 0 ],
+ [ "win2004", 2, 10, 0, 19041, 1, 0 ],
+ [ "win2009", 2, 10, 0, 19042, 1, 0 ],
+# [ "ce", 3, undef, undef, undef, undef, 0 ],
+ [ "unknown", 2, undef, undef, undef, undef, 0 ],
+ [ "unknown", undef, undef, undef, undef, undef, 1 ],
);
my ($version, $prediluvian);
@@ -367,15 +379,16 @@ foreach my $entry (@idmatch)
if ((!defined $entry->[1] or $entry->[1] eq $plid) and
(!defined $entry->[2] or $entry->[2] eq $major) and
(!defined $entry->[3] or $entry->[3] eq $minor) and
- (!defined $entry->[4] or $entry->[4] eq $product))
+ (!defined $entry->[4] or $entry->[4] eq $winbuild) and
+ (!defined $entry->[5] or $entry->[5] eq $product))
{
$version = $entry->[0];
- $prediluvian = $entry->[5];
+ $prediluvian = $entry->[6];
last;
}
}
-# Give a little slack to the Windows 10 1709.
-$maxfailedtests += 20 if ($version eq "win10");
+# Give a little slack to the latest Windows 10.
+$maxfailedtests += 20 if ($version =~ /^win200[49]$/);
if ($prediluvian and not $acceptprediluvianwin)
{
diff --git a/winetest/gather b/winetest/gather
index bb83c5e..79bea91 100755
--- a/winetest/gather
+++ b/winetest/gather
@@ -167,8 +167,7 @@ my %wine = (name => "Wine");
# Define the order of version groups in the summary
my @groups = (\%w95, \%w98, \%me,
\%nt3, \%nt4, \%w2k, \%xp, \%w2k3,
- \%vista, \%w2k8, \%win7, \%win8,
- \%win10,
+ \%vista, \%w2k8, \%win7, \%win8, \%win10,
\%unknown, \%linux, \%mac, \%bsd, \%solaris, \%wine);
# Map dissect's IDs to the above hashes
@@ -178,7 +177,13 @@ my %idmap = (95 => \%w95, 98 => \%w98, me => \%me,
vista => \%vista, 2008 => \%w2k8,
win7 => \%win7,
win8 => \%win8, win81 => \%win8,
- win10 => \%win10,
+ win1507 => \%win10, win1511 => \%win10,
+ win1607 => \%win10, win1703 => \%win10,
+ win1709 => \%win10, win1803 => \%win10,
+ win1809 => \%win10, win1903 => \%win10,
+ win1909 => \%win10, win2004 => \%win10,
+ win2009 => \%win10,
+ win10 => \%win10, # for backward compatibility
unknown => \%unknown,
wine => \%wine, linux => \%linux, mac => \%mac,
bsd => \%bsd, solaris => \%solaris);
More information about the wine-cvs
mailing list