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-118846: Fix free-threading test failures when run sequentially#118864

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
colesbury merged 4 commits intopython:mainfromcolesbury:gh-118846-all-tests
May 10, 2024

Conversation

colesbury
Copy link
Contributor

@colesburycolesbury commentedMay 9, 2024
edited by bedevere-appbot
Loading

The free-threaded build currently immortalizes some objects once the first thread is started. This can lead to test failures depending on the order in which tests are run. This PR addresses those failures by suppressing immortalization or skipping the affected tests.

The free-threaded build currently immortalizes some objects once thefirst thread is started. This can lead to test failures depending on theorder in which tests are run. This PR addresses those failures bysuppressing immortalization or skipping the affected tests.
@colesbury
Copy link
ContributorAuthor

@hroncok - this should address the remaining test failures in conjunction with#118862

Copy link
Contributor

@DinoVDinoV left a comment

Choose a reason for hiding this comment

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

LGTM!

@hroncok
Copy link
Contributor

hroncok commentedMay 9, 2024
edited
Loading

I still have:

======================================================================ERROR: test_builtin_with_more_than_four_children (test.test_pydoc.test_pydoc.PydocDocTest.test_builtin_with_more_than_four_children)Tests help on builtin object which have more than four child classes.----------------------------------------------------------------------Traceback (most recent call last):  File ".../cpython/Lib/test/test_pydoc/test_pydoc.py", line 537, in test_builtin_with_more_than_four_children    text = doc.docclass(object)  File ".../cpython/Lib/pydoc.py", line 1424, in docclass    subclasses = sorted(        (str(cls.__name__) for cls in type.__subclasses__(object)         if not cls.__name__.startswith("_") and cls.__module__ == "builtins"),        key=str.lower    )  File ".../cpython/Lib/pydoc.py", line 1426, in <genexpr>    if not cls.__name__.startswith("_") and cls.__module__ == "builtins"),                                            ^^^^^^^^^^^^^^  File ".../cpython/Lib/test/test_inspect/test_inspect.py", line 775, in __module__    raise AttributeErrorAttributeError: . Did you mean: '__reduce__'?----------------------------------------------------------------------Ran 108 tests in 1.709sFAILED (errors=1, skipped=3)test test.test_pydoc.test_pydoc failed======================================================================FAIL: test_bug1055820c (test.test_gc.GCTogglingTests.test_bug1055820c)----------------------------------------------------------------------Traceback (most recent call last):  File ".../cpython/Lib/test/test_gc.py", line 1361, in test_bug1055820c    self.fail("gc didn't happen after 10000 iterations")    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^AssertionError: gc didn't happen after 10000 iterations======================================================================FAIL: test_bug1055820d (test.test_gc.GCTogglingTests.test_bug1055820d)----------------------------------------------------------------------Traceback (most recent call last):  File ".../cpython/Lib/contextlib.py", line 85, in inner    return func(*args, **kwds)  File ".../cpython/Lib/test/test_gc.py", line 1429, in test_bug1055820d    self.fail("gc didn't happen after 10000 iterations")    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^AssertionError: gc didn't happen after 10000 iterations----------------------------------------------------------------------Ran 49 tests in 14.476sFAILED (failures=2, skipped=4)test test_gc failed

Not sure if the pydoc thing is related, but the gc might.

@colesbury
Copy link
ContributorAuthor

The pydoc failure is a funny interaction between tests. Intest_inspect.py, we create a class that raises an error when you access__module__:

deftest_getfile_class_without_module(self):
classCM(type):
@property
def__module__(cls):
raiseAttributeError

In the free-threaded build, this class is now immortalized so it's still alive later on whentest_pydoc tries to generate the pydoc for all subclasses ofobject.

@colesbury
Copy link
ContributorAuthor

Ok, I think thetest_pydoc andtest_gc failures are fixed now too.

@colesburycolesbury merged commitb309c8e intopython:mainMay 10, 2024
@colesburycolesbury deleted the gh-118846-all-tests branchMay 10, 2024 20:29
@miss-islington-app
Copy link

Thanks@colesbury for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull requestMay 10, 2024
…ly (pythonGH-118864)The free-threaded build currently immortalizes some objects once thefirst thread is started. This can lead to test failures depending on theorder in which tests are run. This PR addresses those failures bysuppressing immortalization or skipping the affected tests.(cherry picked from commitb309c8e)Co-authored-by: Sam Gross <colesbury@gmail.com>
@bedevere-app
Copy link

GH-118927 is a backport of this pull request to the3.13 branch.

@bedevere-appbedevere-appbot removed the needs backport to 3.13bugs and security fixes labelMay 10, 2024
colesbury added a commit that referenced this pull requestMay 10, 2024
…lly (GH-118864) (#118927)The free-threaded build currently immortalizes some objects once thefirst thread is started. This can lead to test failures depending on theorder in which tests are run. This PR addresses those failures bysuppressing immortalization or skipping the affected tests.(cherry picked from commitb309c8e)Co-authored-by: Sam Gross <colesbury@gmail.com>
@hroncok
Copy link
Contributor

This is the only one I got now:

======================================================================ERROR: test_expr_context (test.test_ast.ASTConstructorTests.test_expr_context)----------------------------------------------------------------------Traceback (most recent call last):  File ".../cpython/Lib/test/test_ast.py", line 3042, in test_expr_context    self.assertIsInstance(name.ctx, ast.Load)                          ^^^^^^^^AttributeError: 'Name' object has no attribute 'ctx'----------------------------------------------------------------------Ran 175 tests in 0.765sFAILED (errors=1, skipped=1)

@colesbury
Copy link
ContributorAuthor

Just checking, this is from./python -m test -W on the 3.13 branch? Is it a debug build?

@AlexWaygood
Copy link
Member

Note that that AST test was only merged (and backported to 3.13) yesterday in#118854

@hroncok
Copy link
Contributor

I might have git pulled but forgot to rebuild it. Mea culpa. Trying fresh.

@hroncok
Copy link
Contributor

All is good now, thank you!

AlexWaygood reacted with hooray emojiAlexWaygood reacted with heart emoji

estyxx pushed a commit to estyxx/cpython that referenced this pull requestJul 17, 2024
…ly (python#118864)The free-threaded build currently immortalizes some objects once thefirst thread is started. This can lead to test failures depending on theorder in which tests are run. This PR addresses those failures bysuppressing immortalization or skipping the affected tests.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@DinoVDinoVDinoV approved these changes

@ericsnowcurrentlyericsnowcurrentlyAwaiting requested review from ericsnowcurrentlyericsnowcurrently is a code owner

@markshannonmarkshannonAwaiting requested review from markshannonmarkshannon is a code owner

@gvanrossumgvanrossumAwaiting requested review from gvanrossum

Assignees
No one assigned
Labels
skip newstestsTests in the Lib/test dirtopic-free-threading
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

4 participants
@colesbury@hroncok@AlexWaygood@DinoV

[8]ページ先頭

©2009-2025 Movatter.jp