Commit graph

176 commits

Author SHA1 Message Date
Francois Gouget
dfcc45cc17 winetest: Trace the keyboard layout.
It is important for the input tests so add it to the global locale
information.
2023-02-17 18:59:29 +01:00
Francois Gouget
b07129bad4 winetest: Don't use plain strings as format specifiers.
When they contain a percent character they would, at best, not be
printed correctly, and at worst cause a crash.
2023-02-14 09:57:07 +01:00
Francois Gouget
75e8f4edb7 winetest: Let the get_subtests() caller report errors.
The caller already analyses get_subtests() errors and provides
a detailed error message in the information section of the report
so the report(R_ERROR) pop up / stderr message is redundant.
2022-10-20 18:29:59 +02:00
Alexandre Julliard
657cdc1861 winetest: Report failure for tests that print too much output. 2022-09-14 22:38:34 +02:00
Alexandre Julliard
12bf088ac0 winetest: Don't require an email if we have a URL. 2022-09-13 16:22:21 +02:00
Alexandre Julliard
0f96288080 winetest: Report success if the report has been submitted successfully. 2022-09-08 20:36:33 +02:00
Alexandre Julliard
1bc6b9622f winetest: Add extra quiet mode that only outputs data for failed tests. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
4b590b212d winetest: Add helper functions for temp file handling. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
5fabd968d4 winetest: Exit with error 3 when there are test failures. 2022-08-16 22:27:50 +02:00
Alexandre Julliard
3deabed43d winetest: Disable the crash dialog in non-interactive mode. 2022-08-16 17:41:53 +02:00
Alexandre Julliard
6ae99e4da0 winetest: Support loading the list of tests from a file. 2022-08-16 17:41:53 +02:00
Alexandre Julliard
22aceb44e7 winetest: Use CRT allocation functions. 2022-08-16 11:57:39 +02:00
Francois Gouget
bf42dca35f winetest: Also trace the country and ANSI code page.
Tracing the ANSI code page is useful to identify tests run in
Windows' UTF-8 mode.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 22:10:47 +01:00
Eric Pouech
d34b3021b3 winetest: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 11:00:06 +01:00
Eric Pouech
bb1fc33570 include/msvcrt: Add attribute((format)) to printf and scanf -like APIs.
Fix a bunch of warnings generated by this patch and the migration of
GUID.Data1 to long in ae2693e2c4

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:55 +01:00
Eric Pouech
53085f10f1 winetest: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 11:12:47 +01:00
Francois Gouget
2da7e5de23 winetest: Send the tests output to stdout when given "-o -".
This makes it easier to use WineTest with tools that capture stdout,
such as the TestBot.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-20 17:52:07 +01:00
Francois Gouget
2197bc9a92 winetest: Fix handling of relative -d directories.
Convert them to an absolute path so they result in a command line which
is still valid after changing the current directory in CreateProcess().

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Francois Gouget
dc8ef75904 winetest: Create the -d directory if it does not exist already.
'winetest.exe' automatically creates '%TEMP%\wct' (or an alternative new
directory).
'winetext.exe -x DIR' automatically creates DIR.
'winetest.exe -d DIR' now automatically creates DIR too.
In all cases newly created directories are removed after the tests.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 15:37:47 +02:00
Francois Gouget
37ea62f674 winetest: Report GetLastError() when CreateProcess() fails.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:55:30 +02:00
Zhiyi Zhang
b527c13c54 winetest: Enable visual styles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 09:00:16 +02:00
Francois Gouget
f932fb327a winetest: Fix the path to the ntoskrnl.exe/tests source.
It's the only test with a .exe extension for which the source is not in
programs!

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Francois Gouget
5549ad21b3 winetest: Trace skipped dlls when in exclude (-n) mode.
When the command line specifies the list of tests to run, tracing all
the skipped dlls unnecessarily spams the test output.
But when the command line contains the list of (at most 64) excluded
dlls, tracing them ensures tools analysing the report know why the
corresponding dlls were skipped.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 10:53:11 +02:00
Francois Gouget
55f648fac9 winetest: Clarify the 'version not present' error.
Most of the time the library is actually missing (or only available in
the wrong bitness). Show the error code to help diagnose the other
cases.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 18:42:47 +02:00
Francois Gouget
44222dc9f2 winetest: Detect and report the missing side-by-side version errors.
This replaces the 'load error 14001' error message with a clearer 'dll
is missing' information message.

Signed-off-by: Francois Gouget <fgouget@icodeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 18:42:47 +02:00
Francois Gouget
12cfe68267 winetest: Remove the obsolete revision placeholder.
Back in the CVS days the start line contained the revision of the test
file. But it has been replaced by a placeholder since the switch to
Git.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:49:33 +01:00
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
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
André Hentschel
c0e3a265b5 winetest: Remove support for PPC32.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:46:14 +02:00
Michael Stefaniuc
8576d5ad84 winetest: Remove superfluous cast to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Alexandre Julliard
ed6a5e97e0 programs: Make all program entrypoints cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 17:05:47 +02:00
Alexandre Julliard
15c4352f4c winetest: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 11:08:17 +02:00
Alexandre Julliard
3a02bc2ecd winetest: Also check for builtin dll signature.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 19:48:26 +02:00
Francois Gouget
7f37fc1360 winetest: Tweak the wording of an error message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-11 15:54:06 +01:00
Michael Stefaniuc
0b788e9a72 winetest: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:44:12 +02:00
Francois Gouget
9b1431459d winetest: Don't show dll=skipped messages for skipped tests.
This spams the report when using WineTest to run a few tests.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-20 11:22:55 +02:00
Alexandre Julliard
8e3d381419 winetest: Don't require a tag or email address when only running a few tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-27 19:12:23 +02:00
Francois Gouget
873eace6e4 wine/test.h: Identify the process responsible for test summary lines.
Currently the child process summary lines are indistinguishable from the
main process one. This makes it impossible to automatically detect
when a process exits abruptly, i.e. without printing a summary line,
if it has run a subprocess.

This will let analysis tools identify which summary lines correspond to
processes they started and thus when some are missing.  Note also that
in case of a crash the 'unhandled exception' play the same role as the
test summary lines. Thus it is important to also tag them with the pid
of the source process.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 16:45:22 +01:00
Francois Gouget
a83c650362 winetest: Allow sending the report to another server.
This makes it possible to send the reports to both the official server
and a test server.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 22:15:02 +01:00
Francois Gouget
548b650e8a winetest: Explain why the source filename is printed.
It is used by analysis tools like test.winehq.org to link to the
relevant test source file.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:32:03 +01:00
Francois Gouget
8e14f1f79a winetest: There is no special directory anymore.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:31:50 +01:00
Francois Gouget
7bc46c15ef winetest: Flush the report file to disk between each test.
Should Windows crash, this makes it easier to know which test is
responsible.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:00:04 +01:00
Akihiro Sagawa
c908c9c7c9 winetest: Add SystemPreferredUILanguages to the log.
A few GDI functions are affected by System account's display
language (by GetSystemPreferredUILanguages).
2015-06-25 14:29:39 +09:00
Alistair Leslie-Hughes
8885a4a2b9 winetest: Skip over stub dll if detected. 2014-12-03 21:34:26 +01:00
André Hentschel
6d498018cc winetest: Detect real version values. 2014-10-08 20:06:00 +02:00
Frédéric Delanoy
a2473d2985 winetest: Constify a character string. 2013-12-20 10:51:11 +01:00
Frédéric Delanoy
3e5fecc6a4 winetest: Use BOOL type where appropriate. 2013-10-14 10:44:52 +02:00