Skip to content

Improve test performance - #1118

Merged
Kehrlann merged 2 commits into
mainfrom
dgarnier/improve-test-performance
Aug 31, 2026
Merged

Kehrlann merged 2 commits into
mainfrom
dgarnier/improve-test-performance

Conversation

@Kehrlann

@Kehrlann Kehrlann commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor
  • STDIO now runs tests with node instead of npx
  • Tomcat-based tests run a single Tomcat instance per class instead of one Tomcat per test

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
- Instead of running one Tomcat per test method, run one per test
- Improves the testing time of Servlet-based tests

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
@Kehrlann
Kehrlann marked this pull request as ready for review August 31, 2026 13:05
@Kehrlann
Kehrlann merged commit 24fbb11 into main Aug 31, 2026
24 checks passed
@Kehrlann
Kehrlann deleted the dgarnier/improve-test-performance branch August 31, 2026 13:05
Kehrlann added a commit that referenced this pull request Nov 2, 2026
Revert the core of the change of #1118, and use one Tomcat per test
instead of per class. McpSyncListFilteringIntegrationTests, which shared
a Tomcat and a transport per server type, now gets a fresh one for each
test too.

With a shared Tomcat, a stream still being written to after its client
went away can corrupt a connection of a later test, which then fails
with "HTTP/1.1 header parser received no bytes".

Bind test Tomcats to 127.0.0.1 in TomcatTestUtil, rather than in
HttpServletSseIntegrationTests only: with the wildcard address, every
stop waits a full second on macOS. This makes the per-test classes as
fast as, or faster than, they were with a shared Tomcat.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
Kehrlann added a commit that referenced this pull request Nov 3, 2026
Revert the core of the change of #1118, and use one Tomcat per test
instead of per class. McpSyncListFilteringIntegrationTests, which shared
a Tomcat and a transport per server type, now gets a fresh one for each
test too.

With a shared Tomcat, a stream still being written to after its client
went away can corrupt a connection of a later test, which then fails
with "HTTP/1.1 header parser received no bytes".

Bind test Tomcats to 127.0.0.1 in TomcatTestUtil, rather than in
HttpServletSseIntegrationTests only: with the wildcard address, every
stop waits a full second on macOS. This makes the per-test classes as
fast as, or faster than, they were with a shared Tomcat.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
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.

1 participant