Commit graph

245 commits

Author SHA1 Message Date
James Hawkins
080d8e7261 rpcrt4: Fix several test failures in Vista. 2008-08-29 13:24:22 +02:00
Paul Vriens
00662a190d rpcrt4/tests: Skip ok check for win9x. 2008-08-28 11:24:49 +02:00
Rob Shearman
bce9cd38b0 rpcrt4: Add tests for RpcBindingReset. 2008-08-27 13:21:21 +02:00
Rob Shearman
c5dd3f079c rpcrt4: Test the endpoint mapper for the ncalrpc protseq as well as the ncacn_np protseq. 2008-08-19 12:25:42 +02:00
Rob Shearman
ef5a5a4490 rpcrt4: Fix RpcStringBindingComposeA/W and RpcStringBindingParseA/W to escape and unescape delimiters in the string binding.
This behaviour is stated by the DCE/RPC specification and is also
shown in the rpcrt4 conformance tests.
2008-08-18 14:36:45 +02:00
Rob Shearman
90bd74081a rpcrt4: Add test for RpcBindingToStringBindingA. 2008-08-18 14:36:23 +02:00
Rob Shearman
518242ef33 rpcrt4: Add tests for a complex struct with conformant array. 2008-08-18 14:34:40 +02:00
Rob Shearman
1eaea13ebb rpcrt4: Validate the uuid portion of the string passed to RpcStringBindingParseA/W. 2008-07-31 13:25:55 +02:00
Alexandre Julliard
79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins
490443ed4b rpcrt4: Fix a test that fails in win2k3. 2008-07-08 10:48:06 +02:00
James Hawkins
d0a8fd48a9 rpcrt4: Fix a failing test in win2k. 2008-07-02 12:17:01 +02:00
James Hawkins
ee24a372be rpcrt4: Fix a few failing tests in win2k. 2008-07-01 15:00:08 +02:00
Alexandre Julliard
e213ac9aca widl: Add some support for unencapsulated unions that need a conformance descriptor. 2008-07-01 12:25:44 +02:00
Rob Shearman
1a978cb460 rpcrt4: Add tests for endpoint mapper functions. 2008-06-26 12:20:31 +02:00
Rob Shearman
0c095ee0d3 rpcrt4: Fix NdrConformantVaryingStructUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers. 2008-06-23 19:46:29 +02:00
Kai Blin
533419cb35 rpcrt4: Ignore the AuthzSvr parameter for RPC_C_AUTHN_WINNT. 2008-06-23 14:04:46 +02:00
Rob Shearman
f82488823b rpcrt4: Add test for using a conformant varying structure with pointers. 2008-06-23 14:04:39 +02:00
Rob Shearman
7f1b7c51be include: Add new bitfields to MIDL_STUB_MESSAGE added in Vista SDKs.
Move fBufferValid to a bitfield and update the corresponding tests in rpcrt4.
Add tests for the new fields.
2008-06-23 12:48:59 +02:00
Rob Shearman
52911fc66c include: Update the MIDL_STUB_MESSAGE structure.
Reduce the size of the IsClient field, as is done in the latest SDKs
to fix NdrClientInitializeNew tests on XP SP3 and Win2003+.
2008-06-19 11:54:49 +02:00
Rob Shearman
9060d2aaab Update generated packing tests using current headers. 2008-06-18 15:21:48 +02:00
Rob Shearman
3f92030e2d rpcrt4: Zero the memory of the s1 structure in test_simple_struct to avoid a Valgrind warning. 2008-06-18 13:50:08 +02:00
Rob Shearman
fd8cb3f9c2 rpcrt4: Reduce the timeout of waiting on the stop event in the server test to one second.
The stop event should already be signaled by the time we get to that
point since we wait until the child processes terminate in the server
process and the stop event is signaled in the context of one of the
child processes.

