Skip to content

Commit 0f2194a

Browse files
committed
feat(FTB): support AssertedCast error messages
1 parent 5ea0a6a commit 0f2194a

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

FTB/AssertionHelper.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ def getAssertion(output: list[str]) -> str | list[str] | None:
8383
endRegex = RE_V8_END
8484
lastLine = [line]
8585
haveFatalAssertion = True
86+
elif line.startswith("AssertedCast error:"):
87+
# Firefox AssertedCast error (mozilla/Casting.h)
88+
lastLine = line
89+
haveFatalAssertion = True
8690
elif "Assertion" in line and "failed" in line:
8791
# Firefox ANGLE assertion
8892
lastLine = line
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AssertedCast error: Cannot cast -32769 from int32_t to uint32_t: out of range

FTB/tests/test_AssertionHelper.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,20 @@ def test_AssertionHelperTestCPPUnhandledException():
266266
_check_regex_matches(err, sanitizedMsg)
267267

268268

269+
def test_AssertionHelperTestAssertedCast():
270+
err = (FIXTURE_PATH / "assert_asserted_cast.txt").read_text().splitlines()
271+
272+
sanitizedMsg = AssertionHelper.getSanitizedAssertionPattern(
273+
AssertionHelper.getAssertion(err)
274+
)
275+
expectedMsg = (
276+
r"AssertedCast error: Cannot cast -[0-9]{2,} from int[0-9]{2,}_t to "
277+
r"uint[0-9]{2,}_t: out of range"
278+
)
279+
assert sanitizedMsg == expectedMsg
280+
_check_regex_matches(err, sanitizedMsg)
281+
282+
269283
def test_AssertionHelperTestRustPanic01():
270284
err = (FIXTURE_PATH / "assert_rust_panic1.txt").read_text().splitlines()
271285
sanitizedMsg = AssertionHelper.getSanitizedAssertionPattern(

0 commit comments

Comments
 (0)