Lines Matching refs:self
33 def test_directories(self):
37 def verify_valid_flag(self, cmd_line):
39 self.assertTrue(out == b'' or out.endswith(b'\n'))
40 self.assertNotIn(b'Traceback', out)
41 self.assertNotIn(b'Traceback', err)
44 def test_help(self):
45 self.verify_valid_flag('-h')
46 self.verify_valid_flag('-?')
47 out = self.verify_valid_flag('--help')
49 self.assertIn(b'usage', lines[0])
50 self.assertNotIn(b'PYTHONHOME', out)
51 self.assertNotIn(b'-X dev', out)
52 self.assertLess(len(lines), 50)
54 def test_help_env(self):
55 out = self.verify_valid_flag('--help-env')
56 self.assertIn(b'PYTHONHOME', out)
58 def test_help_xoptions(self):
59 out = self.verify_valid_flag('--help-xoptions')
60 self.assertIn(b'-X dev', out)
62 def test_help_all(self):
63 out = self.verify_valid_flag('--help-all')
65 self.assertIn(b'usage', lines[0])
66 self.assertIn(b'PYTHONHOME', out)
67 self.assertIn(b'-X dev', out)
73 def test_optimize(self):
74 self.verify_valid_flag('-O')
75 self.verify_valid_flag('-OO')
77 def test_site_flag(self):
78 self.verify_valid_flag('-S')
80 def test_version(self):
84 self.assertFalse(err.startswith(version))
85 self.assertTrue(out.startswith(version))
87 def test_verbose(self):
92 self.assertNotIn(b'stack overflow', err)
94 self.assertNotIn(b'stack overflow', err)
98 def test_xoptions(self):
109 self.assertEqual(opts, {})
112 self.assertEqual(opts, {'a': True, 'b': 'c,d=e'})
114 def test_showrefcount(self):
127 self.assertEqual(rc, 0)
132 self.assertEqual(out.rstrip(), b'{}')
133 self.assertEqual(err, b'')
136 self.assertEqual(out.rstrip(), b"{'showrefcount': True}")
141 self.assertRegex(err, br'^\[-?\d+ refs, \d+ blocks\]')
143 self.assertEqual(err, b'')
145 def test_xoption_frozen_modules(self):
155 with self.subTest(raw):
157 self.assertRegex(res.out.decode('utf-8'), expected)
159 def test_run_module(self):
171 def test_run_module_bug1764407(self):
179 self.assertTrue(data.find(b'1 loop') != -1)
180 self.assertTrue(data.find(b'__main__.Timer') != -1)
182 def test_relativedir_bug46421(self):
192 def test_run_code(self):
202 def test_non_ascii(self):
209 def test_coding(self):
214 self.assertEqual(res.out.rstrip(), ascii(ch).encode('ascii'))
222 def test_undecodable_code(self):
257 def test_invalid_utf8_arg(self):
294 with self.subTest(run_cmd=run_cmd):
297 self.assertEqual(proc.stdout.rstrip(), ascii(arg))
301 def test_osx_android_utf8(self):
318 self.assertEqual(stdout, expected)
319 self.assertEqual(p.returncode, 0)
321 def test_non_interactive_output_buffering(self):
332 self.assertEqual(proc.stdout,
336 def test_unbuffered_output(self):
344 self.assertEqual(data, b'x', "binary %s not unbuffered" % stream)
350 self.assertEqual(data, b'x', "text %s not unbuffered" % stream)
352 def test_unbuffered_input(self):
359 self.assertEqual(rc, 0)
360 self.assertTrue(data.startswith(b'x'), data)
362 def test_large_PYTHONPATH(self):
374 self.assertIn(path1.encode('ascii'), out)
375 self.assertIn(path2.encode('ascii'), out)
379 def test_empty_PYTHONPATH_issue16309(self):
394 self.assertEqual(out1, out2)
396 def test_displayhook_unencodable(self):
412 self.assertIn(escaped, data)
414 def check_input(self, code, expected):
424 self.assertEqual(stdout.rstrip(), expected)
426 def test_stdin_readline(self):
429 self.check_input(
433 def test_builtin_input(self):
435 self.check_input(
439 def test_output_newline(self):
450 self.assertEqual(b'1\r\n2\r\n', out)
451 self.assertEqual(b'3\r\n4\r\n', err)
453 self.assertEqual(b'1\n2\n', out)
454 self.assertEqual(b'3\n4\n', err)
456 def test_unmached_quote(self):
460 self.assertRegex(err.decode('ascii', 'ignore'), 'SyntaxError')
461 self.assertEqual(b'', out)
463 def test_stdout_flush_at_shutdown(self):
472 self.assertEqual(b'', out)
473 self.assertEqual(120, rc)
474 self.assertRegex(err.decode('ascii', 'ignore'),
477 def test_closed_stdout(self):
482 self.assertEqual(b'', err)
489 def _test_no_stdio(self, streams):
510 self.assertEqual(err, b'')
511 self.assertEqual(p.returncode, 42)
513 def test_no_stdin(self):
514 self._test_no_stdio(['stdin'])
516 def test_no_stdout(self):
517 self._test_no_stdio(['stdout'])
519 def test_no_stderr(self):
520 self._test_no_stdio(['stderr'])
522 def test_no_std_streams(self):
523 self._test_no_stdio(['stdin', 'stdout', 'stderr'])
525 def test_hash_randomization(self):
527 self.verify_valid_flag('-R')
540 self.assertEqual(rc, 0)
544 self.assertGreater(len(hashes), 1,
551 self.assertIn(b'random is 1', out)
554 self.assertIn(b'random is 1', out)
557 self.assertIn(b'random is 0', out)
560 self.assertIn(b'random is 1', out)
562 def test_del___main__(self):
567 self.addCleanup(os_helper.unlink, filename)
573 def test_unknown_options(self):
575 self.assertIn(b'Unknown option: -z', err)
576 self.assertEqual(err.splitlines().count(b'Unknown option: -z'), 1)
577 self.assertEqual(b'', out)
581 self.assertIn(b'Unknown option: -z', err)
582 self.assertEqual(err.splitlines().count(b'Unknown option: -z'), 1)
583 self.assertEqual(b'', out)
585 self.assertIn(b'Unknown option: -a', err)
587 self.assertNotIn(b'Unknown option: -z', err)
588 self.assertEqual(err.splitlines().count(b'Unknown option: -a'), 1)
589 self.assertEqual(b'', out)
593 def test_isolatedmode(self):
594 self.verify_valid_flag('-I')
595 self.verify_valid_flag('-IEPs')
601 self.assertEqual(out.strip(), b'1 1 1 True')
611 self.assertRaises(subprocess.CalledProcessError,
617 self.assertEqual(out.strip(), b"ok")
619 def test_sys_flags_set(self):
639 with self.subTest(envar_value=value):
642 def test_set_pycache_prefix(self):
664 with self.subTest(envval=envval, opt=opt):
668 def run_xdev(self, *args, check_exitcode=True, xdev=True):
684 self.assertEqual(proc.returncode, 0, proc)
687 def test_xdev(self):
690 out = self.run_xdev("-c", code, xdev=False)
691 self.assertEqual(out, "False")
692 out = self.run_xdev("-c", code)
693 self.assertEqual(out, "True")
709 out = self.run_xdev("-c", code)
710 self.assertEqual(out, expected_filters)
712 out = self.run_xdev("-b", "-c", code)
713 self.assertEqual(out, f"default::BytesWarning {expected_filters}")
715 out = self.run_xdev("-bb", "-c", code)
716 self.assertEqual(out, f"error::BytesWarning {expected_filters}")
718 out = self.run_xdev("-Werror", "-c", code)
719 self.assertEqual(out, f"error::Warning {expected_filters}")
729 out = self.run_xdev("-c", code, check_exitcode=False)
734 self.assertEqual(out, alloc_name)
743 out = self.run_xdev("-c", code)
744 self.assertEqual(out, "True")
746 def check_warnings_filters(self, cmdline_option, envvar, use_pywarning=False):
764 self.assertEqual(proc.returncode, 0, proc)
767 def test_warnings_filter_precedence(self):
779 out = self.check_warnings_filters("once::UserWarning",
781 self.assertEqual(out, expected_filters)
783 out = self.check_warnings_filters("once::UserWarning",
786 self.assertEqual(out, expected_filters)
788 def check_pythonmalloc(self, env_var, name):
802 self.assertEqual(proc.stdout.rstrip(), name)
803 self.assertEqual(proc.returncode, 0)
805 def test_pythonmalloc(self):
828 with self.subTest(env_var=env_var, name=name):
829 self.check_pythonmalloc(env_var, name)
831 def test_pythondevmode_env(self):
840 self.assertEqual(proc.stdout.rstrip(), 'False')
841 self.assertEqual(proc.returncode, 0, proc)
846 self.assertEqual(proc.stdout.rstrip(), 'True')
847 self.assertEqual(proc.returncode, 0, proc)
851 def test_argv0_normalization(self):
858 self.assertEqual(proc.returncode, 0, proc)
859 self.assertEqual(proc.stdout.strip(), b'0')
861 def test_parsing_error(self):
868 self.assertTrue(proc.stderr.startswith(err_msg), proc.stderr)
869 self.assertNotEqual(proc.returncode, 0)
871 def test_int_max_str_digits(self):
888 self.assertEqual(res2int(res), (-1, sys.get_int_max_str_digits()))
890 self.assertEqual(res2int(res), (0, 0))
892 self.assertEqual(res2int(res), (4000, 4000))
894 self.assertEqual(res2int(res), (100000, 100000))
897 self.assertEqual(res2int(res), (0, 0))
899 self.assertEqual(res2int(res), (4000, 4000))
904 self.assertEqual(res2int(res), (6000, 6000))
911 def run_ignoring_vars(self, predicate, **env_vars):
919 def test_ignore_PYTHONPATH(self):
921 self.run_ignoring_vars("'{}' not in sys.path".format(path),
924 def test_ignore_PYTHONHASHSEED(self):
925 self.run_ignoring_vars("sys.flags.hash_randomization == 1",
928 def test_sys_flags_not_set(self):
935 self.run_ignoring_vars(
946 def check_string(self, code):
949 self.assertNotEqual(proc.returncode, 0)
950 self.assertNotEqual(proc.stderr, None)
951 self.assertIn(b"\nSyntaxError", proc.stderr)
953 def test_tokenizer_error_with_stdin(self):
954 self.check_string(b"(1+2+3")
956 def test_decoding_error_at_the_end_of_the_line(self):
957 self.check_string(br"'\u1f'")