Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-131290: ensure that test files can be executed as standalone scripts#131371

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

@MaximGit1
Copy link
Contributor

@MaximGit1MaximGit1 commentedMar 17, 2025
edited by bedevere-appbot
Loading

Now tests are launched via ./python.exe and work correctly

added environment variable value "PYTHONREGRTEST_UNICODE_GUARD0" when calling the test directly
added spec for test when calling directly
@ghost
Copy link

ghost commentedMar 17, 2025
edited by ghost
Loading

All commit authors signed the Contributor License Agreement.
CLA signed

@bedevere-appbedevere-appbot added the testsTests in the Lib/test dir labelMar 17, 2025
@bedevere-app
Copy link

Most changes to Pythonrequire a NEWS entry. Add one using theblurb_it web app or theblurb command-line tool.

If this change has little impact on Python users, wait for a maintainer to apply theskip news label instead.

@bedevere-app
Copy link

Most changes to Pythonrequire a NEWS entry. Add one using theblurb_it web app or theblurb command-line tool.

If this change has little impact on Python users, wait for a maintainer to apply theskip news label instead.

@picnixzpicnixz changed the titlegh-131290: Several tests are modified when called directly via ./python Lib/test/...gh-131290: fix direct test files invocationMar 17, 2025
@sobolevnsobolevn requested a review fromEclips4March 17, 2025 17:30
if__name__=="__main__":
importimportlib.util

# Adding the __spec__ attribute to the __main__ module
Copy link
Member

Choose a reason for hiding this comment

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

Which test is failing because of the lack of__spec__?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

test_others

user\cpython\Lib\test\test_pyclbr.py", line 226, in test_others    cm(    ~~^        'pdb',        ^^^^^^        # pyclbr does not handle elegantly `typing` or properties        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        ignore=('Union', '_ModuleTarget', '_ScriptTarget', '_ZipTarget', 'curframe_locals'),        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    )    ^ File "user\cpython\Lib\test\test_pyclbr.py", line 142, in checkModule    self.assertHaskey(dict, name, ignore)    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^  File "user\cpython\Lib\test\test_pyclbr.py", line 39, in assertHaskey    self.assertIn(key, obj)    ~~~~~~~~~~~~~^^^^^^^^^^AssertionError: 'Pdb' not found in {'contextmanager': <pyclbr.Function object at 0x000001DA2A910690>}----------------------------------------------------------------------Ran 6 tests in 11.022sFAILED (failures=1, errors=1)

Copy link
Member

Choose a reason for hiding this comment

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

Can you make it a local solution for Pdb then? possibly extracting this test into a separate function?

Comment on lines 2551 to 2552
os.environ['PYTHONREGRTEST_UNICODE_GUARD']='some_value'# for test_unicode_guard_env
unittest.main()
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
os.environ['PYTHONREGRTEST_UNICODE_GUARD']='some_value'# for test_unicode_guard_env
unittest.main()
withEnvironmentVarGuard()asenv:
# for test_unicode_guard_env
PYTHONREGRTEST_UNICODE_GUARD="some_value"
unittest.main()

and add somefrom test.support.os_hepler import EnvironmentVarGuard top-level import. However, I don't know if this is correct to testtest_unicode_guard_env like this or if we shouldn't just skip if it we're running it from__main__. Namely, decorate the test with@unittest.skipIf(__name__ == '__main__') cc@vstinner

@picnixzpicnixz changed the titlegh-131290: fix direct test files invocationfix direct test files invocationMar 17, 2025
@picnixzpicnixz changed the titlefix direct test files invocationgh-131290: fix direct test files invocationMar 17, 2025
@picnixz
Copy link
Member

  • The CLA needs to be signed.
  • The NEWS entry seems to fail but I don't know if it's because of its name or if it's because of its content.

@vstinner
Copy link
Member

For regrtest, I would prefer this fix:

diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.pyindex 510c8f69631..7e317d5ab94 100644--- a/Lib/test/test_regrtest.py+++ b/Lib/test/test_regrtest.py@@ -2546,4 +2546,5 @@ def test_test_result_get_state(self):   if __name__ == '__main__':+    setup.setup_process()     unittest.main()
MaximGit1 reacted with thumbs up emoji

picnixz
picnixz previously requested changesMar 30, 2025
if__name__=="__main__":
importimportlib.util

# Adding the __spec__ attribute to the __main__ module
Copy link
Member

Choose a reason for hiding this comment

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

Can you make it a local solution for Pdb then? possibly extracting this test into a separate function?

@bedevere-app
Copy link

A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated.

Once you have made the requested changes, please leave a comment on this pull request containing the phraseI have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

@bedevere-app
Copy link

Thanks for making the requested changes!

: please review the changes made to this pull request.

@picnixzpicnixz self-requested a reviewApril 6, 2025 22:46
Copy link
Member

@picnixzpicnixz left a comment

Choose a reason for hiding this comment

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

I'm not on my dev session so I can't check but can you check again that the entire test suite is now correctly runnable as standalone files? TiA.

MaximGit1 reacted with thumbs up emoji
compare(None,actual,None,expected)

deftest_pdb_module(self):
withtemporary_main_spec():
Copy link
Member

Choose a reason for hiding this comment

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

With the context manager, it's maybe better to actually put this one back in test_others(). We're also already usingwith warnings.catch_warnings(). Sorry for this oversight!

deftest_others(self):cm= ...    ...withtemporary_main_spec():cm('pdb', ...)

@MaximGit1
Copy link
ContributorAuthor

ok i checked the tests here are the results

./python .\Lib\test\test_metaclass.pyRunning Debug|x64 interpreter....----------------------------------------------------------------------Ran 1 test in 0.191sOK
./python .\Lib\test\test_pyclbr.pyRunning Debug|x64 interpreter.........----------------------------------------------------------------------Ran 6 tests in 10.211sOK
./python .\Lib\test\test_regrtest.py Running Debug|x64 interpreter......................................................................................................................----------------------------------------------------------------------Ran 115 tests in 242.723sOK

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@picnixz
Copy link
Member

I'm sorry I forgot about this one before leaving! I'll merge this by Sunday!

MaximGit1 reacted with heart emoji

@picnixzpicnixzenabled auto-merge (squash)April 12, 2025 07:24
@picnixzpicnixzdisabled auto-mergeApril 12, 2025 07:24
@picnixzpicnixzenabled auto-merge (squash)April 12, 2025 07:25
@picnixzpicnixz changed the titlegh-131290: fix direct test files invocationgh-131290: ensure that test files can be executed as standalone scriptsApr 12, 2025
@picnixzpicnixz merged commit292a724 intopython:mainApr 12, 2025
39 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@vstinnervstinnervstinner left review comments

@picnixzpicnixzpicnixz approved these changes

@Eclips4Eclips4Awaiting requested review from Eclips4

Assignees

@picnixzpicnixz

Labels

testsTests in the Lib/test dir

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@MaximGit1@picnixz@vstinner

[8]ページ先頭

©2009-2025 Movatter.jp