Commit Graph

154 Commits

Author SHA1 Message Date
Dmitry Timoshkov c70a303cd4 kernel32: Implement IsWow64Process2.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 11:05:53 +02:00
Dmitry Timoshkov 51ff9aa7cc kernel32/tests: Fix compilation with PSDK.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 09:15:46 +02:00
Derek Lesho d8d6a6b2e6 server: Partially implement JobObjectBasicAccountingInformation.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Francois Gouget 405fd5927a kernel32/tests: Fix the grammar and formatting of a process comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 20:31:18 +01:00
Francois Gouget 7e1b131a85 kernel32/tests: Add a couple of process helper functions.
wait_and_close_child_process() simplifies waiting for the child process
and closing its handles. And because it uses wait_child_process() this
ensures that any error happening in the child process is detected.
reload_child_dump() wraps a cryptic WritePrivateProfileStringA() call
and avoids having to add a comment every time.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 20:31:18 +01:00
Francois Gouget f08abe0811 kernel32/tests: Remove an unneeded sprintf() in the process tests.
The buffer content is not used before being overwritten again.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:36:40 +01:00
Francois Gouget 9d38c4864c kernel32/tests: Fix a race condition in test_QueryInformationJobObject().
The process must still be running for AssignProcessToJobObject() to
succeed.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:36:34 +01:00
Francois Gouget dd4fad93e4 kernel32/test: Fix the semaphore handling in test_WaitForJobObject().
Don't include 'sync ' in the semaphore name because it will end up as
a separate argument in the child process, causing it to not find the
semaphore.  Switch the child to OpenSemaphoreA() to reduce the risk of
accidentally create a new semaphore instead of opening the parent's
one.  Use wait_child_process() instead of a raw
WaitForSingleObject(). The timeout is longer but the process is
expected to exit immediately anyway and this allows proper handling of
child failures (such as if there is a bug with the semaphore
handling).

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:33:11 +01:00
Francois Gouget 435b41ec7c kernel32/tests: Clean up the argv[0] tests and improve coverage.
The argv[0] tests mostly care about the value of argvA0 in the child
process. So remove most of the extra arguments and use the remaining
ones to check other aspects.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:42:05 +01:00
Francois Gouget 496100b9a7 kernel32/tests: Remove a 100 ms sleep in 'process exit' children.
Such a short pause cannot serve any purpose and this shaves off 1 to 2
seconds of run time.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 10:11:44 +01:00
Francois Gouget 5a66e3e0d8 kernel32/tests: Fix a race condition in test_WaitForJobObject().
Synchronize with the child process to ensure it does not exit before
being added to the test job.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48642
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:58:19 +01:00
Francois Gouget e4c15b5bbd kernel32/tests: Fix test_Toolhelp()'s nested process lookup.
On Windows, processes are not reassigned to pid 1 when their parent
dies. This means many processes could have the same ppid despite being
started by unrelated processes. It also means test_Toolhelp() cannot
reliably look up the nested process by its ppid.
So look up for the nested process by its pid and only then check its
ppid, executable file, etc.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48664
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:26 +01:00
Francois Gouget 8adca32727 kernel32/tests: Check if CreateProcess() resets STARTUPINFO/PROCESS_INFORMATION.
Our test framework depends on CreateProcess() initializing the
hProcess field in case of a failure.  The process tests depend on it
not modifying the STARTUPINFO fields.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-24 18:50:19 +01:00
Francois Gouget 1d8ee10064 kernel32/test: Simplify a couple of calls to 'process exit'.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-24 18:50:19 +01:00
Francois Gouget 995b44fe61 kernel32/tests: Avoid a race in test_WaitForJobObject().
Waiting for and closing the job object does not kill the child process
which then may print its 'tests executed' line at the same time as the
parent traces, sometimes mangling failure messages.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-24 18:41:45 +01:00
Francois Gouget cd523f3049 kernel32/tests: Simplify the name of the test unit for child processes.
The official name (shown by --list) has no path nor extension.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 09:13:00 +01:00
Francois Gouget eec3ad5e7c kernel32/tests: Clarify the process's quotes handling comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-19 20:26:53 +01:00
Rémi Bernon c2b81e8dfd kernel32/tests: Fix some format-overflow warnings.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Alexandre Julliard c8f3383696 include: Allow using debug.h in tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:15 +01:00
Paul Gofman 3a47598bb3 kernel32/tests: Test invalid parent handle in test_parent_process_attribute().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:16:00 +01:00
Paul Gofman 74a74556dd server: Support creating processes with specified parent.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47817
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:13:36 +01:00
Paul Gofman 52d8ea3aa8 kernel32/tests: Add a basic test for PROC_THREAD_ATTRIBUTE_PARENT_PROCESS process creation attribute.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Sven Baars aaaaec8642 kernel32/tests: Remove a test that shows inconsistent results.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Serge Gautherie 7e0acf14cc kernel32/tests: Test QueryFullProcessImageNameW() flags.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:28:38 +02:00
Alexandre Julliard d4ef782db7 makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Brendan McGrath 87917df887 kernel32: Allow double quote style escape in argv.
Two quotes together (within outer quotes) represents a single
quote (with the first quote acting as an escape character)

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46721
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:13:29 +01:00
Nikolay Sivov 982b93148c kernel32/tests: Fix skips for implemented functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:51 +01:00
Alistair Leslie-Hughes 0a7293a8e3 kernel32/tests: Tests for ProcessCookie in NtQueryInformationProcess.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 18:29:04 +02:00
Michael Stefaniuc 80be3a460b kernel32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 22:02:48 +02:00
Michael Müller 69029d70f6 ntdll: Implement ProcessImageFileNameWin32 in NtQueryInformationProcess.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:57:37 -06:00
Mark Jansen 85f515292a kernel32/tests: Close process / thread handles.
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-23 15:54:45 +01:00
Alexandre Julliard a83532d8dd ntdll: Store the context on the thread stack after the initial suspend.
The initial stack pointer may have been modified during suspend.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:45 +01:00
Francois Gouget 8f35b20a11 kernel32/tests: A couple spelling fixes in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 22:47:23 +01:00
André Hentschel a1da7dbd2b kernel32/tests: Don't test functions directly when reporting GetLastError().
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-02 11:10:39 +01:00
Alexandre Julliard b802f88319 kernel32/tests: Add a test for the thread initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 19:06:44 +01:00
Alexandre Julliard 8477ae27a8 ntdll: Fixup imports in the first thread that runs, even if it's not the main one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-20 20:24:39 +01:00
Jonathan Doron 2f8c9d449b kernel32/tests: Test suspended process with new thread.
Test the exe imports resolve time if a new thread is being created in
a new suspended process.

Signed-off-by: Jonathan Doron <jond@wizery.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-20 17:10:47 +01:00
Andrey Gusev c9e37d8142 kernel32/tests: Remove redundant comparison.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 20:31:05 +02:00
Alexandre Julliard 0eefa76791 ntdll: Suspend the process before attaching dlls, using the process initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:43:00 +02:00
Alexandre Julliard 985cf6731c kernel32/tests: Add tests for the register values at process start.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 16:52:58 +02:00
Jonathan Doron 6a49f4d5f3 kernel32/tests: Test suspended process states.
Signed-off-by: Jonathan Doron <jond@wizery.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-15 17:01:21 +02:00
Alexandre Julliard 47ddc57571 kernel32/tests: Avoid some delays in the process test.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-14 17:31:55 +02:00
Michael Müller 62ae2ae1a1 ntdll: Add stub for JobObjectBasicAccountingInformation and JobObjectBasicProcessIdList.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 11:09:46 +02:00
Huw Davies bdf50d883d kernel32/tests: Always retrieve the output mode.
Fixes a compiler warning.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:10 +01:00
Daniel Lehman d14456ceff kernel32/tests: Don't call DeleteFile from assert().
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:46:24 +01:00
Vincent Povirk 0ad641af9c kernel32: DETACHED_PROCESS doesn't affect STARTUPINFO console handles.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 11:14:25 +01:00
Vincent Povirk b1b4de5d6b kernel32: DETACHED_PROCESS prevents automatic std handle inheritance.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 11:13:59 +01:00
Huw Davies 4c146152dd kernel32: Implement Process thread attribute lists.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 15:44:01 +01:00
Roman Pisl ddfc5275af process: Make PROCESS_QUERY_LIMITED_INFORMATION sufficient for QueryFullProcessImageName().
Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-17 16:55:14 -07:00
Sebastian Lackner 225498662e kernel32/tests: Use inline implementation of NtCurrentTeb for process tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 09:52:39 +09:00