Don't call RpcMgmtWaitServerListening if the call to
WaitForSingleObject failed since it is likely that s_stop() hasn't
been called and therefore the call to RpcMgmtWaitServerListening won't
ever return.
2008-06-18 13:50:01 +02:00
Rob Shearman
9ce356c966 rpcrt4: Save the previous BufferLength in test_ndr_buffer and use it when testing the expected buffer length after the NdrFreeBuffer call.
This fixes a test failure on Win2003 upwards when the allocated length
appears to be rounded up to a multiple of 4.
2008-06-18 13:49:56 +02:00
Rob Shearman
c9ef063e12 rpcrt4: Fix ndr_marshall tests to cope with using pointer ids instead of using pointer values.
This fixes a number of test failures on XP SP3 and Win2003 upwards.
2008-06-18 13:49:48 +02:00
Rob Shearman
9196337e09 rpcrt4: Clear a hole in the ps1 structure in test_simple_struct. 2008-06-13 10:17:03 +02:00
Rob Shearman
c82ffcec60 rpcrt4: Initialise the array to be marshalled in test_conformant_array. 2008-06-13 10:16:51 +02:00
Paul Vriens
e7ef88beda rpcrt4/tests: Fix test failures for win9x, NT4, W2K and XP-SP1. 2008-06-12 12:03:30 +02:00
Rob Shearman
a1a5d8d02a rpcrt4: Use RpcServerRegisterIfEx with RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH in the server test.
This allows the test to run correctly on XP SP2 upwards instead of
failing with ERROR_ACCESS_DENIED.
2008-06-10 11:33:21 +02:00
James Hawkins
3978df4e52 rpcrt4: Trace the results of two statuses that return different results across platforms. 2008-05-26 18:00:08 +02:00
Maarten Lankhorst
fd7b277d8a rpcrt4: Fix ndr_marshall test failures.
Created with help from Robert Shearman.
2008-05-07 20:22:56 +02:00
Rob Shearman
02c66c2312 rpcrt4: Add better traces for the server test.
Handle failure to use one or more protocol sequences more gracefully, as 
ncacn_np servers aren't support on Win9x and ncacn_ip_tcp fails on some 
machines.
2008-05-07 17:48:12 +02:00
Francois Gouget
42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Alexandre Julliard
dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Austin English
313a85f163 Spelling fixes. 2008-04-17 12:25:57 +02:00
Rob Shearman
4efff32291 rpcrt4: Test and fix I_RpcExceptionFilter. 2008-04-16 14:07:31 +02:00
Dan Hipschman
2fa83d94c8 widl: Make structures with FC_ENUM16 fields complex.
Structures containing enum fields without the v1_enum attribute must be
treated as complex because of the range check and memory/wire size
differences.  This includes a test which didn't pass before and now
passes on Wine and Windows.
2008-03-21 11:24:28 +01:00
Paul Vriens
6832c8327d rpcrt4/tests: Make tests run on win9x/NT4 again. 2008-02-28 12:57:02 +01:00
Rob Shearman
f7628b69b0 rpcrt4: Add tests for RpcStringBindingParseA. 2008-02-28 10:50:57 +01:00
Dan Hipschman
2d7b1f18b1 widl: Allow is_string_type to work for typedef'd types. 2008-02-22 12:04:26 +01:00
Paul Vriens
e2539cb9e5 rpcrt4/tests: Don't crash on WinXP SP3. 2008-02-11 20:41:40 +01:00
Paul Vriens
517168b4c5 rpcrt4/tests: Vista uses the same status values as Windows 2003. 2008-02-11 20:41:40 +01:00
Paul Vriens
8554db9f5c rpcrt4/tests: Skip rest of the tests if we fail. 2008-02-08 12:08:32 +01:00
Paul Vriens
a9e29c7576 rpcrt4/tests: Change test for Windows 2003. 2008-02-08 12:08:25 +01:00
Alexandre Julliard
05c7174909 tests: Add a helper routine to wait for a child process and propagate its result correctly. 2008-02-07 12:56:00 +01:00
Rob Shearman
7bc9e425f1 rpcrt4: Fix memory leaks in the rpc tests. 2008-02-04 13:04:37 +01:00
Rob Shearman
68c8e5fe41 rpcrt4: Add tests for RPC_FC_P_DEREF|RPC_FC_P_ONSTACK pointers. 2008-01-16 15:34:26 +01:00
Francois Gouget
f6fab295f3 Fix spelling error in the generated conformance test files. 2008-01-16 12:46:18 +01:00
Rob Shearman
1a3d7c77a5 rpcrt4: Allow NULL networkaddr and endpoint in rpcrt4_np_get_top_of_tower.
Add tests for this.
2008-01-15 14:35:35 +01:00
Rob Shearman
492947aa02 rpcrt4: Fix a memory leak in the cstub tests. 2008-01-09 13:38:02 +01:00
Rob Shearman
24ba6a5cc6 rpcrt4: Fix memory leaks in the ndr_marshall tests. 2008-01-09 13:38:02 +01:00
Rob Shearman
e0c67a189b rpcrt4: Implement NdrMapCommAndFaultStatus.
Add tests for this function.
2008-01-09 12:25:50 +01:00
Rob Shearman
ea44471088 rpcrt4: Implement RpcAsyncInitializeHandle. 2008-01-07 22:55:46 +01:00
Rob Shearman
1da9d47f1b rpcrt4: Add tests for some async RPC functions. 2008-01-07 22:55:44 +01:00
Rob Shearman
31676530c2 rpcrt4: Set the ProcNum of RPC_MESSAGE in NdrClientInitializeNew to include RPC_VALID_FLAGS_BIT.
Mask out RPC_VALID_FLAGS_BIT from ProcNum when it is used to build a 
packet to send to the server.
2008-01-07 22:55:28 +01:00
Rob Shearman
4d6aa7ca95 rpcrt4: Add tests for the RPC_MESSAGE members set by NdrClientInitializeNew. 2008-01-07 22:55:22 +01:00
Rob Shearman
f296a8ca6c rpcrt4: Implement I_RpcMapWin32Status.
Add a test for this function.
2008-01-07 12:41:17 +01:00
Rob Shearman
0e6d5202c8 rpcrt4: Don't set Buffer to NULL in I_RpcFreeBuffer. 2008-01-07 12:04:31 +01:00
Rob Shearman
1bb6c1b4d1 rpcrt4: Add some tests for NdrGetBuffer and NdrFreeBuffer. 2008-01-07 12:04:28 +01:00
Rob Shearman
4aff0cdac4 rpcrt4: Make some variables in the tests static. 2007-12-31 17:14:29 +01:00
Rob Shearman
07622b0f05 rpcrt4: Add tests for NdrServerInitializeNew. 2007-12-31 17:14:22 +01:00
Rob Shearman
274dc73ba1 rpcrt4: Add some tests for non-conformant strings. 2007-12-31 16:46:16 +01:00
Rob Shearman
3e8a032e8b rpcrt4: Re-use existing memory for embedded pointers in NdrVaryingArrayUnmarshall. 2007-12-26 14:02:58 +01:00
Rob Shearman
273766ee6f rpcrt4: Re-use existing memory for embedded pointers in NdrConformantVaryingArrayUnmarshall. 2007-12-26 14:02:55 +01:00
Rob Shearman
a05923e1d3 rpcrt4: Add tests for varying and conformant varying arrays. 2007-12-26 14:02:53 +01:00
Rob Shearman
e24f664b26 rpcrt4: Add tests for low-level context handle functions. 2007-12-26 13:26:52 +01:00
Rob Shearman
366fd6e3af rpcrt4: Fix a memory leak from the get_filename call in the server tests. 2007-12-21 12:41:21 +01:00
Rob Shearman
c49a73b853 rpcrt4: Initialise memory passed into RPCs in the server test.
aligns contains padding, but the memory is marshalled in one block so 
call memset to avoid Valgrind warnings. padded and padded2 are 
marshalled as complex types so this is not required here.

