Skip to content

Commit

Permalink
Fix Twisted tests with latest release (#17911)
Browse files Browse the repository at this point in the history
c.f. #17906 and #17907
  • Loading branch information
erikjohnston authored Nov 7, 2024
1 parent c92639d commit c7a1d0a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions changelog.d/17911.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix tests to run with latest Twisted.
15 changes: 11 additions & 4 deletions tests/util/test_async_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,12 +320,19 @@ async def caller() -> None:
await concurrently_execute(callback, [1], 2)
except _TestException as e:
tb = traceback.extract_tb(e.__traceback__)
# we expect to see "caller", "concurrently_execute", "callback",
# and some magic from inside ensureDeferred that happens when .fail
# is called.

# Remove twisted internals from the stack, as we don't care
# about the precise details.
tb = traceback.StackSummary(
t for t in tb if "/twisted/" not in t.filename
)

# we expect to see "caller", "concurrently_execute" at the top of the stack
self.assertEqual(tb[0].name, "caller")
self.assertEqual(tb[1].name, "concurrently_execute")
self.assertEqual(tb[-2].name, "callback")
# ... some stack frames from the implementation of `concurrently_execute` ...
# and at the bottom of the stack we expect to see "callback"
self.assertEqual(tb[-1].name, "callback")
else:
self.fail("No exception thrown")

Expand Down

0 comments on commit c7a1d0a

Please sign in to comment.