Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add command line parameter -P #4611

Merged
merged 5 commits into from
Aug 30, 2023
Merged

Add command line parameter -P #4611

merged 5 commits into from
Aug 30, 2023

Conversation

naonus
Copy link
Contributor

@naonus naonus commented Mar 2, 2023

It's not passed test case with errors below

AssertionError: '[]' != "['-P']"

  • []
  • ['-P']

#4541

@@ -730,7 +730,7 @@ mod sys {
dev_mode: settings.dev_mode,
utf8_mode: 1,
int_max_str_digits: -1,
safe_path: false,
safe_path: settings.safe_path,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified safe_path to be set from parameter

Comment on lines 887 to 1029
# 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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this from CPython?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I just added it. I'll check CPython.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test is not existed in CPython. Is it better deleting this code ?

Copy link
Member

@youknowone youknowone Mar 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@@ -288,6 +288,7 @@ def _args_from_interpreter_flags():
'verbose': 'v',
'bytes_warning': 'b',
'quiet': 'q',
'safe_path': 'P'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in #4981. We can now try and rebase after its merged and push this through too.

@youknowone youknowone added the z-ls-2023 Tag to track Line OSS Sprint 2023 label Mar 2, 2023
@@ -516,7 +516,7 @@ def check_options(self, args, func, expected=None):
self.assertEqual(proc.returncode, 0)

# TODO: RUSTPYTHON
@unittest.expectedFailure
# @unittest.expectedFailure
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remember to completely remove these comments

@DimitrisJim
Copy link
Member

hey @naonus do you have time to follow along with this PR? If not, we can pick it up.

code = "import sys; print(sys.flags.safe_path)"
env = dict(os.environ)
env.pop('PYTHONSAFEPATH', None)
args = (sys.executable, '-P', code)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
args = (sys.executable, '-P', code)
args = (sys.executable, '-P', '-c', code)


proc = subprocess.run(args, stdout=subprocess.PIPE,
universal_newlines=True, env=env)
self.assertEqual(proc.stdout.rstrip(), 'False')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.assertEqual(proc.stdout.rstrip(), 'False')
self.assertEqual(proc.stdout.rstrip(), 'True')

Copy link
Member

@youknowone youknowone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for contributing!

@youknowone youknowone merged commit d4be55c into RustPython:main Aug 30, 2023
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
z-ls-2023 Tag to track Line OSS Sprint 2023
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants