Module: tools
Branch: master
Commit: 6e2edfff31d52899e8455cf5388173d95adbeac4
URL: https://source.winehq.org/git/tools.git/?a=commit;h=6e2edfff31d52899e8455cf…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Mar 15 10:30:26 2021 +0100
winetest/dissect: Improve the pid detection on garbled lines.
The pid is always printed with a fixed width so this should be taken
into account to avoid matching too much. For instance in
'garbage1234:unit.c:...' one should match '1234', not 'e1234' which
would lead to a mismatch with the pids on other lines.
This is particularly important for the exception, summary and done
lines.
This also means the matching can be simplified a bit since we know
where the relevant part of the line starts.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
winetest/dissect | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/winetest/dissect b/winetest/dissect
index 304e9c9..919b17a 100755
--- a/winetest/dissect
+++ b/winetest/dissect
@@ -665,9 +665,7 @@ while ($line = <IN>) {
check_unit($l_unit, "IgnoreExceptions");
$ignore_exceptions = $l_ignore;
}
- elsif (($unit ne "" and
- $line =~ /([0-9a-f]+):($units_re):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /) or
- $line =~ /^([0-9a-f]+):([_.a-z0-9]+):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /)
+ elsif ($line =~ /([0-9a-f]{4}):([_.a-z0-9]+):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /)
{
my ($l_pid, $l_unit) = ($1, $2);
my $class = "";
@@ -699,8 +697,8 @@ while ($line = <IN>) {
add_test_line($class, escapeHTML($line));
}
elsif (($unit ne "" and
- $line =~ /^(.*?)($units_re)\.c:(\d+)(:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+).*)$/) or
- $line =~ /^()([_.a-z0-9]+)\.c:(\d+)(:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+).*)$/)
+ $line =~ /^(.*?)($units_re)\.c:(\d+)(:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]{4}).*)$/) or
+ $line =~ /^()([_.a-z0-9]+)\.c:(\d+)(:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]{4}).*)$/)
{
my ($pollution, $l_unit, $l_num, $l_text, $l_pid) = ($1, $2, $3, $4, $5);
my $class = "";
@@ -729,9 +727,7 @@ while ($line = <IN>) {
get_source_link($l_unit, $l_num) .
escapeHTML($l_text));
}
- elsif (($unit ne "" and
- $line =~ /([0-9a-f]+):($unit):[0-9.]* (\d+) tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./) or
- $line =~ /^([0-9a-f]+):([_a-z0-9]+):[0-9.]* (\d+) tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./)
+ elsif ($line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* (\d+) tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./)
{
my ($l_pid, $l_unit, $l_total, $l_todo, $l_failures, $l_skipped) = ($1, $2, $3, $4, $5, $6);
@@ -754,8 +750,8 @@ while ($line = <IN>) {
}
}
elsif (($dll ne "" and
- $line =~ /(\Q$dll\E):([_a-z0-9]+):([0-9a-f]+) done \((-?\d+)\) in /) or
- $line =~ /^([_.a-z0-9-]+):([_a-z0-9]+):([0-9a-f]+) done \((-?\d+)\) in /)
+ $line =~ /(\Q$dll\E):([_a-z0-9]+):([0-9a-f]{4}) done \((-?\d+)\) in /) or
+ $line =~ /^([_.a-z0-9-]+):([_a-z0-9]+):([0-9a-f]{4}) done \((-?\d+)\) in /)
{
my ($l_dll, $l_unit, $l_pid, $l_rc) = ($1, $2, $3, $4);
Module: tools
Branch: master
Commit: 77f52c9e4acadd74d3ae05087511b1ec9771c04e
URL: https://source.winehq.org/git/tools.git/?a=commit;h=77f52c9e4acadd74d3ae050…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Mar 15 10:30:18 2021 +0100
testbot/LogUtils: Improve the pid detection on garbled lines.
The pid is always printed with a fixed width so this should be taken
into account to avoid matching too much. For instance in
'garbage1234:unit.c:...' one should match '1234', not 'e1234' which
would lead to a mismatch with the pids on other lines.
This is particularly important for the exception, summary and done
lines.
This also means the matching can be simplified a bit since we know
where the relevant part of the line starts.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/LogUtils.pm | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm
index e93eac0..eced000 100644
--- a/testbot/lib/WineTestBot/LogUtils.pm
+++ b/testbot/lib/WineTestBot/LogUtils.pm
@@ -321,7 +321,7 @@ sub GetReportLineCategory($)
if ($Line =~ /:[0-9.]* Tests skipped: / or
$Line =~ /^[_.a-z0-9-]+:[_a-z0-9]* skipped / or
$Line =~ /^[_.a-z0-9-]+:\d+:[0-9.]* Line has been silenced after \d+ occurrences$/ or
- $Line =~ /^[0-9a-f]+:[_a-z0-9]+:[0-9.]* Silenced \d+ todos, \d+ skips and \d+ traces\.$/)
+ $Line =~ /^[0-9a-f]{4}:[_a-z0-9]+:[0-9.]* Silenced \d+ todos, \d+ skips and \d+ traces\.$/)
{
return "skip";
}
@@ -459,7 +459,7 @@ sub _AddReportError($$$$)
# Make the timeout messages more user-friendly
my $ErrLine = $Line;
- if ($ErrLine =~ /^[^:]+:([^:]*):[0-9a-f]+ done \(258\)/)
+ if ($ErrLine =~ /^[^:]+:([^:]*):[0-9a-f]{4} done \(258\)/)
{
my $Unit = $1;
$ErrLine = $Unit ne "" ? "$Unit: Timeout" : "Timeout";
@@ -611,9 +611,7 @@ sub ParseWineTestReport($$$)
_CheckUnit($LogInfo, $Cur, $Unit, "ignore exceptions");
$Cur->{IgnoreExceptions} = $Ignore;
}
- elsif (($Cur->{Unit} ne "" and
- $Line =~ /([0-9a-f]+):($Cur->{UnitsRE}):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /) or
- $Line =~ /^([0-9a-f]+):([_.a-z0-9]+):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /)
+ elsif ($Line =~ /([0-9a-f]{4}):([_.a-z0-9]+):[0-9.]* unhandled exception [0-9a-fA-F]{8} at /)
{
my ($Pid, $Unit) = ($1, $2);
_CheckUnit($LogInfo, $Cur, $Unit, "unhandled exception");
@@ -641,8 +639,8 @@ sub ParseWineTestReport($$$)
}
}
elsif (($Cur->{Unit} ne "" and
- $Line =~ /($Cur->{UnitsRE})\.c:\d+:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+)/) or
- $Line =~ /^([_.a-z0-9]+)\.c:\d+:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+)/)
+ $Line =~ /($Cur->{UnitsRE})\.c:\d+:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]{4})/) or
+ $Line =~ /^([_.a-z0-9]+)\.c:\d+:[0-9.]* unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]{4})/)
{
my ($Unit, $Pid) = ($1, $2);
_CheckUnit($LogInfo, $Cur, $Unit, "child exception");
@@ -658,9 +656,7 @@ sub ParseWineTestReport($$$)
$Cur->{LineFailures}++;
}
}
- elsif (($Cur->{Unit} ne "" and
- $Line =~ /([0-9a-f]+):($Cur->{Unit}):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./) or
- $Line =~ /^([0-9a-f]+):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./)
+ elsif ($Line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./)
{
my ($Pid, $Unit, $Todos, $Failures, $Skips) = ($1, $2, $3, $4, $5);
@@ -681,8 +677,8 @@ sub ParseWineTestReport($$$)
}
}
elsif (($Cur->{Dll} ne "" and
- $Line =~ /(\Q$Cur->{Dll}\E):([_a-z0-9]*):([0-9a-f]+) done \((-?\d+)\) in /) or
- $Line =~ /^([_.a-z0-9-]+):([_a-z0-9]*):([0-9a-f]+) done \((-?\d+)\) in /)
+ $Line =~ /(\Q$Cur->{Dll}\E):([_a-z0-9]*):([0-9a-f]{4}) done \((-?\d+)\) in /) or
+ $Line =~ /^([_.a-z0-9-]+):([_a-z0-9]*):([0-9a-f]{4}) done \((-?\d+)\) in /)
{
my ($Dll, $Unit, $Pid, $Rc) = ($1, $2, $3, $4);
@@ -1149,10 +1145,9 @@ sub _GetLineKey($)
# Remove the crash code address: it changes whenever the test is recompiled
or $Line =~ s/^(Unhandled exception: .* code) \(0x[0-9a-fA-F]{8,16}\)\.$/$1/
# or the process id in Wine's exc_filter() lines
- or $Line =~ s/^[0-9a-f]+:([_a-z0-9]+:)[0-9.]*( unhandled exception [0-9a-fA-F]{8} at )[0-9a-fA-F]{8,16}$/$1$2/
+ or $Line =~ s/[0-9a-f]{4}:([_a-z0-9]+:)[0-9.]*( unhandled exception [0-9a-fA-F]{8} at )[0-9a-fA-F]{8,16}$/$1$2/
# or child process id
- or $Line =~ s/^([_a-z0-9]+\.c:)\d+:[0-9.]*( unhandled exception [0-9a-fA-F]{8} in child process )[0-9a-fA-F]{4}$/$1$2/
-
+ or $Line =~ s/^([_a-z0-9]+\.c:)\d+:[0-9.]*( unhandled exception [0-9a-fA-F]{8} in child process )[0-9a-f]{4}/$1$2/
# The exact amount of data printed does not change the error
or $Line =~ s/^([_.a-z0-9-]+:[_a-z0-9]* prints too much data )\(\d+ bytes\)$/$1/;
Module: tools
Branch: master
Commit: f345af68e72c61a944406a51a009891f42011949
URL: https://source.winehq.org/git/tools.git/?a=commit;h=f345af68e72c61a944406a5…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Mar 15 10:30:04 2021 +0100
testbot/reporttest: Add a test for garbled pids.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/src/reporttest/report.template | 10 +++++++++-
testbot/src/reporttest/report.testwtbs | 4 +++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/testbot/src/reporttest/report.template b/testbot/src/reporttest/report.template
index afdc317..8e5f72c 100644
--- a/testbot/src/reporttest/report.template
+++ b/testbot/src/reporttest/report.template
@@ -525,7 +525,15 @@ subprocess crashes either. This is why the error is "Zero exit code" and not
07b0:rebar: 2251 tests executed (0 marked as todo, 0 failures), 0 skipped.
comctl32:rebar:07b0 done (0) in 0s
-stub comctl32:status
+comctl32:status start dlls/comctl32/tests/status.c -
+----- A test unit with a garbled exception and summary pids, and garbled done
+----- line.
+----- Expected assessement: Crash
+This is
+garbled0123:status: unhandled exception c0000005 at 0040167C
+status.c:33: unhandled exception c0000005 in child process 0123dead
+garbled07b0:status: 5 tests executed (0 marked as todo, 1 failures), 0 skipped.
+garbledcomctl32:status:07b0 done (1) in 0s
comctl32:subclass start dlls/comctl32/tests/subclass.c -
----- A test unit with a subprocess crash, and a non-zero exit code
diff --git a/testbot/src/reporttest/report.testwtbs b/testbot/src/reporttest/report.testwtbs
index 09264ca..e198827 100644
--- a/testbot/src/reporttest/report.testwtbs
+++ b/testbot/src/reporttest/report.testwtbs
@@ -13,7 +13,7 @@ with:
----- TestWTBS -----
-p tests.TestFailures 66
+p tests.TestFailures 68
p build.HasTask 0
a wine.log.GrepV ^Applying patch
@@ -50,6 +50,8 @@ n 0 comboex.c:40: Test failed: A failure in the main process
n 0 comboex.c:41: Test succeeded inside todo block: Success in the main process
n 0 header.c:1: Test failed: Something wrong
n 0 1234:rebar: unhandled exception c0000005 at 0040167C
+n 0 garbled0123:status: unhandled exception c0000005 at 0040167C
+n 0 status.c:33: unhandled exception c0000005 in child process 0123dead
n 0 1234:subclass: unhandled exception c0000005 at 0040167C
n 0 Do not cut syslink.c:40: Test failed: Something wrong
n 0 Do not cut syslink.c:41: Test succeeded inside todo block: Something right!
Module: tools
Branch: master
Commit: 60983ec383784ad530b06329cd64c62b46ffede8
URL: https://source.winehq.org/git/tools.git/?a=commit;h=60983ec383784ad530b0632…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Mar 15 10:29:54 2021 +0100
testbot/LibvirtTool: Always use a default deadline if none is set.
VM->ChildDeadline may be unset not only while in debug mode if the VM
is in maintenance mode, but also if another VM sharing the same
hypervisor domain is in maintenance mode.
So rather than relying on the VM status, just use a default value as a
fallback.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/bin/LibvirtTool.pl | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/testbot/bin/LibvirtTool.pl b/testbot/bin/LibvirtTool.pl
index f3ea198..f135b9b 100755
--- a/testbot/bin/LibvirtTool.pl
+++ b/testbot/bin/LibvirtTool.pl
@@ -579,8 +579,7 @@ sub Revert()
if ($ExtraTimeout)
{
Debug(Elapsed($Start), " Extend the $VMKey revert deadline by $ExtraTimeout\n");
- my $Deadline = $VM->Status eq "maintenance" ? (time() + $VMToolTimeout) :
- $VM->ChildDeadline;
+ my $Deadline = $VM->ChildDeadline || (time() + $VMToolTimeout);
$VM->ChildDeadline($Deadline + $ExtraTimeout);
$VM->Save();
}
Module: tools
Branch: master
Commit: 3a661ed93822505924a4857a0ff150787614abe7
URL: https://source.winehq.org/git/tools.git/?a=commit;h=3a661ed93822505924a4857…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Mar 15 10:29:19 2021 +0100
testbot/VMs: Add documentation for VM::GetAgent().
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/VMs.pm | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm
index 53f4394..2cc6c67 100644
--- a/testbot/lib/WineTestBot/VMs.pm
+++ b/testbot/lib/WineTestBot/VMs.pm
@@ -208,9 +208,25 @@ sub GetDomain($)
return LibvirtDomain->new($self);
}
+=pod
+=over 12
+
+=item C<GetAgent()>
+
+Returns a connection to the VM's TestAgent server.
+
+If $Alternate is true, GetAgent() will connect to the TestAgent server running
+on the alternate port. This is typically a server running with higher
+privileges than the one running on the regular port. However note that some
+VMs only run a single TestAgent server with high privileges on the regular
+port.
+
+=back
+=cut
+
sub GetAgent($;$)
{
- my ($self, $Privileged) = @_;
+ my ($self, $Alternate) = @_;
# Use either the tunnel specified in the configuration file
# or autodetect the settings based on the VM's VirtURI setting.
@@ -227,7 +243,7 @@ sub GetAgent($;$)
$TunnelInfo->{username} = $ParsedURI->userinfo;
}
my $Port = $AgentPort;
- $Port++ if ($Privileged);
+ $Port++ if ($Alternate);
return TestAgent->new($self->Hostname, $Port, $TunnelInfo);
}
Module: website
Branch: master
Commit: f5ff87813d90141d48c3c00cd909643e24210443
URL: https://source.winehq.org/git/website.git/?a=commit;h=f5ff87813d90141d48c3c…
Author: Jeremy Newman <jnewman(a)codeweavers.com>
Date: Sun Mar 14 12:04:56 2021 -0500
obscure the forum passcode using script
---
js/utils.js | 9 +++++++++
templates/en/forums.template | 12 ++++++++----
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/js/utils.js b/js/utils.js
index 1e58b31e..d9ea8ddb 100644
--- a/js/utils.js
+++ b/js/utils.js
@@ -28,6 +28,15 @@ $(document).ready(function()
});
})();
+ // reveal forum code
+ $('.getForumKey').click(function(e){
+ e.preventDefault();
+ var code = $(this).data('code');
+ code = atob(code);
+ $(this).hide().after('<code>' + code + '</code>');
+ $(this).removeClass('getForumKey').removeClass('cursor');
+ });
+
});
/*
diff --git a/templates/en/forums.template b/templates/en/forums.template
index 08b268ae..62cd68eb 100644
--- a/templates/en/forums.template
+++ b/templates/en/forums.template
@@ -15,11 +15,11 @@ Here are the most useful ones for users:</p>
<li>If you want to be notified about new releases, subscribe to the <a href="//www.winehq.org/mailman/listinfo/wine-announce">Wine-Announce mailing list</a></li>
</ul>
-<p>Please don't create another English language Wine forum (except perhaps
+<p>Please don't create another English language Wine forum (except perhaps
a Wine area in a popular distro's main forum).</p>
<p>If you know of another active Wine forum - especially a non-English one
-- please let us know so we can add it to the list.
+- please let us know so we can add it to the list.
(Email to dank(a)kegel.com would do.)</p>
<h2>All WineHQ Mailing Lists</h2>
@@ -39,9 +39,13 @@ or just use <a href="//www.winehq.org/mailman/listinfo">the Mailman web interfac
</p>
<p>
<b>Username:</b> <code>mailman</code><br>
- <b>Password:</b> <code>getalist</code>
+ <b>Password:</b> <code class="getForumKey bold cursor" data-code="RnljREw3S2tDdmhXUmJiRQ==
+">**********************</code>
+ </p>
+ <p>
+ Click the code to reveal the actual password.<br>
+ This password may change from time to time, so check back here for changes.
</p>
- <p>This password may change from time to time, so check back here for changes.</p>
</div>
<p><b>Note:</b> You should be subscribed to the lists before you post
Module: website
Branch: master
Commit: b9af2a7f7c03939eb2c64f32e53a62781bb07c0e
URL: https://source.winehq.org/git/website.git/?a=commit;h=b9af2a7f7c03939eb2c64…
Author: Alexandre Julliard <julliard(a)winehq.org>
Date: Fri Mar 12 21:36:31 2021 +0100
Wine release 6.4
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
news/en/2021031201.xml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/news/en/2021031201.xml b/news/en/2021031201.xml
new file mode 100644
index 00000000..fa18106f
--- /dev/null
+++ b/news/en/2021031201.xml
@@ -0,0 +1,18 @@
+<news>
+<date>March 12, 2021</date>
+<title>Wine 6.4 Released</title>
+<body>
+<p> The Wine development release 6.4 is now available.</p>
+<p> <a href="{$root}/announce/6.4">What's new</a> in this release:
+<ul>
+ <li>Support for the DTLS protocol.</li>
+ <li>Fontset support in DirectWrite.</li>
+ <li>Dialog for editing Access Control entries.</li>
+ <li>Theming support for a few more common controls.</li>
+ <li>Support for Korean Wansung encoding.</li>
+ <li>Various bug fixes.</li>
+</ul>
+</p>
+<p>The source is <a href="//dl.winehq.org/wine/source/6.x/wine-6.4.tar.xz">available now</a>.
+Binary packages are in the process of being built, and will appear soon at their respective <a href="{$root}/download">download locations</a>.
+</p></body></news>