Hi, all Thanks for Piotr's comment on my GSOC ideas. In order to have a good knowledge of functions from tr2 namespace, I had made a test and written some functions' implementation.
However, I had an issue with msvcp test's design when I need to free library of msvcp90 and load msvcp110. 619 static HMODULE msvcr, msvcp; 620 #define SETNOFAIL(x,y) x = (void*)GetProcAddress(msvcp,y) 621 #define SET(x,y) do { SETNOFAIL(x,y); ok(x != NULL, "Export '%s' not found\ n", y); } while(0) In my patch, I use a hmodule variable named msvcp90 to save msvcp90 hmodule and then reuse msvcp to save msvcp110. As far as I am concerned, the name msvcp90 or msvcp90_saver is not good enough. Could you give it a good name?
And the other method I came up with is undefining SETNOFAIL and SET and using msvcp110 to define it again, which I think is ugly. By the way, my crosstest on all the testbots[1] show that msvcp110.dll or msvcrt110.dll not installed. It seems testbot doesn't install msvcp110.
I will be grateful for any advice you can provide.
[1]: https://testbot.winehq.org/JobDetails.pl?Key=12146&log_110=1#k110
Hi, If just add varibables name msvcp110, I will need to add another #define like
#define ANOTHER_SETNOFAIL(x,y) x = (void*)GetProcAddress(msvcp110,y)
Good point. I just copy the test code from origin ios.c and what you mentioned was a typo.
629 msvcr = LoadLibraryA("msvcr90.dll"); 630 msvcp = LoadLibraryA("msvcp90.dll"); 631 if(!msvcr || !msvcp) { 632 win_skip("msvcp90.dll or msvcrt90.dll not installed\n"); 633 return FALSE; 634 }
It should be msvcrt90.dll not installed. So in my patch it should be msvcr110. Thank you. : )
On 2015年03月15日 18:38, André Hentschel wrote:
On 15.03.2015 11:50, YongHao Hu wrote:
This class is only present in 11.0 and 12.0 libs, right? Why not add such tests to msvcp110/tests?
On 2015年03月15日 19:45, Nikolay Sivov wrote:
This class is only present in 11.0 and 12.0 libs, right?
Yes, it was only present in 11.0 and 12.0 libs.
Why not add such tests to msvcp110/tests?
Yeah, I just thought about it when I made the test, but there is no such an example in msvcp/msvcrt. What's more, msvcp110 reuses msvcp90's code. For these reasons, I took adding msvcp110 test to msvcp90 into account. However, I don't have a good idea which one is better. How do you think about it ? I will be grateful for any advice you can provide.
On 03/16/15 01:13, YongHao Hu wrote:
The tests should go to msvcp110/tests or msvcp120/tests directory. It may be easier to add them to msvcp120 because there already are some tests.
On Sun, 15 Mar 2015, YongHao Hu wrote: [...]
Here is the recipe for setting up the TestBot's VMs: http://wiki.winehq.org/WineTestBotVMs#head-4e6c020559c8a49b7723f5172adf2ab9f...
So I normally install the Visual C++ 2005, 2008 and 2010 redistributables but if I'm not mistaken I should add the 2012 redistributable to the list. I should probably also install the Visual C++ 2013 redistributable for msvcp120.
While we're on the subject, let me know if there are other libraries to add.