Alexandre Julliard
69849bd2ee
widl: Don't skip a pointer level for pointers to pointers to strings.
2024-03-27 11:26:10 +01:00
Alexandre Julliard
18bdd435f1
rpcrt4/tests: Fix some malloc/HeapAlloc mismatches.
...
Fixes regressions caused by a38e05636d
.
2024-02-16 16:43:18 +01:00
Alex Henrie
a38e05636d
rpcrt4/tests: Use CRT allocation functions.
2024-02-14 19:19:32 +01:00
Haoyang Chen
6b6aff8322
rpcrt4/tests: Test explicit_handle.
2023-12-04 22:10:23 +01:00
Alexandre Julliard
c432eac726
makefiles: Always use the global SOURCES variable for .idl files.
2023-11-01 22:43:50 +01:00
Alexandre Julliard
a345f985c0
rpcrt4/tests: Use nameless unions/structs.
2023-07-21 21:27:35 +02:00
Huw Davies
fc6af061fa
rpcrt4/tests: Remove a failing test.
2023-02-08 09:02:00 +01:00
Rémi Bernon
3356ba6810
rpcrt4/tests: Avoid invalid free of static string.
2023-01-13 11:16:04 +01:00
Alex Henrie
e09c93de7b
rpcrt4/tests: Don't use an array of pointers in test_conf_complex_struct.
...
An array of pointers isn't conformant on 64-bit and will overrun the
destination buffer when unmarshalling. Since the purpose of this
function is to test a conformant FC_BOGUS_STRUCT, use one that is
conformant on both 32-bit and 64-bit.
The revised test coincidentally reveals that there is a problem with the
padding or alignment after a marshalled 16-bit enum, which will need to
be addressed separately.
Co-authored-by: Zebediah Figura <z.figura12@gmail.com>
2022-12-03 00:05:17 +01:00
Eric Pouech
c5e23886b2
rpcrt4: Fix unexpected exception in ndr_marshal tests.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52909
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-07 21:13:32 +01:00
Francois Gouget
e7be6ae2f1
rpcrt4/tests: Fix the spelling of a couple of comments.
2022-10-20 20:58:06 +02:00
Kevin Puetz
a7be4256f6
rpcrt4: Add a refcount owned by MIDL_STUB_MESSAGE.
...
In cases where this could have been use-after-free, exceptions were
caught/hidden by RpcTryFinally, but still lead to leaks since
NdrProxyFreeBuffer wasn't able to call IRPCChannelBuffer::FreeBuffer.
StdProxy_GetChannel() now AddRef() on its return value (used to set
__proxy_frame::_StubMsg::pRpcChannelBuffer), and NdrProxyFreeBuffer()
calls the corresponding Release() and clears the now-weak pointer.
This makes the behavior of these function match the observed test
results, and fixes the crash/leak when a proxy is released mid-Invoke.
2022-10-11 17:13:02 +02:00
Kevin Puetz
59f39b325d
rpcrt4/tests: Add tests for lifetime of IRpcChannelBuffer.
...
It's possible for a proxy to be released during the middle of an Invoke.
E.g. a specific case where this happened was a single-shot event sink
which, upon receiving the event it was waiting for, would immediately
call DispEventUnadvise. This removed the proxy pointing to that sink
from the connection point's list of subscribers and released the last
refcount on the proxy itself.
Therefore, all state used to complete an RPC call must be on the stack;
once NdrProxySendReceive pumps STA messages and permits reentrancy,
the proxy cannot be accessed or relied on to own anything.
Add test showing MIDL_STUB_MESSAGE::pRpcChannelBuffer owns a refcount
(to ensure it can read [out] parameters from the channel)
2022-10-11 17:13:00 +02:00
Zhiyi Zhang
a0301f7db6
rpcrt4: Implement I_RpcBindingInqLocalClientPID().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-07-18 19:17:44 +02:00
Zhiyi Zhang
056dbb04de
rpcrt4/tests: Add I_RpcBindingInqLocalClientPID() tests.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-07-18 19:17:44 +02:00
Eric Pouech
c5a5143234
rpcrt4/tests: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:06:50 +01:00
Fabian Maurer
0d7f7bec9d
rpcrt4/tests: Avoid "misleading indentation" warnings.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard
8e0b337df1
rpcrt4/tests: Use the correct scanf format for a handle.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:50:02 +01:00
Nikolay Sivov
54f9b33476
rpcrt4/tests: Always run tests that don't require special permissions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 11:33:47 +02:00
Jacek Caban
fcf545f449
winapi: Use __alignof__ on clang.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 15:30:07 +01:00
Alexandre Julliard
b61cfa8823
rpcrt4/tests: Avoid a printf format warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:38:25 +01:00
Michael Stefaniuc
d452c7574f
rpcrt4: Use wide-char string literals.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Serge Gautherie
743ed29af5
winapi_test: Update generated.c files.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Serge Gautherie
99c0ab2ea1
winapi_test: Restore horizontal alignment of macro defines.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Serge Gautherie
151af8c042
winapi_test: Remove MIDL_STUB_MESSAGE field exclusions.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Dmitry Timoshkov
59c0dbb642
rpcrt4/tests: Add some tests for marshalling embedded conformant arrays.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Dmitry Timoshkov
bd995ea871
rpcrt4/tests: Fix compilation with MS VC.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Zhiyi Zhang
d3a934be36
rpcrt4: Implement RpcIfInqId().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49257
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Francois Gouget
a909baeb4e
tests: Report all errors when failing to wait for a child process.
...
Report the line number where the test failed to wait for the child so
one can identify which child process did not behave as expected.
Also wait_child_process() is meant for the general case so report
all non-crash error cases as test failures so they are accounted for.
Omit the "winetest_" prefix to match the other Wine test functions and
so the underlying winetest_wait_child_process() function can be wrapped
with the usual line-capturing macros.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:51:44 +01:00
Serge Gautherie
57f08ba525
rpcrt4/tests: Remove now useless forced 0x0500 API versions.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:27:16 +01:00
Serge Gautherie
aa384d3642
tools: Remove 0x0501 API versions forced by winapi_test.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 20:10:44 +01:00
Zebediah Figura
c2b4d98f23
rpcrt4/tests: Pass the default maximum call limit to RpcServerListen().
...
The tests intermittently crash on 2008 with RPC_S_SERVER_TOO_BUSY. I suspect
this is due to the server spawned in run_server having a call limit of 20 but
being expected to service 32 threads. Use the default parameter in an attempt
to prevent this failure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-15 22:03:36 +01:00
Alexandre Julliard
822e2773d4
rpcrt4/tests: Increase some timeouts.
...
These are too short when running under QEMU.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Jacek Caban
994976dcb3
rpcrt4/tests: Avoid type redefinition.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46680
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 17:57:59 +01:00
Jacek Caban
83b9438029
widl: Fix handling context handle return type in mixed mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:32:36 +01:00
Jacek Caban
78d75e4a22
rpcrt4/tests: Add context handle marshaling tests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:08 +01:00
Jacek Caban
f634a84fda
rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 16:25:58 +01:00
Jacek Caban
d73a6bae08
rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:42:44 +01:00
Sven Baars
ec921c2d15
rpcrt4/tests: Fix some memory leaks (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-16 17:15:09 +01:00
Francois Gouget
83d1f1a3be
rpcrt4/tests: Make create_server_process() static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 10:05:53 +01:00
Zebediah Figura
f848d03f95
rpcrt4: Fix handling of FC_ALIGNM* directives.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 09:57:21 +01:00
Zebediah Figura
9a46a1fc9e
rpcrt4/tests: Add a test for FC_ALIGNM* directives.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 09:57:19 +01:00
Zebediah Figura
666bbe084e
rpcrt4: Avoid reference leaks when unmarshalling [in, out] pointers.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:00 +01:00
Zebediah Figura
b7cc627c6e
rpcrt4/tests: Add some tests for marshalling interface pointers.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:48 +01:00
Zebediah Figura
03be1605db
rpcrt4: Ignore fMustAlloc in PointerUnmarshall().
...
Use our own heuristics to decide whether we, or the inner routine, must
allocate.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Jacek Caban
cae3d28a9b
rpcrt4/tests: Add a test of client reconnecting on send failure.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:33:42 +02:00
Jacek Caban
8a48621fc9
rpcrt4: Add RpcExceptionFilter implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:33:42 +02:00
Jacek Caban
d6c94be74d
rpcrt4/tests: Get rid of no longer needed win9x checks.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:33:38 +02:00
Zebediah Figura
5fae77e4db
rpcrt4: Unmarshal into a stack pointer on the server side if possible.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 10:01:20 +02:00