Re: Creating tests with additional binary modules

2010-07-01 Thread André Hentschel
Am 01.07.2010 21:55, schrieb Alexandre Julliard:
> None of that, of course. The resources are built at compile time, at run
> time you create a PE header and copy the needed resource data. You may
> even be able to use UpdateResource to make things easier.

Do we have existing tests creating PE header?


-- 

Best Regards, André Hentschel




Re: Creating tests with additional binary modules

2010-07-01 Thread Mariusz Pluciński
W dniu 1 lipca 2010 21:55 użytkownik Alexandre Julliard
 napisał:
> Mariusz Pluciński  writes:
>
>> W dniu 1 lipca 2010 21:27 użytkownik Alexandre Julliard
>>  napisał:
>>> You can't do that in the Makefile, you need to generate the files at run
>>> time.
>>
>> Huh, so while executing the test, I need to run at least resources
>> compiler and linker, right? It looks really more complicated way, and
>> I admit that I completely don't know how to do it. Which tools
>> should I use? Can I use Mingw? Can I assume that these tools are
>> installed on system where test is running? Or maybe I should use
>> some tools provided by wine? And, of course, how to make it working
>> on Windows?
>
> None of that, of course. The resources are built at compile time, at run
> time you create a PE header and copy the needed resource data. You may
> even be able to use UpdateResource to make things easier.
>
All right, now it's more clear for me. I'm not so familiar with working on
resources, and I didn't know there's API call which can modify resources
in existing binary. I'll try to make it this way, thanks.




Re: Creating tests with additional binary modules

2010-07-01 Thread Alexandre Julliard
Mariusz Pluciński  writes:

> W dniu 1 lipca 2010 21:27 użytkownik Alexandre Julliard
>  napisał:
>> You can't do that in the Makefile, you need to generate the files at run
>> time.
>
> Huh, so while executing the test, I need to run at least resources
> compiler and linker, right? It looks really more complicated way, and
> I admit that I completely don't know how to do it. Which tools
> should I use? Can I use Mingw? Can I assume that these tools are
> installed on system where test is running? Or maybe I should use
> some tools provided by wine? And, of course, how to make it working
> on Windows?

None of that, of course. The resources are built at compile time, at run
time you create a PE header and copy the needed resource data. You may
even be able to use UpdateResource to make things easier.

-- 
Alexandre Julliard
julli...@winehq.org




Re: Creating tests with additional binary modules

2010-07-01 Thread Mariusz Pluciński
W dniu 1 lipca 2010 21:27 użytkownik Alexandre Julliard
 napisał:
> You can't do that in the Makefile, you need to generate the files at run
> time.

Huh, so while executing the test, I need to run at least resources
compiler and linker, right? It looks really more complicated way, and
I admit that I completely don't know how to do it. Which tools
should I use? Can I use Mingw? Can I assume that these tools are
installed on system where test is running? Or maybe I should use
some tools provided by wine? And, of course, how to make it working
on Windows?




Re: Creating tests with additional binary modules

2010-07-01 Thread Alexandre Julliard
Mariusz Pluciński  writes:

> That's true on Wine, but I also want to make my tests runnable
> under Windows, so in this case I need to create native PE modules.
>
> And as I said,  my main problem is that I don't know how to
> write rules in Makefile.in to build what I need.

You can't do that in the Makefile, you need to generate the files at run
time.

-- 
Alexandre Julliard
julli...@winehq.org




Re: Creating tests with additional binary modules

2010-07-01 Thread Mariusz Pluciński
> Do they really need to be separate binaries?
Unfortunately yes. To the function I pass only the path to binary,
and it unpacks data internally, so I cannot select actual resource.

 One binary can contain multiple GDFs only if they are translations
of the same file in few languages. And I don't know is there any
way to force library to load specified language version (and it is,
in my opinion, not "clean" way of testing).

> And no, it doesn't have to be a pure win-pe binary. Wine can load
> and parse resources just from winelib (dll.so/exe.so) binaries.
That's true on Wine, but I also want to make my tests runnable
under Windows, so in this case I need to create native PE modules.

And as I said,  my main problem is that I don't know how to
write rules in Makefile.in to build what I need.




Re: Creating tests with additional binary modules

2010-07-01 Thread Peter Davies
> Wine can load and parse resources just from
> winelib (dll.so/exe.so) binaries.

I assume that dll.so/exe.so are for all practical purposes identical
to .dll/.exe except they can't be run on windows.

Peter




Re: Creating tests with additional binary modules

2010-07-01 Thread Vitaliy Margolen
On 06/30/2010 09:52 AM, Mariusz Pluciński wrote:
> Checking results of routines execution is not problem for me. But thing I
> test is parser, so I need to pass various GDF files to routine. And, as GDFs
> are stored in binaries, I will need to create many binaries. They should be
> created in compile time and available for test's executable while running it.
Do they really need to be separate binaries? Can't it be multiple resources
in one binary? And if so, just add resources to the test. And no, it doesn't
have to be a pure win-pe binary. Wine can load and parse resources just from
winelib (dll.so/exe.so) binaries.

Vitaliy




Creating tests with additional binary modules

2010-06-30 Thread Mariusz Pluciński
Hi, wine-devel

I'm working on implementation of Windows Game Explorer interfaces
for Wine. The work is in advanced stage now, but I have problem with
implementation of conformance tests.

Thing I want to test is loading and parsing so-called Game Definition Files.
GDF are not separate files, but stored as resources in binary modules
 (usually in game's main executable). Using GE interfaces, programmer only
needs to pass path to binary, and GE automatically loads and process
embedded GDF(s).

Checking results of routines execution is not problem for me. But thing I
test is parser, so I need to pass various GDF files to routine. And, as GDFs
are stored in binaries, I will need to create many binaries. They should be
created in compile time and available for test's executable while running it.

The problem is that I don't know how to do this using wine's mechanisms.
How should Makefile.in file look to build additional executable files properly
(they should be probably always native win32 executables, even if parameter
"crosstest" wasn't specified)?
How should I guarantee that these additional executables will be copied
into winetest directory (to make them accessible while executing tests)?

Thanks in advance
Mariusz Pluciński