-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add More GNU v2/v3 Tests #68
Conversation
looks like we do not handle many cases (the copied code is probably old and should be updated?) |
Yes, some fixmes lying around. Will fix those... |
Fix breaking tests for gnu v2 demangler
This comment was marked as resolved.
This comment was marked as resolved.
87519f0
to
f14490e
Compare
Some test cases are failing because __gnu_cxx is not getting printed in the demangled name. These are marked with AFTER-REWRITE. Some tests are failing because the test is incorrect, these are marked with INCORRECT, which can be checked later on. These are less than 30 in count. Some tests are failing because current demangler code does not handle substitution. For this we need the rewrite. Will work on those in following commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good now, just please remove formatting changes. That code will be removed once you rewrite it anyway, no need for that, and it creates unnecessary bulk of changes in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Split some tests into a new category with RZ_DEMANGLE_OPT_BASE
Some tests were failing because of regex replacement performed after demangling, to simplify the demangled output. Thec c++ tests are now split into two parts : test_cxx.c and test_cxx_base.c Full discussion can be viewed in the thread here : https://im.rizin.re/rizinorg/pl/prasfjqxc3fgb8uxxoh565ku4w
@wargio take a look again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm ok with the changes, i just don't see any real upgrade of the old code, so i guess it's ok?
That's the plan. Cover as much as possible with tests before starting actual rewrite. So that we could be sure the new code works properly. |
Yes, and in total, only around 300 tests fail in c++ v3 test set. Some return |
Adding more tests.
Tests taken and modified from here
Source test code is licensed under BSD, modified test code is licensed under LGPL-3.0-only
Tests taken for gnu v2 are from here
Both source test code and the modified test code is licensed under LGPL v3
Tests taken for gnu v2 are from
libiberty/testsuite/demangle-expected
from gcc-2.95.3 source code are licensed under GPL v2