Adjustments based on new suggestions

This commit is contained in:
Christian Semmler
2023-11-30 09:25:32 -05:00
parent 9ccc42b0ec
commit 4920ea9a9e
113 changed files with 416 additions and 416 deletions

View File

@@ -10,14 +10,14 @@ public:
virtual MxResult Tickle() override; // vtable+08
// FUNCTION: TEST 0x12345678
// OFFSET: TEST 0x12345678
inline const char* ClassName() const // vtable+0c
{
// 0xabcd1234
return "TestClass";
}
// FUNCTION: TEST 0xdeadbeef
// OFFSET: TEST 0xdeadbeef
inline MxBool IsA(const char* name) const override // vtable+10
{
return !strcmp(name, TestClass::ClassName());

View File

@@ -3,19 +3,19 @@
// A very simple well-formed code file
// FUNCTION: TEST 0x1234
// OFFSET: TEST 0x1234
void function01()
{
// TODO
}
// FUNCTION: TEST 0x2345
// OFFSET: TEST 0x2345
void function02()
{
// TODO
}
// FUNCTION: TEST 0x3456
// OFFSET: TEST 0x3456
void function03()
{
// TODO

View File

@@ -1,8 +1,8 @@
// Sample for python unit tests
// Not part of the decomp
// FUNCTION: TEST 0x10000001
// OFFSET: TEST 0x10000001
inline const char* OneLineWithComment() const { return "MxDSObject"; }; // hi there
// FUNCTION: TEST 0x10000002
// OFFSET: TEST 0x10000002
inline const char* OneLine() const { return "MxDSObject"; };

View File

@@ -9,7 +9,7 @@ int no_offset_comment()
return -1;
}
// FUNCTION: TEST 0xdeadbeef
// OFFSET: TEST 0xdeadbeef
void regular_ole_function()
{
printf("hi there");

View File

@@ -3,22 +3,22 @@
// Handling multiple offset markers
// FUNCTION: TEST 0x1234
// FUNCTION: HELLO 0x5555
// OFFSET: TEST 0x1234
// OFFSET: HELLO 0x5555
void different_modules()
{
// TODO
}
// FUNCTION: TEST 0x2345
// FUNCTION: TEST 0x1234
// OFFSET: TEST 0x2345
// OFFSET: TEST 0x1234
void same_module()
{
// TODO
}
// FUNCTION: TEST 0x2002
// FUNCTION: test 0x1001
// OFFSET: TEST 0x2002
// OFFSET: test 0x1001
void same_case_insensitive()
{
// TODO

View File

@@ -1,10 +1,10 @@
// Sample for python unit tests
// Not part of the decomp
// FUNCTION: TEST 0x1234
// OFFSET: TEST 0x1234
void short_function() { static char* msg = "oneliner"; }
// FUNCTION: TEST 0x5555
// OFFSET: TEST 0x5555
void function_after_one_liner()
{
// This function comes after the previous that is on a single line.

View File

@@ -1,19 +1,19 @@
// Sample for python unit tests
// Not part of the decomp
// FUNCTION: TEST 0x1001
// OFFSET: TEST 0x1001
void function_order01()
{
// TODO
}
// FUNCTION: TEST 0x1003
// OFFSET: TEST 0x1003
void function_order03()
{
// TODO
}
// FUNCTION: TEST 0x1002
// OFFSET: TEST 0x1002
void function_order02()
{
// TODO

View File

@@ -4,18 +4,18 @@
// While it's reasonable to expect a well-formed file (and clang-format
// will make sure we get one), this will put the parser through its paces.
// FUNCTION: TEST 0x1234
// OFFSET: TEST 0x1234
void curly_with_spaces()
{
static char* msg = "hello";
}
// FUNCTION: TEST 0x5555
// OFFSET: TEST 0x5555
void weird_closing_curly()
{
int x = 123; }
// FUNCTION: HELLO 0x5656
// OFFSET: HELLO 0x5656
void bad_indenting() {
if (0)
{

View File

@@ -14,7 +14,7 @@ blank_or_comment_param = [
(True, "\t"),
(True, " "),
(False, "\tint abc=123;"),
(True, "// FUNCTION: LEGO1 0xdeadbeef"),
(True, "// OFFSET: LEGO1 0xdeadbeef"),
(True, " /* Block comment beginning"),
(True, "Block comment ending */ "),
# TODO: does clang-format have anything to say about these cases?
@@ -31,41 +31,41 @@ def test_is_blank_or_comment(line: str, expected: bool):
offset_comment_samples = [
# (can_parse: bool, exact_match: bool, line: str)
# Should match both expected modules with optional STUB marker
(True, True, "// FUNCTION: LEGO1 0xdeadbeef"),
(True, True, "// FUNCTION: LEGO1 0xdeadbeef STUB"),
(True, True, "// FUNCTION: ISLE 0x12345678"),
(True, True, "// FUNCTION: ISLE 0x12345678 STUB"),
(True, True, "// OFFSET: LEGO1 0xdeadbeef"),
(True, True, "// OFFSET: LEGO1 0xdeadbeef STUB"),
(True, True, "// OFFSET: ISLE 0x12345678"),
(True, True, "// OFFSET: ISLE 0x12345678 STUB"),
# No trailing spaces allowed
(True, False, "// FUNCTION: LEGO1 0xdeadbeef "),
(True, False, "// FUNCTION: LEGO1 0xdeadbeef STUB "),
(True, False, "// OFFSET: LEGO1 0xdeadbeef "),
(True, False, "// OFFSET: LEGO1 0xdeadbeef STUB "),
# Must have exactly one space between elements
(True, False, "//FUNCTION: ISLE 0xdeadbeef"),
(True, False, "// FUNCTION:ISLE 0xdeadbeef"),
(True, False, "// FUNCTION: ISLE 0xdeadbeef"),
(True, False, "// FUNCTION: ISLE 0xdeadbeef"),
(True, False, "// FUNCTION: ISLE 0xdeadbeef"),
(True, False, "// FUNCTION: ISLE 0xdeadbeef STUB"),
(True, False, "//OFFSET: ISLE 0xdeadbeef"),
(True, False, "// OFFSET:ISLE 0xdeadbeef"),
(True, False, "// OFFSET: ISLE 0xdeadbeef"),
(True, False, "// OFFSET: ISLE 0xdeadbeef"),
(True, False, "// OFFSET: ISLE 0xdeadbeef"),
(True, False, "// OFFSET: ISLE 0xdeadbeef STUB"),
# Must have 0x prefix for hex number
(True, False, "// FUNCTION: ISLE deadbeef"),
(True, False, "// OFFSET: ISLE deadbeef"),
# Offset, module name, and STUB must be uppercase
(True, False, "// function: ISLE 0xdeadbeef"),
(True, False, "// function: isle 0xdeadbeef"),
(True, False, "// FUNCTION: LEGO1 0xdeadbeef stub"),
(True, False, "// offset: ISLE 0xdeadbeef"),
(True, False, "// offset: isle 0xdeadbeef"),
(True, False, "// OFFSET: LEGO1 0xdeadbeef stub"),
# Hex string must be lowercase
(True, False, "// FUNCTION: ISLE 0xDEADBEEF"),
(True, False, "// OFFSET: ISLE 0xDEADBEEF"),
# TODO: How flexible should we be with matching the module name?
(True, True, "// FUNCTION: OMNI 0x12345678"),
(True, True, "// FUNCTION: LEG01 0x12345678"),
(True, False, "// FUNCTION: hello 0x12345678"),
(True, True, "// OFFSET: OMNI 0x12345678"),
(True, True, "// OFFSET: LEG01 0x12345678"),
(True, False, "// OFFSET: hello 0x12345678"),
# Not close enough to match
(False, False, "// FUNCTION: ISLE0x12345678"),
(False, False, "// FUNCTION: 0x12345678"),
(False, False, "// OFFSET: ISLE0x12345678"),
(False, False, "// OFFSET: 0x12345678"),
(False, False, "// LEGO1: 0x12345678"),
# Hex string shorter than 8 characters
(True, True, "// FUNCTION: LEGO1 0x1234"),
(True, True, "// OFFSET: LEGO1 0x1234"),
# TODO: These match but shouldn't.
# (False, False, '// FUNCTION: LEGO1 0'),
# (False, False, '// FUNCTION: LEGO1 0x'),
# (False, False, '// OFFSET: LEGO1 0'),
# (False, False, '// OFFSET: LEGO1 0x'),
]