MCPcopy Index your code
hub / github.com/python/cpython / run_script

Method run_script

Lib/test/test__interpreters.py:868–898  ·  view source on GitHub ↗
(self, text, *, fails=False)

Source from the content-addressed store, hash-verified

866 return script_helper.make_script(tempdir, modname, text)
867
868 def run_script(self, text, *, fails=False):
869 r, w = os.pipe()
870 try:
871 script = dedent(f"""
872 import os, sys
873 os.write({w}, b'0')
874
875 # This raises an exception:
876 {{}}
877
878 # Nothing from here down should ever run.
879 os.write({w}, b'1')
880 class NeverError(Exception): pass
881 raise NeverError # never raised
882 """).format(dedent(text))
883 if fails:
884 err = _interpreters.run_string(self.id, script)
885 self.assertIsNot(err, None)
886 return err
887 else:
888 err = _interpreters.run_string(self.id, script)
889 self.assertIs(err, None)
890 return None
891 except:
892 raise # re-raise
893 else:
894 msg = os.read(r, 100)
895 self.assertEqual(msg, b'0')
896 finally:
897 os.close(r)
898 os.close(w)
899
900 def _assert_run_failed(self, exctype, msg, script):
901 if isinstance(exctype, str):

Callers 1

_assert_run_failedMethod · 0.95

Calls 8

dedentFunction · 0.90
assertIsNotMethod · 0.80
pipeMethod · 0.45
formatMethod · 0.45
assertIsMethod · 0.45
readMethod · 0.45
assertEqualMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected