Skip to content

Conversation

@evadeflow
Copy link

@evadeflow evadeflow commented Sep 14, 2025

This PR aims to bring the EMQX fork up-to-date with the official upstream (ref issue #4).

@evadeflow
Copy link
Author

evadeflow commented Sep 15, 2025

I just wanted to note that nearly all tests pass with these changes. Here's the tail-end of the output from running uv run --frozen pytest:

                                                                 Summary of Failures
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃  File                                  ┃  Function                                            ┃  Function Line  ┃  Error Line  ┃  Error           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│  tests/issues/test_88_random_error.py  │  test_notification_validation_error                  │  21             │              │                  │
│  tests/client/test_stdio.py            │  test_stdio_client_bad_path                          │  68             │  72          │  RuntimeError    │
│  tests/shared/test_session.py          │  test_connection_closed                              │  125            │  161         │  RuntimeError    │
│  tests/client/test_config.py           │  test_command_execution                              │  26             │  49          │  AssertionError  │
│  tests/shared/test_streamable_http.py  │  test_session_termination                            │  606            │  642         │  AssertionError  │
│  tests/shared/test_streamable_http.py  │  test_streamablehttp_client_session_termination      │  982            │              │                  │
│  tests/shared/test_streamable_http.py  │  test_streamablehttp_request_context_isolation       │  1419           │              │                  │
│  tests/shared/test_streamable_http.py  │  test_client_crash_handled                           │  1565           │              │                  │
│  tests/shared/test_streamable_http.py  │  test_streamablehttp_client_session_termination_204  │  1023           │              │                  │
└────────────────────────────────────────┴──────────────────────────────────────────────────────┴─────────────────┴──────────────┴──────────────────┘
Results (22.88s):
         9 failed
       547 passed
         2 skipped
         1 xfailed

However, when I run the test suite for the official upstream, all tests pass:

═══════════════════════════════════════════════════════════════════════════════════ inline-snapshot ════════════════════════════════════════════════════════════════════════════════════
INFO: inline-snapshot was disabled because you used xdist. This means that tests with snapshots will continue to run, but snapshot(x) will only return x and inline-snapshot will not be
able to fix snapshots or generate reports.


Results (21.11s):
       556 passed
         2 skipped
         1 xfailed

And here's what I get when I run the tests on the main branch of this fork (i.e., without the PR applied):

                                                        Summary of Failures
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃  File                                  ┃  Function                            ┃  Function Line  ┃  Error Line  ┃  Error         ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│  tests/issues/test_88_random_error.py  │  test_notification_validation_error  │  21             │              │                │
│  tests/shared/test_session.py          │  test_request_cancellation           │  46             │  103         │  RuntimeError  │
└────────────────────────────────────────┴──────────────────────────────────────┴─────────────────┴──────────────┴────────────────┘
Results (4.00s):
         2 failed
       185 passed
         1 skipped

The two failing tests on the EMQX fork pass in the official upstream. Most of the failures for the EMQX fork (with and without the PR applied) display an error message saying: RuntimeError: Attempted to exit a cancel scope that isn't the current tasks's current cancel scope. So it's possible that these failures are all (somehow) related to a pre-existing bug around cancellation introduced in the EMQX fork, I'm not sure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants