Commit Graph

329 Commits

Author SHA1 Message Date
Robert Shearman 2308d49bcb ole32: Implement CoRegisterPSClsid. 2006-07-21 10:52:03 +02:00
Robert Shearman fac6bedda9 ole32: Improve CoRegisterMessageFilter and add tests for it. 2006-07-17 13:43:47 +02:00
Robert Shearman 69e10bf1ed ole32: Add validation of parameters to CoGetClassObject and make sure to initialise ppv to NULL. 2006-07-14 12:38:44 +02:00
Mike McCormack 6a15ac7f0a ole32: Only return S_FALSE in IPropertyStorage::ReadMultiple if a property was not found. 2006-07-12 19:30:06 +02:00
Mike McCormack ac01692523 ole32: Fix and test reading and writing of VT_CF properties. 2006-07-12 19:28:24 +02:00
Mike McCormack d323acc23b ole32: Fix conformance test to compile with MSVC6. 2006-07-12 13:17:41 +02:00
Alexandre Julliard 0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman 628371021b ole32: When CoLockObjectExternal with fLock=TRUE is used on an object
that hasn't yet been marshaled then it should create a new stub
manager.
2006-06-30 20:44:02 +02:00
Robert Shearman 2f0e714a27 ole32: When marshaling a proxy make sure to maintain an external
reference on the stub object so that the first proxy can be released.

Implement external refcount sharing between a proxy and the marshaled proxy.

Extend the marshaling of a proxy test to show that an external reference 
is always kept on the stub object.
2006-06-29 14:40:50 +02:00
Robert Shearman 723aceb20f ole32: Add a test for CoCreateInstance doing object hosting by
automatically creating an appropriate apartment for the object and
returning a proxy to it.
2006-06-29 14:40:23 +02:00
Andrew Talbot d69745ff7a ole32/tests: Write-strings warning fix. 2006-06-23 10:45:57 +02:00
Robert Shearman f2dc25a5f3 ole32: Always rewind the stream in StdGlobalInterfaceTable_GetInterfaceFromGlobal
as CoUnmarshalInterface may have advanced the stream, even if it failed.
2006-06-15 12:07:10 +02:00
Robert Shearman fa757df883 ole32: Add a tests for OleSetMenuDescriptor and the global interface table. 2006-06-15 12:06:49 +02:00
Alexandre Julliard 28e17a75af ole32/tests: Don't use sizeof in ok() to avoid printf format warnings. 2006-06-13 14:03:36 +02:00
Robert Shearman 2c57189a97 ole32: Implement table-strong marshaling and ReleaseMarshalData for the free-threaded marshaler. 2006-05-25 10:43:07 +02:00
Robert Shearman f9b5280dd0 ole32: Implement table-weak marshaling for the free-threaded marshaler. 2006-05-25 10:42:56 +02:00
Robert Shearman 4335c64f7b ole32: Add a rough implementation of the free-threaded marshaler MarshalInterface and UnmarshalInterface methods, with test cases. 2006-05-25 10:41:17 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 0fd184773a ole32: Release the outer unknown in the proxybuffer test.
Release the outer unknown in the proxybuffer test to show that the
last release of the outer unknown doesn't free the proxy buffer.
2006-05-23 12:05:07 +02:00
Francois Gouget f7c24f37ad Various trace fixes.
Add trailing '\n's to trace calls.
Remove spaces before '\n'.
2006-05-15 15:05:09 +02:00
Francois Gouget 3b102b39f4 ole32: Fix compilation with gcc 2.95. 2006-05-15 11:09:01 +02:00
Robert Shearman 5a8536a18d ole32: Add a test for IMoniker_IsDirty. 2006-05-10 19:26:22 +02:00
Robert Shearman ae62ab039f ole32: Implement several class moniker functions using the description provided on MSDN. 2006-05-08 21:14:28 +02:00
Robert Shearman 8a4f71c61e ole32: Add an implementation of class monikers. 2006-05-08 21:13:32 +02:00
Robert Shearman 71a7393f45 ole32: Add tests for IsRunning, GetTimeOfLastChange, BindToObject, BindToStorage and Inverse. 2006-05-08 21:04:26 +02:00
Mike Hearn 27800ef4cc ole32: Add StgCreateFile test and conformance fix. 2006-05-08 16:04:51 +02:00
Robert Shearman 91e51971c0 ole32: Test moniker display names. 2006-05-08 15:44:49 +02:00
Robert Shearman d8563f1eba ole32: Add a test for IMoniker_IsDirty. 2006-05-08 15:44:39 +02:00
Robert Shearman 77188bbeab ole32: Test unmarshaling the moniker instead of just releasing the marshaled data. 2006-05-08 15:44:27 +02:00
Robert Shearman 57b42ae7bc ole32: Make the size returned by CompositeMonikerImpl_GetMarshalSizeMax match that returned by native. 2006-05-08 15:44:15 +02:00
Robert Shearman 340f7a3ec0 ole32: Fix the algorithm used in CompositeMonikerImpl_Hash to match native. 2006-05-08 15:43:46 +02:00
Robert Shearman e97709ff6d ole32: Fix the algorithm used in ItemMonikerImpl_Hash to match native. 2006-05-08 15:43:35 +02:00
Robert Shearman b011a2ba8f ole32: Add tests for generic composite monikers. 2006-05-08 15:43:27 +02:00
Robert Shearman c8c93e6657 ole32: Add a test for anti monikers. Fix AntiMonikerImpl_Hash and AntiMonikerROTDataImpl_GetComparisonData to pass the tests. 2006-05-08 15:39:47 +02:00
Robert Shearman 68fceb0a70 ole32: Add tests for item moniker. 2006-05-08 15:36:45 +02:00
Robert Shearman 26a3ff33d0 ole32: Make class moniker test more generic and test more properties. 2006-05-08 15:36:40 +02:00
Robert Shearman 6dd5dbef64 ole32: STGM_PRIORITY allows other IStorage objects to be opened in transacted mode with read/write access. 2006-05-05 21:51:31 +02:00
Robert Shearman 693da8c471 ole32: Check that the storage was opened with write access before creating a new stream or sub-storage. 2006-05-05 21:50:12 +02:00
Robert Shearman 5d051af6ae ole32: Copy the mode flags into the STATSTG structure in IStorage::Stat.
Copy the mode flags into the STATSTG structure in IStorage::Stat. Don't 
store the STGM_CREATE flag in openFlags, since it is only relevant when 
opening the stream and the tests show that it isn't returned in the 
STATSTG structure.
2006-05-05 21:49:39 +02:00
Robert Shearman dd58e54e43 ole32: Add tests for IStorage::Stat. 2006-05-05 21:49:13 +02:00
Robert Shearman b2207d83ad ole32: Fix access right check for opening and creating streams and storages.
Check the access mode for opening and creating streams and storages
doesn't exceed the access rights the current storage was opened with,
not the parent storage.
2006-05-05 21:49:04 +02:00
Robert Shearman 168e2fb98f ole32: Add tests for sub-storages and creating streams.
Replace a test that fails on NT and with DCOM95 DLLs with a test that
ensures access permissions are checked correctly for sub-storages and
creating streams.
2006-05-05 21:48:37 +02:00
Robert Shearman 8d30c1d08e ole32: Add a storage test for reading and writing of streams that have
had their parent storage released.
2006-05-05 21:48:27 +02:00
Mike McCormack 11e4b21a30 ole32: More tests and fixes for STGM_PRIORITY. 2006-04-18 11:15:03 +02:00
Mike McCormack d7424771ea ole32: Fix a declaration. 2006-04-18 11:14:58 +02:00
Mike McCormack 64659785de ole32: Uncomment some code to make sure it is compiled, but don't run it. 2006-04-18 11:14:53 +02:00
Mike McCormack eed120995b ole32: STGM_PRIORITY implies STGM_SHARE_EXCLUSIVE. 2006-04-03 12:15:34 +02:00
Mike McCormack 50436da519 ole32: Fix StgOpenStorage's handling of the STGM_PRIORITY flag. 2006-03-30 12:38:08 +02:00
Kevin Koltzau 0c2d277286 ole32: Initial tests for OLE clipboard functions. 2006-03-22 11:19:25 +01:00
Robert Shearman 857a6d1f63 ole: Fix marshaling of proxies for interfaces that haven't already been unmarshaled. 2006-03-01 19:54:20 +01:00
Francois Gouget e092adfc9b Add trailing '\n's to ok() calls. 2006-02-24 21:07:33 +01:00
Vitaly Lipatov a8397e307a ole32/tests: Do not compare returned by DeleteFile value with TRUE. 2006-02-24 11:23:40 +01:00
Robert Shearman 6c529a7273 ole: Make the CoCreateInstance test succeed.
Move the uninitialized apartment check after zeroing out the return
value.
2006-02-22 22:14:52 +01:00
Dr J A Gow e3af1227c9 ole32: Fix stream ref counting.
Stream methods called after parent object has been closed correctly
return STG_E_REVERTED.
Stream refcounting fixed. Now can safely call IStorage destructor
before IStream destructor and guarantee file will be closed.
2006-02-21 11:18:05 +01:00
Dr J A Gow c74e5a784d ole32: Fix up permissions when opening streams.
Fix up permissions when opening streams in storage objects when
storage object has been opened in transacted mode.
2006-02-21 11:17:32 +01:00
Robert Shearman 023ad38914 ole: Test the behaviour of CoCreateInstance with an uninitialized apartment. 2006-02-20 11:16:08 +01:00
Mike McCormack 5c3b0df716 ole32: Added a test showing OLE storage's IStorage/IStream refcounting
behaviour.
2006-02-15 11:51:05 +01:00
Huw Davies aaf7a974a9 ole: ProgIDFromCLSID sets progid to NULL on failure. 2006-01-20 19:41:56 +01:00
Robert Shearman 1b7d346d1f ole: Verify that the proxy is being used in the correct thread. 2006-01-20 16:16:08 +01:00
Robert Shearman 98734cc894 ole: Add a test for WM_QUIT behaviour during COM calls. 2006-01-20 16:14:32 +01:00
Robert Shearman 9ac3b28354 ole: Use strict prototypes for some test functions. 2006-01-12 11:53:19 +01:00
Robert Shearman e0605afdf6 ole: Add some tests for CLSIDFromString. 2006-01-09 18:40:27 +01:00
Robert Shearman 85128db39c Fix detection of V1a prop variant library in test suite. 2005-12-26 12:56:48 +01:00
Robert Shearman 567919d78f Implement some user marshal functions and add tests. 2005-11-29 11:35:27 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Ivan Leo Puoti 52c6299538 Delete some temp files created by the ole32 tests. 2005-10-29 10:29:18 +00:00
Francois Gouget a1f9a13997 Use "static const" rather than "const static" as gcc -W complains
about the former.
2005-10-06 11:38:45 +00:00
Robert Shearman b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Alexandre Julliard 5a49e40149 SendMessageTimeout takes a DWORD_PTR not a DWORD. 2005-09-12 20:43:32 +00:00
Richard Cohen 908e9e889e Relax the share mode validation for transacted storage, with a test. 2005-09-07 09:22:15 +00:00
Robert Shearman dab603def3 - Implement IMarshal on proxies so that we don't end up with proxies
to proxies, causing potential deadlock issues and performance
  problems.
- Add a test for this situation and remove the todo_wine from another
  test that now succeeds.
2005-08-27 09:25:16 +00:00
Robert Shearman 28479ea4aa By-pass the RPC runtime if possible when calling an STA by posting a
message directly to the apartment window for it to process. Fixes a
deadlock in InstallShield caused by having to create a thread when
freeing an object that comes from an STA apartment. Added tests that
fail without this fix.
2005-07-19 19:12:47 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Robert Shearman f419880d64 - Change some of the registry helper functions to use the unicode
versions of the CLSID & registry functions.
- Reindent CoGetClassObject and output an error message if the class
  isn't registered.
- Add tests for the touched functions.
2005-06-20 10:33:17 +00:00
Mike McCormack 0220d7ac89 Fix declarations in the tests. 2005-06-15 10:20:30 +00:00
Alexandre Julliard c2d5b444b3 Moved the NONAMELESSUNION/STRUCT macros to wine/test.h so that they
can be used in all the test.
2005-06-13 12:10:54 +00:00
Robert Shearman fd5f7729cb Fix PropVariant tests on Windows 2000 and above. 2005-06-13 10:02:10 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Richard Cohen 977806a884 - Don't assume the ROT is already empty.
- Test that IEnum::Clone doesn't also do a Reset.
2005-06-02 20:06:33 +00:00
Richard Cohen 885e6298f2 Added tests for file monikers. 2005-06-02 19:43:03 +00:00
Robert Shearman b9ecbb6167 - Marshal objects & monikers into the ROT.
- Test for this behaviour.
2005-05-23 09:54:53 +00:00
Jeff Latimer 72f73ac452 Implement the IEnumMoniker interface for the ROT and provide tests to
exercise the interface.
2005-05-14 18:50:14 +00:00
Hans Leidekker 6b7676a1e8 Don't import from ntdll. 2005-05-13 17:42:49 +00:00
Mike McCormack e3b43fa458 Make sure a stream can't be created in read only storage. 2005-05-13 13:58:43 +00:00
Stefan Leichter cabe752d1d Make ole32 tests loadable on NT4. 2005-05-07 12:09:58 +00:00
Juan Lang bf83ba1fa3 - convert strings between property storage's code page and system code
page
- add tests for setting code page
- fix tests and behavior to match WinXP
2005-04-23 19:04:49 +00:00
Stefan Leichter 950d678c5e Make ole32 tests loadable on NT4. 2005-04-22 19:05:51 +00:00
Juan Lang e68982fcaf Implement FmtIdToPropStgName & PropStgNameToFmtId, with tests. 2005-04-15 14:09:18 +00:00
Juan Lang c1fe67bc36 - add write support to IPropertyStorage, with tests
- misc. cleanups the tests turned up
2005-04-11 18:50:45 +00:00
Juan Lang 50794ce787 Add traces, add unit tests for IPropertyStorage, and fix the problems
they caught.
2005-04-11 14:30:24 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Jakob Eriksson 461c830745 Eliminate HeapAlloc casts. 2005-03-22 18:26:06 +00:00
Jakob Eriksson 665b9ca377 More trace info from storage32 test. 2005-03-22 18:18:43 +00:00
Mike McCormack 77fc6a5d82 StgOpenStorage shouldn't open zero length storage files. 2005-03-11 13:17:10 +00:00
Mike McCormack 6f2f76c410 Shared reading of storage files requires STGM_TRANSACTED. 2005-03-09 11:44:59 +00:00
Mike McCormack a7609ee155 Test and fix grfMode handling in StgOpenDocfile. 2005-03-05 10:48:11 +00:00
Alexandre Julliard 53f3d4c65a Authors: Rob Shearman <rob@codeweavers.com>, Mike Hearn <mh@codeweavers.com>
- Add re-entrancy tests to the test suite.
- Run RPCs on a new thread client side so we can pump the message
  loop.
2005-03-04 12:30:47 +00:00
Mike McCormack a6a91a440b Implement and test IPropertySetStorage. 2005-02-21 20:58:09 +00:00
Robert Shearman 95288f9148 - Move marshaling state machine into stub manager from ifstub.
- Add additional needed states for table-weak marshaling, as shown by
  tests.
- Protect external reference count from underflows/overflows.
2005-02-18 20:03:23 +00:00
Robert Shearman 403d8e23cd Make Ole tests run on Windows 95. 2005-02-14 11:01:51 +00:00
Robert Shearman 999766d31b - Implement CoDisconnectObject.
- Change CoLockObjectExternal so that it does the correct action now
  and eliminate a fair few lines of now redundant code.
- Rename OLE32_Dll{Register,Unregister}Server to
  Dll{Register,Unregister}Server.
2005-02-08 16:51:22 +00:00
Robert Shearman f8a2edb805 - Split up apartment creation so that the long code paths that don't
need locking no longer have locking.
- Add special cases for the threads that join apartments but can't
  increase the refcount of the apartment.
- Free TLS storage on thread destruction (including releasing the
  apartment the thread is in, if any, and so making another test
  pass).
2005-02-08 13:42:15 +00:00
Robert Shearman e6afc84873 - Add code for destroying the thread-local storage data, but don't use
it yet.
- Don't release apartment on changing modes because we didn't add a
  reference anywhere.
- Quieten the RPC_E_DISCONNECTED error message as it is an expected
  return code.
- Treat IID_NULL the same as IID_IUnknown.
- Make tests compile on Win95 again.
- Fix copy+paste error where the test failure should be from the
  CoUnmarshalInterface function.
2005-02-01 14:18:10 +00:00
Robert Shearman 9a97360eba Remove test that fails on Win98 and is not useful. 2005-01-31 11:29:41 +00:00
Robert Shearman 9b634b97ae - More tests.
- Change return code of CoGetPSClsid to match test result.
- Do a slight hack to make IRemUnknown proxies be added after the
  proxy that uses them to stop them being used after they are
  destroyed.
- Fix multiple local server connections.
2005-01-28 12:39:13 +00:00
Robert Shearman 5bef770490 Give IUnknown its own ifstub to fix ref-counting and ipid storage
issues.
2005-01-27 10:39:44 +00:00
Robert Shearman 3018974ce3 - Make proxy manager use IMultiQI instead of IInternalUnknown as tests
show that IInternalUnknown isn't exposed.
- Implement IMultiQI on top of IRemUnknown calls.
- Silence some fixmes that occur during tests and don't give us any
  useful information.
- Fix typo in class factory proxy that caused us to use the wrong
  offset into the CFProxy structure, causing us to not call the
  outer_unknown properly.
2005-01-26 21:07:05 +00:00
Robert Shearman 963ac3f013 - Implement IRemUnknown.
- Use IRemUnknown for life-cycle management instead of the current
  hacks.
2005-01-26 20:42:30 +00:00
Robert Shearman 6a20b2f476 - Initialize ppv pointer in ClientIdentity_QueryInterface to NULL as
apps depend on this.
- Don't release IRpcProxyBuffer on ifproxy destruction - the caller
  will do this for us.
- Make find_proxy_manager add a reference to the proxy manager and
  make proxy_manager_construct return an object with a valid
  ref-count.
- Remove stray not operator to fix a memory leak / crash in
  proxy_manager_destroy.
- More debug messages, especially on errors.
- Fix ref-count leak in the Class Factory proxy.
- Add a test case for IClassFactory_CreateInstance.
2005-01-19 17:00:20 +00:00
Robert Shearman 4c8d59dd91 Implement table marshaling. 2005-01-17 13:39:40 +00:00
Robert Shearman ca608933dd Make proxy shutdown test succeed by releasing the channel on
disconnect.
2005-01-14 17:20:13 +00:00
Robert Shearman 6036a773e2 - The apartment reference should be held while the stub manager
reference is held.
- Fix same apartment-unmarshal detection.
2005-01-14 16:48:34 +00:00
Robert Shearman de95de1865 - Force creation of thread queue to stop PostThreadMessage from
failing.
- Remove incorrect comment.
2005-01-12 19:28:37 +00:00
Mike McCormack 71424b80e5 Tests and fixes for StgOpenStorage. 2005-01-11 15:08:08 +00:00
Robert Shearman 68fc5f8890 Add tests for trying to unmarshal from a bad stream and for testing
what interfaces the proxy exposes.
2005-01-11 10:45:52 +00:00
Mike McCormack 6f20133705 Test and fix a few problems with OLE storage streams. 2005-01-11 10:44:28 +00:00
Mike McCormack b146b75c27 Test and fix StgCreateDocFile grfModes. 2005-01-10 12:26:25 +00:00
Mike Hearn 5475a2e617 - Implement the COM stub manager, refactor the current stub code.
- Begin implementing interface stubs.
2004-12-27 19:21:47 +00:00
Robert Shearman 827154e451 Add tests for moniker and marshaling functions. 2004-12-21 14:51:27 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Francois Gouget 83755cca97 Move the PROPVARIANT declaration from objidl.idl to propidl.idl.
Move related API declarations from individual C files to propidl.idl.
Remove uneeded include of propidl.h in the propvariant.c test.
2004-09-09 19:23:19 +00:00
Francois Gouget 9ecc71213f The union in PROPVARIANT is always nameless on Windows. So define a
macro to deal with it correctly.
2004-09-08 19:05:55 +00:00
Robert Shearman 6e92fca9b3 - Fix PropVariantCopy for VT_LPSTR and VT_LPWSTR.
- Test case VT_BSTR, VT_LPSTR and VT_LPWSTR.
2004-09-06 21:28:28 +00:00
Robert Shearman 77994cce4e - Fix PropVariantClear to reject invalid types.
- Don't crash on NULL pointers.
- Add test case.
2004-09-03 01:04:38 +00:00
Francois Gouget 6825ed811d Added missing trailing '\n's to ok() calls. 2004-09-02 20:09:37 +00:00
Mike McCormack 06b8046f20 Added a test for stat'ing a memory based storage file. 2004-08-11 00:17:52 +00:00