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