Add command line parameter -P#4611
Conversation
| utf8_mode: 1, | ||
| int_max_str_digits: -1, | ||
| safe_path: false, | ||
| safe_path: settings.safe_path, |
There was a problem hiding this comment.
Modified safe_path to be set from parameter
Lib/test/test_cmd_line.py
Outdated
| # TODO: RUSTPYTHON | ||
| @unittest.expectedFailure | ||
| def test_pythonsafepath_env(self): | ||
| # Test the PYTHONSAFEPATH environment variable | ||
| code = "import sys; print(sys.flags.safe_path)" | ||
| env = dict(os.environ) | ||
| env.pop('PYTHONSAFEPATH', None) | ||
| args = (sys.executable, '-P', code) | ||
|
|
||
| proc = subprocess.run(args, stdout=subprocess.PIPE, | ||
| universal_newlines=True, env=env) | ||
| self.assertEqual(proc.stdout.rstrip(), 'False') | ||
| self.assertEqual(proc.returncode, 0, proc) | ||
|
|
||
| env['PYTHONSAFEPATH'] = '1' | ||
| proc = subprocess.run(args, stdout=subprocess.PIPE, | ||
| universal_newlines=True, env=env) | ||
| self.assertEqual(proc.stdout.rstrip(), 'True') | ||
| self.assertEqual(proc.returncode, 0, proc) |
There was a problem hiding this comment.
No, I just added it. I'll check CPython.
There was a problem hiding this comment.
This test is not existed in CPython. Is it better deleting this code ?
There was a problem hiding this comment.
yes here, but moving to other place is good if the case is not yet covered by cpython unittest, .
Because Lib is copy of cpython repository, we usually put our own test under extra_tests/snippets.
Lib/subprocess.py
Outdated
| 'verbose': 'v', | ||
| 'bytes_warning': 'b', | ||
| 'quiet': 'q', | ||
| 'safe_path': 'P' |
There was a problem hiding this comment.
if subprocess.py is too old, rather than editing it yourself, could you try to update it by following the library update guideline on #4564?
There was a problem hiding this comment.
done in #4981. We can now try and rebase after its merged and push this through too.
Lib/test/test_support.py
Outdated
|
|
||
| # TODO: RUSTPYTHON | ||
| @unittest.expectedFailure | ||
| # @unittest.expectedFailure |
There was a problem hiding this comment.
nit: remember to completely remove these comments
|
hey @naonus do you have time to follow along with this PR? If not, we can pick it up. |
Lib/test/test_cmd_line.py
Outdated
| code = "import sys; print(sys.flags.safe_path)" | ||
| env = dict(os.environ) | ||
| env.pop('PYTHONSAFEPATH', None) | ||
| args = (sys.executable, '-P', code) |
There was a problem hiding this comment.
| args = (sys.executable, '-P', code) | |
| args = (sys.executable, '-P', '-c', code) |
Lib/test/test_cmd_line.py
Outdated
|
|
||
| proc = subprocess.run(args, stdout=subprocess.PIPE, | ||
| universal_newlines=True, env=env) | ||
| self.assertEqual(proc.stdout.rstrip(), 'False') |
There was a problem hiding this comment.
| self.assertEqual(proc.stdout.rstrip(), 'False') | |
| self.assertEqual(proc.stdout.rstrip(), 'True') |
youknowone
left a comment
There was a problem hiding this comment.
Thank you for contributing!
It's not passed test case with errors below
AssertionError: '[]' != "['-P']"
#4541