Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2019
- 73 participants
- 1394 messages
[PATCH 1/2] testbot/LogUtils: Ignore the variable parts of failure messages.
by Francois Gouget
Some failure messages have to include elements that change with every
run in order to allow diagnosing. But this makes the failure message
look different with every run, thus breaking the detection of new
failures.
So such 'variable' parts can now be enclosed in double parentheses, for
instance "((0x2d))", to let the TestBot know it should ignore this part
when comparing failure messages.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48209
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
I'm open to other ways to identify the variable parts.
testbot/lib/WineTestBot/LogUtils.pm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm
index c57742691..0489f3e5b 100644
--- a/testbot/lib/WineTestBot/LogUtils.pm
+++ b/testbot/lib/WineTestBot/LogUtils.pm
@@ -863,6 +863,10 @@ sub _GetLineKey($)
my ($Line) = @_;
return undef if (!defined $Line);
+ # Remove variable parts.
+ # Use a non-greedy match to ensure the ignored part does not contain '))'.
+ $Line =~ s/\(\(.+?\)\)/(())/g;
+
# Remove the line number
$Line =~ s/^([_a-z0-9]+\.c:)\d+:( Test (?:failed|succeeded inside todo block): )/$1$2/;
--
2.20.1
Dec. 29, 2019
[PATCH] testbot/WineRun*: Trace the disconnection in all WineRun* scripts.
by Francois Gouget
It was already present in WineRunWineTest. There is no reason for it to
be the exception.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/bin/WineRunBuild.pl | 2 ++
testbot/bin/WineRunReconfig.pl | 1 +
testbot/bin/WineRunTask.pl | 2 ++
3 files changed, 5 insertions(+)
diff --git a/testbot/bin/WineRunBuild.pl b/testbot/bin/WineRunBuild.pl
index ccbba3bbf..f33b7bde6 100755
--- a/testbot/bin/WineRunBuild.pl
+++ b/testbot/bin/WineRunBuild.pl
@@ -491,6 +491,8 @@ foreach my $TestInfo (values %{$Impacts->{Tests}})
}
}
}
+
+Debug(Elapsed($Start), " Disconnecting\n");
$TA->Disconnect();
diff --git a/testbot/bin/WineRunReconfig.pl b/testbot/bin/WineRunReconfig.pl
index 985d9312e..9b0b479ee 100755
--- a/testbot/bin/WineRunReconfig.pl
+++ b/testbot/bin/WineRunReconfig.pl
@@ -507,6 +507,7 @@ if ($NewStatus eq "completed")
}
}
+Debug(Elapsed($Start), " Disconnecting\n");
$TA->Disconnect();
diff --git a/testbot/bin/WineRunTask.pl b/testbot/bin/WineRunTask.pl
index a324265eb..6a30de3d3 100755
--- a/testbot/bin/WineRunTask.pl
+++ b/testbot/bin/WineRunTask.pl
@@ -582,6 +582,8 @@ elsif (!defined $TAError)
{
$TAError = "An error occurred while retrieving $RptFileName: ". $TA->GetLastError();
}
+
+Debug(Elapsed($Start), " Disconnecting\n");
$TA->Disconnect();
--
2.20.1
Dec. 29, 2019
[PATCH] testbot/Janitor: Document where filenames are untainted.
by Francois Gouget
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/bin/Janitor.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testbot/bin/Janitor.pl b/testbot/bin/Janitor.pl
index 139faea94..35500e1f0 100755
--- a/testbot/bin/Janitor.pl
+++ b/testbot/bin/Janitor.pl
@@ -261,7 +261,7 @@ if (opendir(my $dh, "$DataDir/staging"))
foreach my $Entry (@Entries)
{
next if ($Entry eq "." or $Entry eq "..");
- $Entry =~ m%^([^/]+)$%;
+ $Entry =~ m%^([^/]+)$%; # untaint
my $FileName = "$DataDir/staging/$1";
my $Age = int((-M $FileName) + 0.5);
--
2.20.1
Dec. 29, 2019
[PATCH] testbot/Janitor: Update the list of files to keep in latest/.
by Francois Gouget
TestAgentd.exe and wine-parentsrc.txt were missing from the list,
resulting in error messages in the log.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/bin/Janitor.pl | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/testbot/bin/Janitor.pl b/testbot/bin/Janitor.pl
index c51637a19..139faea94 100755
--- a/testbot/bin/Janitor.pl
+++ b/testbot/bin/Janitor.pl
@@ -307,6 +307,13 @@ if (opendir(my $dh, "$DataDir/latest"))
foreach my $Entry (@Entries)
{
next if ($Entry eq "." or $Entry eq "..");
+ # Needed to analyze Wine patches
+ next if ($Entry eq "winefiles.txt" or $Entry eq "wine-parentsrc.txt");
+ # Needed to update Windows VMs
+ next if ($Entry eq "TestAgentd.exe");
+ # Needed to run the tests
+ next if ($Entry =~ /^TestLauncher[0-9]*\.exe$/);
+ next if ($Entry =~ /^winetest[0-9]*-latest\.exe$/);
if ($Entry =~ /^([a-zA-Z0-9_]+)_(?:exe|win|wow)(?:32|64)[a-zA-Z0-9_]*\.report(?:\.err)?$/)
{
@@ -315,10 +322,6 @@ if (opendir(my $dh, "$DataDir/latest"))
my $VMName = $1;
next if ($AllVMs->GetItem($VMName));
}
- elsif ($Entry =~ /^(?:TestLauncher[0-9]*\.exe|winefiles.txt|winetest[0-9]*-latest\.exe)$/)
- {
- next;
- }
Trace "Found a suspicious latest file: $Entry\n";
if ($JobPurgeDays != 0)
--
2.20.1
Dec. 29, 2019
[PATCH] tests: Trace elapsed time when $WINETEST_TIME is set.
by Francois Gouget
This simplifies narrowing down where a test gets stuck or is slow if
it times out but prints few messages.
Note that the elapsed time is relative to the current process start
time. So subprocesses will have a different elapsed time.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48094
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
I don't see a good alternative to passing the main start time to
subprocesses without using an environment variable. Using a temporary
file or shared memory would be too much trouble for too little gain. So
in this version each process uses its own start time as a reference for
the elapsed time. Subprocesses will use a different elapsed time but
that's just something to keep in mind when analysing the traces.
Reference:
https://www.winehq.org/pipermail/wine-devel/2019-December/156960.html
include/wine/test.h | 55 +++++++++++++++++++++++++++++++--------------
1 file changed, 38 insertions(+), 17 deletions(-)
diff --git a/include/wine/test.h b/include/wine/test.h
index a919ce81d68..ae0a130fa62 100644
--- a/include/wine/test.h
+++ b/include/wine/test.h
@@ -56,6 +56,9 @@
/* debug level */
extern int winetest_debug;
+/* trace timing information */
+extern int winetest_time;
+
/* running in interactive mode? */
extern int winetest_interactive;
@@ -202,6 +205,10 @@ extern const struct test winetest_testlist[];
/* debug level */
int winetest_debug = 1;
+/* trace timing information */
+int winetest_time = 0;
+DWORD winetest_start_time, winetest_last_time;
+
/* interactive mode? */
int winetest_interactive = 0;
@@ -272,11 +279,20 @@ void winetest_set_location( const char* file, int line )
data->current_line=line;
}
+const char *winetest_elapsed(void)
+{
+ DWORD now;
+
+ if (!winetest_time) return "";
+ winetest_last_time = now = GetTickCount();
+ return wine_dbg_sprintf( "%.3f", (now - winetest_start_time) / 1000.0);
+}
+
void winetest_subtest( const char* name )
{
struct tls_data *data = get_tls_data();
- printf( "%s:%d: Subtest %s\n",
- data->current_file, data->current_line, name);
+ printf( "%s:%d:%s Subtest %s\n",
+ data->current_file, data->current_line, name, winetest_elapsed());
}
int broken( int condition )
@@ -302,8 +318,8 @@ int winetest_vok( int condition, const char *msg, __winetest_va_list args )
{
if (condition)
{
- printf( "%s:%d: Test succeeded inside todo block: ",
- data->current_file, data->current_line );
+ printf( "%s:%d:%s Test succeeded inside todo block: ",
+ data->current_file, data->current_line, winetest_elapsed() );
vprintf(msg, args);
InterlockedIncrement(&todo_failures);
return 0;
@@ -312,8 +328,8 @@ int winetest_vok( int condition, const char *msg, __winetest_va_list args )
{
if (winetest_debug > 0)
{
- printf( "%s:%d: Test marked todo: ",
- data->current_file, data->current_line );
+ printf( "%s:%d:%s Test marked todo: ",
+ data->current_file, data->current_line, winetest_elapsed() );
vprintf(msg, args);
}
InterlockedIncrement(&todo_successes);
@@ -324,17 +340,20 @@ int winetest_vok( int condition, const char *msg, __winetest_va_list args )
{
if (!condition)
{
- printf( "%s:%d: Test failed: ",
- data->current_file, data->current_line );
+ printf( "%s:%d:%s Test failed: ",
+ data->current_file, data->current_line, winetest_elapsed() );
vprintf(msg, args);
InterlockedIncrement(&failures);
return 0;
}
else
{
- if (winetest_report_success)
- printf( "%s:%d: Test succeeded\n",
- data->current_file, data->current_line);
+ if (winetest_report_success ||
+ (winetest_time && GetTickCount() >= winetest_last_time + 1000))
+ {
+ printf( "%s:%d:%s Test succeeded\n",
+ data->current_file, data->current_line, winetest_elapsed() );
+ }
InterlockedIncrement(&successes);
return 1;
}
@@ -357,7 +376,7 @@ void __winetest_cdecl winetest_trace( const char *msg, ... )
if (winetest_debug > 0)
{
- printf( "%s:%d: ", data->current_file, data->current_line );
+ printf( "%s:%d:%s ", data->current_file, data->current_line, winetest_elapsed() );
__winetest_va_start(valist, msg);
vprintf(msg, valist);
__winetest_va_end(valist);
@@ -368,7 +387,7 @@ void winetest_vskip( const char *msg, __winetest_va_list args )
{
struct tls_data *data = get_tls_data();
- printf( "%s:%d: Tests skipped: ", data->current_file, data->current_line );
+ printf( "%s:%d:%s Tests skipped: ", data->current_file, data->current_line, winetest_elapsed() );
vprintf(msg, args);
skipped++;
}
@@ -505,8 +524,8 @@ static int run_test( const char *name )
if (winetest_debug)
{
- printf( "%04x:%s: %d tests executed (%d marked as todo, %d %s), %d skipped.\n",
- GetCurrentProcessId(), test->name,
+ printf( "%04x:%s:%s %d tests executed (%d marked as todo, %d %s), %d skipped.\n",
+ GetCurrentProcessId(), test->name, winetest_elapsed(),
successes + failures + todo_successes + todo_failures,
todo_successes, failures + todo_failures,
(failures + todo_failures != 1) ? "failures" : "failure",
@@ -531,8 +550,8 @@ static LONG CALLBACK exc_filter( EXCEPTION_POINTERS *ptrs )
struct tls_data *data = get_tls_data();
if (data->current_file)
- printf( "%s:%d: this is the last test seen before the exception\n",
- data->current_file, data->current_line );
+ printf( "%s:%d:%s this is the last test seen before the exception\n",
+ data->current_file, data->current_line, winetest_elapsed() );
printf( "%04x:%s: unhandled exception %08x at %p\n",
GetCurrentProcessId(), current_test->name,
ptrs->ExceptionRecord->ExceptionCode, ptrs->ExceptionRecord->ExceptionAddress );
@@ -570,6 +589,8 @@ int main( int argc, char **argv )
if (GetEnvironmentVariableA( "WINETEST_DEBUG", p, sizeof(p) )) winetest_debug = atoi(p);
if (GetEnvironmentVariableA( "WINETEST_INTERACTIVE", p, sizeof(p) )) winetest_interactive = atoi(p);
if (GetEnvironmentVariableA( "WINETEST_REPORT_SUCCESS", p, sizeof(p) )) winetest_report_success = atoi(p);
+ if (GetEnvironmentVariableA( "WINETEST_TIME", p, sizeof(p) )) winetest_time = atoi(p);
+ winetest_last_time = winetest_start_time = GetTickCount();
if (!strcmp( winetest_platform, "windows" )) SetUnhandledExceptionFilter( exc_filter );
if (!winetest_interactive) SetErrorMode( SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX );
--
2.20.1
Dec. 29, 2019
[PATCH] user32/tests: Don't trace the test_topmost() window handles.
by Francois Gouget
They change from one run to the next, causing the failures to always
look new. Also for the topmost failures the window handle is irrelevant:
all that matters is which window got the wrong results.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
See the Windows XP failures:
https://test.winehq.org/data/fa97cbdf14883fb301dcc0a5264369f8ed184182/xp_fg…
For instance:
win.c:10896: Test failed: hwnd 02B4007C topmost state is wrong
win.c:10899: Test failed: 02B4007C: expected NOT topmost
win.c:11126: Test failed: hwnd 00180266 topmost state is wrong
dlls/user32/tests/win.c | 278 ++++++++++++++++++++--------------------
1 file changed, 139 insertions(+), 139 deletions(-)
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index bb4eebfd0fa..46784cec43f 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -10809,99 +10809,99 @@ static void test_topmost(void)
state[1] = hwnd;
state[2] = hwnd2;
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd, HWND_TOP);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd2, hwnd);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd, hwnd2);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd2, HWND_TOP);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(owner, HWND_TOPMOST);
todo_wine
- ok(is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(is_topmost(owner), "owner should be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
todo_wine
- ok(is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(is_topmost(hwnd2), "hwnd2 should be topmost\n");
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner) || broken(is_topmost(owner)) /*win7 64-bit*/, "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2) || broken(is_topmost(hwnd2)) /*win7 64-bit*/, "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner) || broken(is_topmost(owner)) /*win7 64-bit*/, "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2) || broken(is_topmost(hwnd2)) /*win7 64-bit*/, "hwnd2 should NOT be topmost\n");
if (0) /*win7 64-bit is broken*/
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
swp_after(hwnd2, HWND_NOTOPMOST);
- ok(!is_topmost(owner) || broken(is_topmost(owner)) /*win7 64-bit*/, "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner) || broken(is_topmost(owner)) /*win7 64-bit*/, "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd, HWND_BOTTOM);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
swp_after(hwnd, hwnd2);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
/* FIXME: compensate todo_wine above */
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
@@ -10921,161 +10921,161 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
state[4] = hwnd_child;
state[5] = hwnd_grandchild;
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd2), "hwnd2 should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child2), "child2 should be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child2), "child2 should be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd_child, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(is_topmost(hwnd), "hwnd should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child2), "child2 should be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, TRUE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd_grandchild, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd_child, HWND_TOP);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild) || broken(is_topmost(hwnd_grandchild))/*win2008 64-bit*/, "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild) || broken(is_topmost(hwnd_grandchild))/*win2008 64-bit*/, "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_grandchild, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
swp_after(hwnd_child2, HWND_NOTOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild) || broken(!is_topmost(hwnd_grandchild)) /* win8+ */, "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild) || broken(!is_topmost(hwnd_grandchild)) /* win8+ */, "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
@@ -11083,23 +11083,23 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd_child, HWND_BOTTOM);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
@@ -11107,23 +11107,23 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
todo_wine
- ok(is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
- ok(is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(is_topmost(hwnd_child), "child should be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
+ ok(is_topmost(hwnd_grandchild), "grandchild should be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, TRUE);
swp_after(hwnd_child, hwnd_child2);
- ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
- ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
- ok(!is_topmost(hwnd_child), "hwnd %p topmost state is wrong\n", hwnd_child);
- ok(!is_topmost(hwnd_child2), "hwnd %p topmost state is wrong\n", hwnd_child2);
+ ok(!is_topmost(owner), "owner should NOT be topmost\n");
+ ok(!is_topmost(hwnd), "hwnd should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child), "child should NOT be topmost\n");
+ ok(!is_topmost(hwnd_child2), "child2 should NOT be topmost\n");
todo_wine
- ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
+ ok(!is_topmost(hwnd_grandchild), "grandchild should NOT be topmost\n");
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
--
2.20.1
Dec. 29, 2019
[PATCH] msvcp140/tests: Don't trace the current time.
by Francois Gouget
This causes the failure to always look new and the last_write_time
value does not really seem useful.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
This also only fails on my box, but it does not change the fact that a
failure will always look new.
dlls/msvcp140/tests/msvcp140.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/msvcp140/tests/msvcp140.c b/dlls/msvcp140/tests/msvcp140.c
index 751b1beed86..35a650ddbae 100644
--- a/dlls/msvcp140/tests/msvcp140.c
+++ b/dlls/msvcp140/tests/msvcp140.c
@@ -1239,8 +1239,7 @@ static void test_Last_write_time(void)
newtime = last_write_time + 222222;
p_Set_last_write_time(f1W, newtime);
ok(last_write_time != p_Last_write_time(f1W),
- "last_write_time should have changed: %s\n",
- wine_dbgstr_longlong(last_write_time));
+ "last_write_time should have changed\n");
/* test the formula */
file = CreateFileW(f1W, 0, FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
--
2.20.1
Dec. 29, 2019
Re: [PATCH] user32/tests: Fix a test failure on Windows < Vista.
by Sven Baars
On 29-12-2019 06:22, Zebediah Figura wrote:
> On 12/28/19 3:42 PM, Sven Baars wrote:
>> On 28-12-2019 19:09, Zebediah Figura wrote:
>>> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
>>> ---
>>> dlls/user32/tests/winstation.c | 15 +++++++++++----
>>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>
>>
>> Hey Zeb,
>>
>> I looked into this test failure before, and found that it used to work
>> on Vista and XP, but then just started failing at some point. So I was
>> trying to find the cause of this instead of just skipping the test. Did
>> you manage to figure this out? I'm not against skipping it or something,
>> since it may as well have been a testbot update that caused this, but
>> I'm just curious.
>
> Hmm, I wasn't aware of that, no. Do you know when the failure started?
Well, the tests still succeeded in March and April it seems (at least
sometimes):
https://web.archive.org/web/20190422232113/http://test.winehq.org/data/
Dec. 29, 2019
Re: [PATCH] user32/tests: Fix a test failure on Windows < Vista.
by Zebediah Figura
On 12/28/19 3:42 PM, Sven Baars wrote:
> On 28-12-2019 19:09, Zebediah Figura wrote:
>> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
>> ---
>> dlls/user32/tests/winstation.c | 15 +++++++++++----
>> 1 file changed, 11 insertions(+), 4 deletions(-)
>
>
> Hey Zeb,
>
> I looked into this test failure before, and found that it used to work
> on Vista and XP, but then just started failing at some point. So I was
> trying to find the cause of this instead of just skipping the test. Did
> you manage to figure this out? I'm not against skipping it or something,
> since it may as well have been a testbot update that caused this, but
> I'm just curious.
Hmm, I wasn't aware of that, no. Do you know when the failure started?
>
> Best,
> Sven
>
Dec. 29, 2019
Re: [PATCH] user32/tests: Fix a test failure on Windows < Vista.
by Sven Baars
On 28-12-2019 19:09, Zebediah Figura wrote:
> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
> ---
> dlls/user32/tests/winstation.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
Hey Zeb,
I looked into this test failure before, and found that it used to work
on Vista and XP, but then just started failing at some point. So I was
trying to find the cause of this instead of just skipping the test. Did
you manage to figure this out? I'm not against skipping it or something,
since it may as well have been a testbot update that caused this, but
I'm just curious.
Best,
Sven
Dec. 28, 2019