For those of you who might be interested, I wrote a test harness for winedbg
It still doesn't cover all of the commands of winedbg, but it's very good starting point for catching some errors (and regressions). Basic features are tested (starting winedbg, step & cont, break points & watch points, global and local var access, expression & types handling)
Unfortunately, it's not ready yet for CVS inclusion. Anyway, if some of you want to do some real winedbg hacking, get back to me, we'll see how to share it in the most appropriate way.
In the details, the harness is made of: 1/ an extension of regular wine's test harness: it just allows the test program to control a child through the command line (input & output) 2/ a program to behave as a debuggee 3/ the testing tool itself (a regular wine test app, based on component 1/), which launches winedbg on 2/ and sends commands to winedbg and checks the results
The reasons why this can't be included yet in cvs are: - we need to recompile 2/ in order to make the test to take place (or at least to have its binary image). Actually, to do a full testing, we should have binaries images of 2/ compiled by different compilers (winelib app with gcc & stabs, EXE with mingw & stabs, EXE with msvc & PDB...) so that we can also stress the dbghelp's support for the various debugging formats (stabs, PDB...) - I ran the harness both on Wine and Windows (with native dbghelp) (that's the good news), but there are some critic discrepencies, like first like number of a function being different (is it on first open brace or on first instruction ?), so the test is still not simply portable
For the rest of the story, while running the test on Windows & native dbghelp, lots of misimplementation of builtin dbghelp (and therefore winedbg) appeared. I did fix lots of them, and I'll submit them from now on.
The set of patch I've just sent to wine-patches are what is required to make the winedbg test pass on Wine, get ready now for the rest of the patches to make dbghelp (and winedbg) in sync with native dbghelp
A+