|
44 | 44 | * though many have been "genericized" with name components such as name0, name1,... These
|
45 | 45 | * tests are then run with different test configurations, though maybe not all of the time.
|
46 | 46 | * For instance, only one configuration is currently envisioned for being run during nightly
|
47 |
| - * or continuous testing. The other tests are intended to be exercized while the code is |
| 47 | + * or continuous testing. The other tests are intended to be exercised while the code is |
48 | 48 | * being modified.
|
49 | 49 | * As the developer of this demangler, I wanted to be able to have a demangler that could
|
50 | 50 | * provide demangled interpretations based upon what Microsoft said was truth (which is wrong
|
|
59 | 59 | * white spaces correct (including dangling white spaces)--as this provides insights into
|
60 | 60 | * the Microsoft model and helps ups to "believe" that we are on the right track; moreover,
|
61 | 61 | * it provides us with the ability to create large sets of data (millions of samples are
|
62 |
| - * available from Windows 7 and Windows 10 symbols) against which we can run our demangleder |
| 62 | + * available from Windows 7 and Windows 10 symbols) against which we can run our demangler |
63 | 63 | * and discover if we are doing better or worse with any given change. As an example, I
|
64 | 64 | * was able to make a change to this code base and run against the core set of tests below
|
65 | 65 | * and found that I broke no tests, but when I ran against the Windows 10 symbols, I failed
|
|
72 | 72 | * suites for any of these configurations are in class names of the form MDMangFooTest (all
|
73 | 73 | * derived from this class--MDMangBaseTest). If someone needs to run just a single test
|
74 | 74 | * method in this MDMangBaseTest with a different derived class from within Eclipse, then
|
75 |
| - * they can do so by making two line changes below in the contructor of this class--effectively |
| 75 | + * they can do so by making two line changes below in the constructor of this class--effectively |
76 | 76 | * transforming the class to look like one of its derived classes; at that point the developer
|
77 | 77 | * can right-click on the specific test and run or debug that single test method (of course
|
78 | 78 | * the constructor below should be changed back to its original form).
|
@@ -13699,6 +13699,17 @@ public void testWin10_1435301() throws Exception {
|
13699 | 13699 | demangleAndTest();
|
13700 | 13700 | }
|
13701 | 13701 |
|
| 13702 | + //Has "$$V" sequence (supposed MS2015 version of "$$$V" and comes from github issue #1220 |
| 13703 | + @Test |
| 13704 | + public void testDollarDollarV_Issue1220() throws Exception { |
| 13705 | + mangled = |
| 13706 | + "??$Make@VProjectorViewFormats@Output@Host@DataModel@Debugger@@$$V@Details@WRL@Microsoft@@YA?AV?$ComPtr@VProjectorViewFormats@Output@Host@DataModel@Debugger@@@12@XZ"; |
| 13707 | + msTruth = |
| 13708 | + "class Microsoft::WRL::ComPtr<class Debugger::DataModel::Host::Output::ProjectorViewFormats> __cdecl Microsoft::WRL::Details::Make<class Debugger::DataModel::Host::Output::ProjectorViewFormats>(void)"; |
| 13709 | + mdTruth = msTruth; |
| 13710 | + demangleAndTest(); |
| 13711 | + } |
| 13712 | + |
13702 | 13713 | //TODO: Need to do dispatcher for VS2017? vs. VS2015? We do not have VS2017 yet to see what it does.
|
13703 | 13714 | //TODO (20170331): Need to do some testing/fuzzing with something more up-to-date than VS2015.
|
13704 | 13715 | //Problem is at location 29-31 where we have a '?' followed by a 'C', which is trying to determine the encoded number, but the 'C'
|
@@ -14447,6 +14458,20 @@ public void testTemplatedOperator_3() throws Exception {
|
14447 | 14458 | demangleAndTest();
|
14448 | 14459 | }
|
14449 | 14460 |
|
| 14461 | + //TODO: considering for Issue 1162 |
| 14462 | + @Ignore |
| 14463 | + public void testThreadSafeStaticGuard_1() throws Exception { |
| 14464 | + mangled = |
| 14465 | + "?$TSS0@?1??GetCategoryMap@CDynamicRegistrationInfoSource@XPerfAddIn@@SAPEBU_ATL_CATMAP_ENTRY@ATL@@XZ@4HA"; |
| 14466 | +// mangled = |
| 14467 | +// "?xTSS0@?1??GetCategoryMap@CDynamicRegistrationInfoSource@XPerfAddIn@@SAPEBU_ATL_CATMAP_ENTRY@ATL@@XZ@4HA"; |
| 14468 | + //TODO: investigate and consider what we should have as outputs. |
| 14469 | + msTruth = ""; |
| 14470 | + mdTruth = |
| 14471 | + "int `public: static struct ATL::_ATL_CATMAP_ENTRY const * __ptr64 __cdecl XPerfAddIn::CDynamicRegistrationInfoSource::GetCategoryMap(void)'::`2'::`thread safe local static guard'"; |
| 14472 | + demangleAndTest(); |
| 14473 | + } |
| 14474 | + |
14450 | 14475 | //TODO: ignore for now.
|
14451 | 14476 | @Ignore
|
14452 | 14477 | public void testFuzzyFit() throws Exception {
|
|
0 commit comments