Initialise the dummy member of test_list_t to zero for the TL_NULL case. 
Change the type to the smallest available to not waste buffer space.
2007-12-19 19:35:28 +01:00
Rob Shearman
259879d1f5 rpcrt4: Fix NdrConformantStringUnmarshall to use buffer memory if possible. 2007-12-17 11:58:06 +01:00
Rob Shearman
c7261b732b rpcrt4: Partially revert commit 18faf3184b2ea263d77c2a7ad92eef27bc4ba08f.
Tests show that NdrPointerFree (and hence NdrFree) don't check whether 
the memory was allocated with NdrAllocate before freeing it. This makes 
sense as servers don't need to use NdrAllocate to allocate memory being 
returned and so this commit caused that memory to be leaked.

NdrAllocate hasn't been changed as the tests show it is correct and it 
appears that the memory list is used to implement the RpcSs memory model.
2007-12-14 12:24:21 +01:00
Rob Shearman
ded4b86625 Revert "rpcrt4: Try to free every non-stack pointer in PointerFree now that NdrFree does the sanity checking for us.".
This reverts commit 6db648302ce43f625a073426a35a6f40b7869d8b.

Tests show the assumptions in a commit that this commit depends on are 
not valid.
2007-12-14 12:23:38 +01:00
Rob Shearman
9642714d06 rpcrt4: Add tests for freeing non-NdrAllocate allocated memory blocks. 2007-12-13 14:30:40 +01:00
Rob Shearman
e12b487e26 rpcrt4: Try to free every non-stack pointer in PointerFree now that NdrFree does the sanity checking for us. 2007-12-12 16:02:53 +01:00
Rob Shearman
9c8c74f388 rpcrt4: Store allocated memory in a singly-linked list to keep track of what we should and shouldn't free in NdrFree. 2007-12-12 16:02:43 +01:00
Rob Shearman
33c4c25dad rpcrt4: Make the NdrAllocate tests pass on XP SP2 and greater. 2007-12-12 16:01:33 +01:00
Rob Shearman
d458a599eb widl: Add support for non-basetype return types. 2007-12-11 18:07:05 +01:00
Rob Shearman
abbceb137a rpcrt4: Fix NdrConformantArrayUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers. 2007-12-08 19:57:32 +01:00
Alexandre Julliard
c0b12351e0 Avoid size_t types in traces. 2007-12-07 18:49:18 +01:00
Rob Shearman
2ebee18198 rpcrt4: Improve PointerFree to not free buffer memory. 2007-12-07 16:34:17 +01:00
Rob Shearman
13e47d762a rpcrt4: Set the memory pointer in NdrBaseTypeUnmarshall to the buffer if we're unmarshalling on a server without memory being passed in. 2007-12-05 13:49:08 +01:00
Rob Shearman
c866b06806 rpcrt4: Add tests for a pointer to a conformant strings. 2007-12-04 18:18:03 +01:00
Rob Shearman
2a9fae7565 rpcrt4: Set the destination pointer in PointerUnmarshall before calling the referenced type's unmarshalling routine.
When a pointer that is dereferenced is encountered then this can result 
in a stale pointer (i.e. the one that is marshalled into the buffer for 
the embedded pointer unmarshalling case) being used instead of the one 
that was intended.
2007-12-04 18:18:01 +01:00
Rob Shearman
f191f59ee4 rpcrt4: Flesh out more of the IRpcChannelBuffer vtable to make the test_delegating_Invoke test succeed on Windows. 2007-12-04 13:31:59 +01:00
Rob Shearman
620fca405d rpcrt4: Test that the string retrieved from get_name was actually unmarshalled correctly. 2007-12-03 13:10:21 +01:00
Rob Shearman
eef207e3f1 rpcrt4: Initialise the memory in test_simple_struct_marshal before passing it to NdrSimpleStructUnmarshall.
Otherwise, the unmarshalling code will read from unintialised memory
when trying to reuse the embedded pointers in the memory block.

