/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/python/struct_value_runme.py
46 строк
1 KB
William S Fulton
Fix testcase error message text which changed in python-3.11
27 июн 2025, 10:03
27 июн 2025, 10:03
00b59d7
Код
Авторство
О чём код?
import struct_value b = struct_value.Bar() b.a.x = 3 if b.a.x != 3: raise RuntimeError b.b.x = 3 if b.b.x != 3: raise RuntimeError # Test dynamically added attributes - Github pull request #320 b.added = 123 if b.added != 123: raise RuntimeError("Wrong attribute value") if "added" not in b.__dict__: raise RuntimeError("Missing added attribute in __dict__") class PyBar(struct_value.Bar): def __init__(self): self.extra = "hi" struct_value.Bar.__init__(self) pybar = PyBar() if "extra" not in pybar.__dict__: raise RuntimeError("Missing extra attribute in __dict__") if pybar.extra != "hi": raise RuntimeError("Incorrect attribute value for extra") foo = struct_value.Foo() foo.x = 10 error_message = "" try: del foo.x except AttributeError as e: error_message = str(e) # Check for different error messages builtin vs non-builtin wrappers (error message changed in python-3.11) if not ("Illegal member variable deletion" in error_message or "object has no deleter" in error_message or "can't delete attribute" in error_message): raise RuntimeError("Unexpected error message: {}".format(error_message))