Commit Graph

8327 Commits

Author SHA1 Message Date
Francois Gouget 100b81e8a8 winetest: Don't parse the test list if 'test --list' failed.
Any non-zero exit code is grounds for ignoring the 'test --list'
output.
This also causes get_subtests() to return the actual process exit code
rather than a generic internal error when it fails to parse the test
list.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 10:47:02 +01:00
Francois Gouget e618fb526d winetest: Fix detecting whether a test can be run or not.
Rather than second-guessing the loader, run 'test.exe --list' with the
critical-error handler message box disabled and use the resulting exit
codes.
But keep the activation context and COM code to improve the chances of
getting the dll version.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45032
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50783
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 10:46:56 +01:00
Francois Gouget 18c12c6dbb winetest: Show more detailed version error information.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 22:22:19 +01:00
Francois Gouget 21e9d51b36 winetest: Simplify the 'dll is native' error message.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 22:22:19 +01:00
Hugh McMaster 272d35afc6 reg: Stop parsing REG_SZ values containing NUL character sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:49:42 +01:00
Hugh McMaster b8b7979f9c regedit: Stop parsing REG_SZ values containing NUL character sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:49:39 +01:00
Hugh McMaster 7eb77bef05 regedit/tests: Add tests for escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Hugh McMaster 53fd4df85f reg/tests: Try exporting registry values with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Hugh McMaster 1c2b966999 reg/tests: Try importing registry files with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Hugh McMaster aa98e3f6da reg/tests: Try deleting strings containing escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Francois Gouget e9a0eeff41 winetest: Avoid duplicating the extract_test_proc() cleanup code.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Rémi Bernon 6eff0342ad winedbg: Don't dereference possibly NULL thread pointer.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 18:43:22 +01:00
Hugh McMaster 73f69d66b3 reg/tests: Always specify the expected exit code in error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 21:33:43 +01:00
Hugh McMaster 37ad10d92a reg/tests: Update value names in 'add' overwrite test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 21:33:43 +01:00
Hugh McMaster c5b7f04eea reg/tests: Add some tests for strings containing the characters backslash zero.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 21:33:43 +01:00
Hugh McMaster f5c24e2c34 reg/tests: Group REG_SZ default value tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 21:33:43 +01:00
Chao Long 7dba53a0f2 wmic: Add missing aliases.
Signed-off-by: Chao Long <longchao@uniontech.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:29 +01:00
Hugh McMaster e3a738b156 reg/tests: Pass __FILE__ from the caller so the correct filename is shown in error logs.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Francois Gouget e0d1bec916 conhost: Add a trailing linefeed to TRACE() and ERR() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:42:44 +01:00
Francois Gouget 63958c1345 fsutil/tests: Add a trailing linefeed to an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:42:38 +01:00
Hugh McMaster 17023a8100 reg/tests: Comprehensively check for elevated privileges before starting Windows 3.1 import tests.
The existing check fails to adequately determine the program's elevation
status on systems where the test key already exists. This can cause all
Windows 3.1 import tests to fail on systems with a standard user account.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 17:56:28 +01:00
Hugh McMaster b369af9ac5 reg/tests: Fix copy/paste typo in reg.exe availability check.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 17:56:25 +01:00
Hugh McMaster 3c2db20f66 reg/tests: Rename reg.c to add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:25:23 +01:00
Hugh McMaster cc4cc7086f reg/tests: Split 'copy' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:25:09 +01:00
Hugh McMaster 60701b0298 reg/tests: Split 'export' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:48 +01:00
Hugh McMaster fc5816a61e reg/tests: Split Windows 3.1 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:46 +01:00
Hugh McMaster 56d9d0f791 reg/tests: Split whitespace 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:44 +01:00
Hugh McMaster 2e33ab5559 reg/tests: Split first sequence of Unicode 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:37 +01:00
Hugh McMaster 58863f5331 reg/tests: Split first sequence of 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:37 +01:00
Hugh McMaster 81a8938fa3 reg/tests: Split 'query' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:23 +01:00
Hugh McMaster d3f9eaeb54 reg/tests: Split 'delete' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:24:08 +01:00
Hugh McMaster d1fbb6b999 regedit/tests: Remove elevated user checks from the Windows 3.1 test sequences.
The tests only run if regedit.exe is started with elevated privileges.
This is determined when the test suite is invoked.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 08:57:02 +01:00
Hugh McMaster bedd54c968 regedit/tests: Comprehensively check for elevated privileges before starting tests.
Calls to regedit.exe on user accounts with standard privileges trigger a UAC
prompt. Not responding to the prompt eventually causes a test timeout, so
use registry API calls to determine if the tests are running with elevated
privileges.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 08:56:59 +01:00
Hugh McMaster ee579a0f1d regedit/tests: Add tests for forward and back slashes in key and value names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:58 +01:00
Hugh McMaster 704bd45da5 regedit/tests: Add additional tests with embedded NUL characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:56 +01:00
Hugh McMaster 294be8b7a2 regedit/tests: Use delete_key() and delete_tree() where possible.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:53 +01:00
Hugh McMaster a3b1743ced regedit/tests: Replace RegCloseKey() with the helper function close_key().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:49 +01:00
Hugh McMaster c86e62442f regedit/tests: Ensure test key is fully removed before each sequence begins.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:42 +01:00
Hugh McMaster 8a43d29ef4 regedit/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:03:34 +01:00
Hugh McMaster 3fd57fd995 reg/tests: Add tests for forward and back slashes in key and value names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 14:42:07 +01:00
Hugh McMaster 6c62ffeca7 reg/tests: Add additional tests with embedded NUL characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:55 +01:00
Hugh McMaster 93fbe09ed0 reg/tests: Replace RegCloseKey() with the helper function close_key().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:53 +01:00
Hugh McMaster 5cacd496a1 reg/tests: Verify registry export after each empty key test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:51 +01:00
Hugh McMaster b51b969a01 reg/tests: Always overwrite export test file during 'export' sequence.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:49 +01:00
Hugh McMaster 597a12420b reg/tests: Check for key non-existence with verify_key_nonexist().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:47 +01:00
Hugh McMaster e6e227f21d reg/tests: Move /v* syntax tests to the 'add' and 'delete' test sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:45 +01:00
Hugh McMaster 405853adb5 reg/tests: Ensure test key is fully removed before each sequence begins.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:43 +01:00
Hugh McMaster add814af3e reg/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:22:40 +01:00
Jacek Caban 9e97f3513e conhost: Avoid assumption about the exact Unix cursor position after writing to the last column.
Spotted by Roman Pišl.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50581
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00
Rémi Bernon f5ca06016d plugplay: Broadcast WM_DEVICECHANGE message asynchronously.
It may otherwise trigger a nasty race condition, where:

1) For explorer.exe to register the CLSID_ShellWindows classes, it
   needs RpcSS service to be started,

2) services.exe may start WinePlugPlay service group first, waiting for
   its startup to complete,

3) during startup and early device enumeration, hidclass.sys may call
   IoSetDeviceInterfaceState, which calls plugplay_send_event [1],

4) plugplay_send_event tries to broadcast a WM_DEVICECHANGE message with
   BSF_QUERY, waiting for the individual threads to reply,

5) which times-out because window threads are waiting on explorer.exe
   to create its desktop window and reply to the WM_NULL SendMessage.

This happens more likely as there is threads with message queues
being started, each waiting on the desktop window to reply. Usually
explorer.exe is able to reply to some messages with the implicit
message processing while creating its window, but not all of them.

[1] Not completely sure how, it looks like some RPC too, but before
    RpcSs is started?

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00