Also fix a couple of memory leaks.
2007-12-03 13:10:21 +01:00
Rob Shearman
c735a14788 rpcrt4: Fix NdrSimpleStructUnmarshall to cope with [in, out] embedded pointers. 2007-11-30 11:56:30 +01:00
Rob Shearman
4171309731 rpcrt4: Fix the tests for up_enum16.
It is different to the other base types as it has a different size on 
the wire to in memory, so it can't just be set to the buffer when 
unmarshalling.
2007-11-27 16:42:17 +01:00
Dan Hipschman
a0ac63961d widl: Don't rely on type_memsize to return 0 for all conformant arrays. 2007-11-06 13:02:56 +01:00
Dan Hipschman
8d15820f79 widl: Handle pointers to conformant arrays (e.g., "[size_is(, n)] int **p; "). 2007-11-05 13:24:37 +01:00
Dan Hipschman
eaffc0a0da rpcrt4/tests: Initialize memory in the get_name test.
This initializes the memory for an [in] parameter.
2007-11-05 13:24:36 +01:00
Rob Shearman
18c16a8027 rpcrt4: Add a test for the pointers in [in,out] pointer structs not changing when the pointers aren't NULL. 2007-11-02 12:37:35 +01:00
Dan Hipschman
ff8930f2bf widl: Fix problems with variable-size user types. 2007-10-22 13:47:56 +02:00
Dan Hipschman
1d0f9378bc widl: Detect conformant arrays of user types correctly. 2007-10-18 12:09:23 +02:00
Dan Hipschman
e219087c65 rpcrt4/tests: Free memory from one of the tests. 2007-10-15 16:55:31 +02:00
Dan Hipschman
acfde97b9e rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant array tests. 2007-10-11 16:24:28 +02:00
Dan Hipschman
d00ff2ed58 widl: Make structs containing user types bogus; fix square_test_us test failure. 2007-10-09 11:39:26 +02:00
Dan Hipschman
e0b209815d rpcrt4/tests: Make server.idl compatible with MIDL. 2007-10-09 11:39:21 +02:00
Alexandre Julliard
b7df430831 rpcrt4/tests: Remove static keywords that hide test failures. 2007-09-27 20:13:21 +02:00
Dan Hipschman
723c8bacfa widl: Fix string codes in pointer descriptions. 2007-09-27 10:09:38 +02:00
Dan Hipschman
347f2a2da2 widl: Fix top-level conformant arrays with pointer attributes. 2007-09-27 10:09:32 +02:00
Dan Hipschman
767a1f26f6 widl: Handle top-level conformance for complex arrays. 2007-09-20 14:27:29 +02:00