Re: Make test status - latest CVS
--- Shachar Shemesh [EMAIL PROTECTED] wrote: I don't see the same thing here. Could you send me a heap trace? Aw, man! You were sitting right behind me when that happened. Couldn't you have taken my laptop and debugged it on the spot then? :-) I wanted to have a chance to run it, read over the code, etc. I'm afraid I don't see the problem still. Maybe a storage,heap trace? --Juan __ Do you Yahoo!? Make Yahoo! your home page http://www.yahoo.com/r/hs
Re: Make test status - latest CVS
Robert Reif wrote: Shachar Shemesh wrote: The problem is that I'm not interested in this test. I just think that, off the shelf, tests should not fail. My opinion is that if this is not a problem with Wine, it shouldn't fail the test. Does this patch help? It should fail the same way windows does now. No, it regresses tests that used to pass: -- Shachar Shemesh Lingnu Open Source Consulting ltd. Have you backed up today's work? http://www.lingnu.com/backup.html capture.txt Description: application/stream
Re: Make test status - latest CVS
Shachar Shemesh wrote: make[3]: Entering directory `/home/sun/sources/wine/dlls/ole32/tests' ../../../tools/runtest -q -P wine -M ole32.dll -T ../../.. -p ole32_test.exe.so stg_prop.c touch stg_prop.ok err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fc8 next block has PREV_FREE flag err:heap:HEAP_ValidateInUseArena Heap 401e: prev arena 40218f60 is not prev for in-use 40218fc8 err:heap:HEAP_ValidateInUseArena Heap 401e: prev arena 40218f60 is not prev for in-use 40218fc8 err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fe8 next block has PREV_FREE flag err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fe8 next block has PREV_FREE flag stg_prop.c:372: Test failed: Didn't get expected type or value for property I don't see the same thing here. Could you send me a heap trace? --Juan __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: Make test status - latest CVS
The thing to understand is that any failure of make test due to either default configuration or a bug in anything other than wine is a failure of the test system. If make test passed, and Alexandre committed a patch, then this patch MUST pass on all machines. If that's not the case, then people will (and do) not use the test infrastructure, and more tests fail. That's not good! As such, I think you should fix your test to not fail (or mark it as a test wine does not pass). If you have different behaviors whether the driver bug exists or not on my system, split the test into two parts. This way, you can have one test that passes on wine whether or not the driver is broken (i.e. - if the bug in wine comes up, ignore it). The second test is one that fails if the bug in the driver doesn't come up, and if the bug in the driver does come up, fails if wine handles it differently from Windows. Mark this test as fails on wine until you fix it. This way, the tests won't fail on my machine, regardless of how it is set up. Like I said, getting the tests to pass on all wine hackers machines is crucial to build confidence with the tests, thus allowing people to run the tests prior to sending patches. If you are in Stuttgart, feel free to grab me and talk about it. Shachar Robert Reif wrote: Shachar Shemesh wrote: The problem is that I'm not interested in this test. I just think that, off the shelf, tests should not fail. My opinion is that if this is not a problem with Wine, it shouldn't fail the test. The issue from a test perspective is that wine fails differently than windows under this situation. Wine really does initialization at CoCreateInstance and our Initialize really does nothing. Wine should fail at Initialize, not CoCreateInstance. Moving initialization to Initialize will require some restructuring of the code in dsound.dll. I'll look into it but won't promis any fixes real soon. -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The problem is that I'm not interested in this test. I just think that, off the shelf, tests should not fail. My opinion is that if this is not a problem with Wine, it shouldn't fail the test. Does this patch help? It should fail the same way windows does now. Index: dlls/dsound/dsound.c === RCS file: /home/wine/wine/dlls/dsound/dsound.c,v retrieving revision 1.31 diff -u -p -r1.31 dsound.c --- dlls/dsound/dsound.c15 Mar 2005 15:40:36 - 1.31 +++ dlls/dsound/dsound.c1 May 2005 21:40:14 - @@ -684,11 +684,107 @@ static HRESULT WINAPI IDirectSoundImpl_I LPCGUID lpcGuid) { IDirectSoundImpl *This = (IDirectSoundImpl *)iface; +HRESULT hr = DS_OK; TRACE((%p,%s)\n,This,debugstr_guid(lpcGuid)); -This-initialized = TRUE; +if (This-initialized == TRUE) { +WARN(already initialized\n); +return DSERR_ALREADYINITIALIZED; +} -return DS_OK; +/* If the driver requests being opened through MMSYSTEM + * (which is recommended by the DDK), it is supposed to happen + * before the DirectSound interface is opened */ +if (This-drvdesc.dwFlags DSDDESC_DOMMSYSTEMOPEN) +{ +DWORD flags = CALLBACK_FUNCTION; + +/* disable direct sound if requested */ +if (ds_hw_accel != DS_HW_ACCEL_EMULATION) +flags |= WAVE_DIRECTSOUND; + +hr = mmErr(waveOutOpen((This-hwo), +This-drvdesc.dnDevNode, This-pwfx, +(DWORD)DSOUND_callback, (DWORD)This, +flags)); +if (hr != DS_OK) { +WARN(waveOutOpen failed\n); +return hr; +} +} + +if (This-driver) { +hr = IDsDriver_Open(This-driver); +if (hr != DS_OK) { +WARN(IDsDriver_Open failed\n); +return hr; +} + +/* the driver is now open, so it's now allowed to call GetCaps */ +hr = IDsDriver_GetCaps(This-driver,(This-drvcaps)); +if (hr != DS_OK) { +WARN(IDsDriver_GetCaps failed\n); +return hr; +} +} else { +WAVEOUTCAPSA woc; +hr = mmErr(waveOutGetDevCapsA(This-drvdesc.dnDevNode, woc, sizeof(woc))); +if (hr != DS_OK) { +WARN(waveOutGetDevCaps failed\n); +return hr; +} +ZeroMemory(This-drvcaps, sizeof(This-drvcaps)); +if ((woc.dwFormats WAVE_FORMAT_1M08) || +(woc.dwFormats WAVE_FORMAT_2M08) || +(woc.dwFormats WAVE_FORMAT_4M08) || +(woc.dwFormats WAVE_FORMAT_48M08) || +(woc.dwFormats WAVE_FORMAT_96M08)) { +This-drvcaps.dwFlags |= DSCAPS_PRIMARY8BIT; +This-drvcaps.dwFlags |= DSCAPS_PRIMARYMONO; +} +if ((woc.dwFormats WAVE_FORMAT_1M16) || +(woc.dwFormats WAVE_FORMAT_2M16) || +(woc.dwFormats WAVE_FORMAT_4M16) || +(woc.dwFormats WAVE_FORMAT_48M16) || +(woc.dwFormats WAVE_FORMAT_96M16)) { +This-drvcaps.dwFlags |= DSCAPS_PRIMARY16BIT; +This-drvcaps.dwFlags |= DSCAPS_PRIMARYMONO; +} +if ((woc.dwFormats WAVE_FORMAT_1S08) || +(woc.dwFormats WAVE_FORMAT_2S08) || +(woc.dwFormats WAVE_FORMAT_4S08) || +(woc.dwFormats WAVE_FORMAT_48S08) || +(woc.dwFormats WAVE_FORMAT_96S08)) { +This-drvcaps.dwFlags |= DSCAPS_PRIMARY8BIT; +This-drvcaps.dwFlags |= DSCAPS_PRIMARYSTEREO; +} +if ((woc.dwFormats WAVE_FORMAT_1S16) || +(woc.dwFormats WAVE_FORMAT_2S16) || +(woc.dwFormats WAVE_FORMAT_4S16) || +(woc.dwFormats WAVE_FORMAT_48S16) || +(woc.dwFormats WAVE_FORMAT_96S16)) { +This-drvcaps.dwFlags |= DSCAPS_PRIMARY16BIT; +This-drvcaps.dwFlags |= DSCAPS_PRIMARYSTEREO; +} +if (ds_emuldriver) +This-drvcaps.dwFlags |= DSCAPS_EMULDRIVER; +This-drvcaps.dwMinSecondarySampleRate = DSBFREQUENCY_MIN; +This-drvcaps.dwMaxSecondarySampleRate = DSBFREQUENCY_MAX; +This-drvcaps.dwPrimaryBuffers = 1; +} + +hr = DSOUND_PrimaryCreate((IDirectSoundImpl*)This); +if (hr == DS_OK) { +This-initialized = TRUE; +DSOUND_renderer = (IDirectSoundImpl*)This; +timeBeginPeriod(DS_TIME_RES); +DSOUND_renderer-timerID = timeSetEvent(DS_TIME_DEL, DS_TIME_RES, DSOUND_timer, +(DWORD)DSOUND_renderer, TIME_PERIODIC | TIME_CALLBACK_FUNCTION); +} else { +WARN(DSOUND_PrimaryCreate failed\n); +} + +return hr; } static HRESULT WINAPI IDirectSoundImpl_VerifyCertification( @@ -841,11 +937,11 @@ HRESULT WINAPI IDirectSoundImpl_Create( return DSERR_OUTOFMEMORY; } -pDS-pwfx-wFormatTag = WAVE_FORMAT_PCM; /* We rely on the sound driver to return
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: This time: make[3]: Entering directory `/home/sun/sources/wine/dlls/dsound/tests' ../../../tools/runtest -q -P wine -M dsound.dll -T ../../.. -p dsound_test.exe.so dsound.c touch dsound.ok err:wave:DSDB_MapBuffer Could not map sound device for direct access (Input/output error) err:wave:DSDB_MapBuffer Use: HardwareAcceleration = Emulation in the [dsound] section of your config file. fixme:ole:CoCreateInstance no instance created for interface {279afa83-4981-11ce-a521-0020af0be560} of class {47d4d946-62e8-11cf-93bc-44455354}, hres is 0x80004005 dsound.c:175: Test failed: CoCreateInstance(CLSID_DirectSound) failed: E_FAIL fixme:ole:CoCreateInstance no instance created for interface {279afa83-4981-11ce-a521-0020af0be560} of class {47d4d946-62e8-11cf-93bc-44455354}, hres is 0x8878000a dsound.c:184: Test failed: CoCreateInstance(CLSID_DirectSound) failed: DSERR_ALLOCATED fixme:ole:CoCreateInstance no instance created for interface {279afa83-4981-11ce-a521-0020af0be560} of class {47d4d946-62e8-11cf-93bc-44455354}, hres is 0x8878000a dsound.c:193: Test failed: CoCreateInstance(CLSID_DirectSound) failed: DSERR_ALLOCATED fixme:ole:CoCreateInstance no instance created for interface {11ab3ec0-25ec-11d1-a4d8-00c04fc28aca} of class {47d4d946-62e8-11cf-93bc-44455354}, hres is 0x80004002 fixme:ole:CoCreateInstance no classfactory created for CLSID {11ab3ec0-25ec-11d1-a4d8-00c04fc28aca}, hres is 0x80040154 err:wave:DSDB_MapBuffer Could not map sound device for direct access (Input/output error) err:wave:DSDB_MapBuffer Use: HardwareAcceleration = Emulation in the [dsound] section of your config file. fixme:winmm:MMDRV_Exit Closing while ll-driver open fixme:winmm:MMDRV_Exit Closing while ll-driver open make[3]: *** [dsound.ok] Error 3 make[3]: Leaving directory `/home/sun/sources/wine/dlls/dsound/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/dsound' make[1]: *** [dsound/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 Seems to be a missing interface. I don't think the Emulation warning has anything to do with it, as some tests before it printed the same error, but passed. Shachar -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: make[3]: Entering directory `/home/sun/sources/wine/dlls/gdi/tests' ../../../tools/runtest -q -P wine -M gdi32.dll -T ../../.. -p gdi32_test.exe.so metafile.c touch metafile.ok metafile.c:468: Test failed: (0,0)-(1000,1000), expected (0,0)-(1819,6675) metafile.c:468: Test failed: (0,0)-(1000,1000), expected (0,0)-(1819,6675) fixme:dc:GdiIsMetaPrintDC (nil) fixme:dc:GdiIsPlayMetafileDC (nil) fixme:dc:GdiIsMetaPrintDC 0x18c fixme:dc:GdiIsPlayMetafileDC 0x18c fixme:dc:GdiIsMetaPrintDC 0x19c fixme:dc:GdiIsPlayMetafileDC 0x19c make[3]: *** [metafile.ok] Error 2 make[3]: Leaving directory `/home/sun/sources/wine/dlls/gdi/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/gdi' make[1]: *** [gdi/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 I'm not sure what is the cause of this one. Shachar -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: make[3]: Entering directory `/home/sun/sources/wine/dlls/kernel/tests' ../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so file.c touch file.ok fixme:vxd:VXD_Open Unknown/unsupported VxD Lbogus.vxd. Try setting Windows version to 'nt40' or 'win31'. epoll_ctl: Operation not permitted file.c:1392: Test failed: ret = 1, error 12345678 make[3]: *** [file.ok] Error 1 make[3]: Leaving directory `/home/sun/sources/wine/dlls/kernel/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/kernel' make[1]: *** [kernel/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: make[3]: Entering directory `/home/sun/sources/wine/dlls/ole32/tests' ../../../tools/runtest -q -P wine -M ole32.dll -T ../../.. -p ole32_test.exe.so stg_prop.c touch stg_prop.ok err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fc8 next block has PREV_FREE flag err:heap:HEAP_ValidateInUseArena Heap 401e: prev arena 40218f60 is not prev for in-use 40218fc8 err:heap:HEAP_ValidateInUseArena Heap 401e: prev arena 40218f60 is not prev for in-use 40218fc8 err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fe8 next block has PREV_FREE flag err:heap:HEAP_ValidateInUseArena Heap 401e: in-use arena 40218fe8 next block has PREV_FREE flag stg_prop.c:372: Test failed: Didn't get expected type or value for property make[3]: *** [stg_prop.ok] Error 1 make[3]: Leaving directory `/home/sun/sources/wine/dlls/ole32/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/ole32' make[1]: *** [ole32/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: Shachar ../../../tools/runtest -q -P wine -M oleaut32.dll -T ../../.. -p oleaut32_test.exe.so typelib.c touch typelib.ok err:ole:TLB_ReadTypeLib Loading of typelib Lolepro32.dll failed with error 1812 typelib.c:39: Test failed: Could not load type library fixme:ole:RegisterTypeLib Registering non-oleautomation interface! fixme:ole:RegisterTypeLib Registering non-oleautomation interface! fixme:ole:RegisterTypeLib Registering non-oleautomation interface! fixme:ole:ITypeInfo_fnRelease destroy child objects fixme:ole:ITypeInfo_fnRelease destroy child objects fixme:ole:ITypeInfo_fnRelease destroy child objects fixme:ole:ITypeInfo_fnRelease destroy child objects fixme:ole:ITypeInfo_fnRelease destroy child objects fixme:ole:ITypeInfo_fnRelease destroy child objects make[3]: *** [typelib.ok] Error 1 make[3]: Leaving directory `/home/sun/sources/wine/dlls/oleaut32/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/oleaut32' make[1]: *** [oleaut32/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 Copying olepro32.dll from a windows solves this one. Shachar -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: The results, this time really from CVS tip: make[3]: Entering directory `/home/sun/sources/wine/dlls/user/tests' ../../../tools/runtest -q -P wine -M user32.dll -T ../../.. -p user32_test.exe.so win.c touch win.ok fixme:win:WIN_CreateWindowEx Parent is HWND_MESSAGE win.c:2165: Test failed: wrong focus window (nil) win.c:2173: Test failed: wrong focus window (nil) win.c:2176: Test failed: no message available win.c:2177: Test failed: hwnd (nil) message 0100 win.c:2203: Test failed: no message available win.c:2204: Test failed: hwnd (nil) message 0100 win.c:2642: Test failed: wrong update region win.c:2655: Test failed: wrong update region win.c:2695: Test failed: wrong update region win.c:2704: Test failed: wrong update region win.c:2713: Test failed: wrong update region win.c:2728: Test failed: wrong update region make[3]: *** [win.ok] Error 12 make[3]: Leaving directory `/home/sun/sources/wine/dlls/user/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/user' make[1]: *** [user/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
make[3]: Entering directory `/home/sun/sources/wine/dlls/winmm/tests' ../../../tools/runtest -q -P wine -M winmm.dll -T ../../.. -p winmm_test.exe.so wave.c touch wave.ok wave.c:594: Test failed: The sound played for 1169 ms instead of 1000 ms make[3]: *** [wave.ok] Error 1 make[3]: Leaving directory `/home/sun/sources/wine/dlls/winmm/tests' make[2]: *** [tests/__test__] Error 2 make[2]: Leaving directory `/home/sun/sources/wine/dlls/winmm' make[1]: *** [winmm/__test__] Error 2 make[1]: Leaving directory `/home/sun/sources/wine/dlls' make: *** [dlls/__test__] Error 2 -- Shachar Shemesh Lingnu Open Source Consulting ltd. http://www.lingnu.com/
Re: Make test status - latest CVS
Shachar Shemesh wrote: make[3]: Entering directory `/home/sun/sources/wine/dlls/dsound/tests' ../../../tools/runtest -q -P wine -M dsound.dll -T ../../.. -p dsound_test.exe.so dsound.c touch dsound.ok err:wave:DSDB_MapBuffer Could not map sound device for direct access (Input/output error) err:wave:DSDB_MapBuffer Use: HardwareAcceleration = Emulation in the [dsound] section of your config file. Seems to be a missing interface. I don't think the Emulation warning has anything to do with it, as some tests before it printed the same error, but passed. Shachar This is a bug in your OSS driver. It says it is capable of doing mmap but it fails when tried. The work around is to do as the message states: disable hardware acceleration (mmap). Running the test manually with WINEDEBUG=+wave might give more insight.
Re: Make test status - latest CVS
Shachar Shemesh wrote: The problem is that I'm not interested in this test. I just think that, off the shelf, tests should not fail. My opinion is that if this is not a problem with Wine, it shouldn't fail the test. The issue from a test perspective is that wine fails differently than windows under this situation. Wine really does initialization at CoCreateInstance and our Initialize really does nothing. Wine should fail at Initialize, not CoCreateInstance. Moving initialization to Initialize will require some restructuring of the code in dsound.dll. I'll look into it but won't promis any fixes real soon.