On Sat, Jul 02, 2011 at 09:31:52PM +0200, Frédéric Delanoy wrote:
Hi folks,
I'm in the process of writing a couple of cmd tests (on top of master, not of my currently pending patches), and I at times have problems where none of the tests is actually performed, but the test suite still returns without any error indication, e.g.
batch.c:306: running TEST_BUILTINS.CMD test... batch: 7 tests executed (0 marked as todo, 0 failures), 0 skipped.
which many more tests should be performed
After checking with "winedbg --gdb" it gets a SIGSEGV
I tried to reproduce with a mimimal output file and expected file, and get weird results. Say you have the following files:
test_builtins.cmd @echo off echo should fail
<empty line>
and test_builtins.cmd.exp dir
<empty line>
When I run make testclean && make test in programs/cmd/tests, I get the following (first line of .exp file executed somehow...)
batch.c:215: Test failed: unexpected char 0x73 position 0 in line 1 (got 'should fail', wanted 'dir') batch.c:227: Test failed: too long output, got additional Volume Serial Number is 0000-0000
Directory of Z:\path\to\wine\programs\cmd\tests
2/07/2011 20:56 <DIR> . 2/07/2011 14:34 <DIR> .. 2/07/2011 2:34 11,074 batch.c <...>
batch: 14 tests executed (0 marked as todo, 2 failures), 0 skipped.
If I run "/wine winedbg --gdb programs/cmd/tests/cmd.exe_test.exe.so" and run (c)ont, I get a SIGSEGV:
Program received signal SIGSEGV, Segmentation fault. 0x7bc481f2 in HEAP_MakeInUseBlockFree (subheap=0x110014, pArena=0x1106a8) at heap.c:640 640 size += (pFree->size & ARENA_SIZE_MASK) + sizeof(ARENA_FREE);
If you could run this with
export WINEDEBUG=+heap
This should show the heap corruption way earlier, but gets a lot of debugoutput. Redirect to a file, and look for the first instancnes of corruption. Add more debugging to WINEDEBUG to see where it does fail...
Ciao, Marcus