[Lldb-commits] [lldb] [lldb] Add additional assertions to TestVTableValue.test_overwrite_vtable (PR #118719)
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 4 16:10:06 PST 2024
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/118719
If this test fails, you're likely going to see something like "Assertion Error: A != B" which doesn't really give much explanation for why this failed.
Instead of ignoring the error, we should assert that it succeeded. This will lead to a better error message, for example:
`AssertionError: 'memory write failed for 0x102d7c018' is not success`
>From 7a4761dd3e4eb51c2c419852a48f99d1b1ad9127 Mon Sep 17 00:00:00 2001
From: Alex Langford <alangford at apple.com>
Date: Wed, 4 Dec 2024 16:04:36 -0800
Subject: [PATCH] [lldb] Add additional assertions to
TestVTableValue.test_overwrite_vtable
If this test fails, you're likely going to see something like "Assertion
Error: A != B" which doesn't really give much explanation for why this
failed.
Instead of ignoring the error, we should assert that it succeeded. This
will lead to a better error message, for example:
`AssertionError: 'memory write failed for 0x102d7c018' is not success`
---
lldb/test/API/functionalities/vtable/TestVTableValue.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lldb/test/API/functionalities/vtable/TestVTableValue.py b/lldb/test/API/functionalities/vtable/TestVTableValue.py
index bfc910614afa9e..f0076ea28f7599 100644
--- a/lldb/test/API/functionalities/vtable/TestVTableValue.py
+++ b/lldb/test/API/functionalities/vtable/TestVTableValue.py
@@ -2,7 +2,6 @@
Make sure the getting a variable path works and doesn't crash.
"""
-
import lldb
import lldbsuite.test.lldbutil as lldbutil
from lldbsuite.test.decorators import *
@@ -142,7 +141,12 @@ def test_overwrite_vtable(self):
"\x01\x01\x01\x01\x01\x01\x01\x01" if is_64bit else "\x01\x01\x01\x01"
)
error = lldb.SBError()
- process.WriteMemory(vtable_addr, data, error)
+ bytes_written = process.WriteMemory(vtable_addr, data, error)
+
+ self.assertSuccess(error)
+ self.assertGreater(
+ bytes_written, 0, "Failed to overwrite first entry in vtable"
+ )
scribbled_child = vtable.GetChildAtIndex(0)
self.assertEqual(
More information about the lldb-commits
mailing list