On 2/24/2013 15:13, Eric Pouech wrote:
Le 24/02/2013 10:18, Nikolay Sivov a écrit :
On 2/24/2013 10:07, Max TenEyck Woodbury wrote:
On 02/23/2013 02:54 AM, Eric Pouech wrote:
Le 21/02/2013 14:33, Max TenEyck Woodbury a écrit :
Would it be appropriate to add a test to the name demangler that:

1) Scans all '.dll' and '.spec' files for mangled names, and

2) Tries to decode those names.

3) Prints the mangled and decoded names and where they occur.

Success would be that all names decode without the decoder blowing up
or failing.



adding tests for demangler is good
but you just need to have a set of mangled/unmangled strings for the test
as core demangler in msvcrt, test should be added here...
(but grabbing the mangled strings shall be left out of the test itself)
A+

One of the important aspects of name demangling is that it should work
on _all_ the names in the current system.  The current test does
demangle a list of known strings, but that list was incomplete with
respect to all the features used in real names the last time I dug into
the details (which was none too recently).

Scanning for all the real mangled names not only makes sure that the
demangler is working properly, it also assures that all the names used
are properly formed and decode to their intended values.
I don't see a point to extend test data that much, it's enough to add some most common cases, and add more when something breaks because of it. Otherwise it doesn't deserve that much of attention imho.

By the way, do you see something broken or it's just something you want to work on?


there are lots of broken stuff (in msvcrt), and demangler in winedump is ante-deluvian (and doesn't share its code with msvcrt)
A+
Okay, don't know if winedump part is of any use, I mean it tries to provide a sane C name for decorated names, and usually such names are hand-crafted anyway later.

Msvcrt being broken is important of course (at least for dbghelp).



Reply via email to