예제 #1
0
 def test_set_cmd(self):
     original_sys_argv = list(sys.argv)
     sys.argv = [0, "test"]
     # test substitutions
     str_inp = "import sys\nimport argparse"
     str_exp = "import sys\nsys.argv = ['a.py', '1', '2']\nimport argparse"
     str_out, sys_argv = iw.set_cmd(str_inp, "a.py", (1, 2))
     self.assertEqual(str_out, str_exp)
     self.assertEqual(sys_argv, [0, "test"])
     str_inp = "import argparse"
     str_exp = "import argparse\nimport sys\nsys.argv = ['a.py', '1', '2']"
     str_out, sys_argv = iw.set_cmd(str_inp, "a.py", ["1", 2])
     self.assertEqual(str_out, str_exp)
     self.assertEqual(sys_argv, [0, "test"])
     # test exceptions
     str_inp = "import re"
     self.assertRaises(AssertionError, iw.set_cmd, str_inp, "a.py", (1, 2))
     # restore sys.argv
     sys.argv = original_sys_argv
예제 #2
0
 def test_set_cmd(self):
     original_sys_argv = list(sys.argv)
     sys.argv = [0, "test"]
     path = pathlib.Path("a.py")
     # test substitutions
     str_inp = "import sys\nimport argparse"
     str_exp = f"import sys;sys.argv = ['{path.name}', '1', '2'];" + str_inp
     str_out, sys_argv = iw.set_cmd(str_inp, path, (1, 2))
     self.assertEqual(str_out, str_exp)
     self.assertEqual(sys_argv, [0, "test"])
     str_inp = "import argparse"
     str_exp = f"import sys;sys.argv = ['{path.name}', '1', '2'];" + str_inp
     str_out, sys_argv = iw.set_cmd(str_inp, path, ["1", 2])
     self.assertEqual(str_out, str_exp)
     self.assertEqual(sys_argv, [0, "test"])
     # test exceptions
     str_inp = "import re"
     self.assertRaises(AssertionError, iw.set_cmd, str_inp, path, (1, 2))
     # restore sys.argv
     sys.argv = original_sys_argv