Minor wine-devel DCOM corrections

Francois Gouget fgouget at free.fr
Tue Jan 11 02:51:05 CST 2005

On Mon, 10 Jan 2005, Dan Kegel wrote:

> Rob Shearman wrote:
>> We have a number of marshaling tests in our test framework at the moment 
>> (in wine/dlls/ole32/tests/marshal.c). It is hard to do anything 
>> cross-process (or cross-machine!) because of the way the test framework is 
>> done. Mike did suggest using environment variables to hack around those 
>> limitations, but so far that hasn't turned into any code from either of us.
> Hey, that's not a bad idea.  You could set an environment variable,
> then rerun the same program with the same arguments, and your test
> could sense the environment variable and run the 2nd process's test role.
> Is there a generic win32 way to run yourself again with the same
> arguments?  If not, it'd probably only take a little tweaking of
> include/wine/test.h to set one up...

No need for environment variables. Just add extra parameters on the 
command line after the name of the test. For an example of how this 
works, check 'dlls/kernel/tests/process.c'.

I guess for DCOM you would need to also register the test executable as 
a DCOM server or something like this. Unless there's a flaw in my 
reasoning (quite possible since I'm not very familiar with DCOM), as 
long as you can specify a command line you're fine. So here's a very 
rough outline of how this would work:

  * 'make test' runs 'ole32_test.exe dcom.c'
  * the dcom test registers a couple of DCOM servers for testing:
    uuid1 -> ole32_test.exe dcom.c server1
    uuid2 -> ole32_test.exe dcom.c server2
  * the dcom test then proceeds to invoke these server and do DCOM stuff 
with them
  * once the test is done the dcom test deregisters the above servers

Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
   Any sufficiently advanced Operating System is indistinguishable from Linux

More information about the wine-devel mailing list