(self)
| 71 | # CRASHES run(NULL, {}) |
| 72 | |
| 73 | def test_run_fileexflags(self): |
| 74 | # Test PyRun_FileExFlags(). |
| 75 | filename = os.fsencode(TESTFN if os.name != 'nt' else TESTFN_ASCII) |
| 76 | with open(filename, 'wb') as fp: |
| 77 | fp.write(b'a\n') |
| 78 | self.addCleanup(unlink, filename) |
| 79 | def run(*args): |
| 80 | return _testcapi.run_fileexflags(filename, Py_file_input, *args) |
| 81 | |
| 82 | self.assertIsNone(run(dict(a=1))) |
| 83 | self.assertIsNone(run(dict(a=1), {})) |
| 84 | self.assertIsNone(run({}, dict(a=1))) |
| 85 | self.assertIsNone(run({}, UserDict(a=1))) |
| 86 | self.assertIsNone(run(dict(a=1), {}, 1)) # closeit = True |
| 87 | |
| 88 | self.assertRaises(NameError, run, {}) |
| 89 | self.assertRaises(NameError, run, {}, {}) |
| 90 | self.assertRaises(TypeError, run, dict(a=1), []) |
| 91 | self.assertRaises(TypeError, run, dict(a=1), 1) |
| 92 | |
| 93 | self.assertIsNone(run(DictSubclass(a=1))) |
| 94 | self.assertIsNone(run(DictSubclass(), dict(a=1))) |
| 95 | self.assertRaises(NameError, run, DictSubclass()) |
| 96 | |
| 97 | self.assertRaises(SystemError, run, NULL) |
| 98 | self.assertRaises(SystemError, run, NULL, {}) |
| 99 | self.assertRaises(SystemError, run, NULL, dict(a=1)) |
| 100 | self.assertRaises(SystemError, run, UserDict()) |
| 101 | self.assertRaises(SystemError, run, UserDict(), {}) |
| 102 | self.assertRaises(SystemError, run, UserDict(), dict(a=1)) |
| 103 | |
| 104 | @unittest.skipUnless(TESTFN_UNDECODABLE, 'only works if there are undecodable paths') |
| 105 | @unittest.skipIf(os.name == 'nt', 'does not work on Windows') |
nothing calls this directly
no test coverage detected