diff options
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r-- | Lib/test/test_exceptions.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py index b35a5e4..493cd2f 100644 --- a/Lib/test/test_exceptions.py +++ b/Lib/test/test_exceptions.py @@ -6,10 +6,11 @@ import unittest import pickle import weakref import errno +import ctypes from test.support import (TESTFN, captured_output, check_impl_detail, check_warnings, cpython_only, gc_collect, run_unittest, - no_tracing, unlink) + no_tracing, unlink, get_attribute) class NaiveException(Exception): def __init__(self, x): @@ -245,6 +246,13 @@ class ExceptionTests(unittest.TestCase): self.assertEqual(w.strerror, 'foo') self.assertEqual(w.filename, None) + def test_windows_message(self): + """Should fill in unknown error code in Windows error message""" + windll = get_attribute(ctypes, "windll") + code = int.from_bytes(b"\xE0msc", "big") + with self.assertRaisesRegex(OSError, hex(code)): + windll.kernel32.RaiseException(code, 0, 0, None) + def testAttributes(self): # test that exception attributes are happy |