gh-136438: Make sure test_generated_cases pass with all optimization levels (#136594)

Fix the `test_generated_cases` to work with `-O` or `-OO` flags.
Previously, `test_generated_cases` was catching an `AssertionError` while `Tools/cases_generator/optimizer_generator.py` used an `assert` statement.  This approach semantically incorrect, no one should trying to catch an `AssertionError`!
Now the `assert` statement has been replaced with an explicit `raise ValueError(...)` and the corresponding `self.assertRaisesRegex(AssertionError, ...)` has been updated to catch a `ValueError` instead.
This commit is contained in:
Mikhail Efimov
2025-07-21 15:25:25 +03:00
committed by GitHub
parent 658599c15d
commit 58d305cf38
2 changed files with 4 additions and 4 deletions

View File

@@ -2037,7 +2037,7 @@ class TestGeneratedAbstractCases(unittest.TestCase):
"""
output = """
"""
with self.assertRaisesRegex(AssertionError, "All abstract uops"):
with self.assertRaisesRegex(ValueError, "All abstract uops"):
self.run_cases_test(input, input2, output)
def test_validate_uop_input_length_mismatch(self):

View File

@@ -398,9 +398,9 @@ def generate_abstract_interpreter(
out.emit("\n")
base_uop_names = set([uop.name for uop in base.uops.values()])
for abstract_uop_name in abstract.uops:
assert (
abstract_uop_name in base_uop_names
), f"All abstract uops should override base uops, but {abstract_uop_name} is not."
if abstract_uop_name not in base_uop_names:
raise ValueError(f"All abstract uops should override base uops, "
"but {abstract_uop_name} is not.")
for uop in base.uops.values():
override: Uop | None = None