Skip to content

Commit d6a5025

Browse files
Group non-interfering tests for parallel runs
1 parent c70caf6 commit d6a5025

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

.config/nextest.toml

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,15 @@ final-status-level = "pass"
99
failure-output = "immediate"
1010

1111
[test-groups]
12-
parallel_safe = { max-threads = 8 }
12+
# Read-only tests that can run with high parallelism
13+
read_only = { max-threads = 16 }
14+
# Tests that create isolated virtual hosts
15+
isolated_vhosts = { max-threads = 8 }
16+
# Tests that modify users/permissions (global state)
17+
user_management = { max-threads = 1 }
18+
# Tests that modify runtime parameters
19+
runtime_params = { max-threads = 1 }
20+
# Tests requiring complete isolation
1321
sequential = { max-threads = 1 }
1422

1523
[[profile.default.overrides]]
@@ -66,3 +74,45 @@ test-group = 'sequential'
6674
filter = 'binary(shovel_destination_uri_modification_tests)'
6775
priority = 23
6876
test-group = 'sequential'
77+
78+
# Read-only tests that can run with high parallelism
79+
[[profile.default.overrides]]
80+
filter = 'binary(help_tests) or binary(health_check_tests) or binary(nodes_tests) or binary(feature_flag_tests)'
81+
priority = 80
82+
test-group = 'read_only'
83+
84+
# Tests that create isolated virtual hosts
85+
[[profile.default.overrides]]
86+
filter = 'binary(queues_tests) or binary(exchanges_tests) or binary(bindings_tests) or binary(streams_tests) or binary(vhost_limits_tests) or binary(channels_tests) or binary(connections_tests)'
87+
priority = 70
88+
test-group = 'isolated_vhosts'
89+
90+
# User management tests (global state)
91+
[[profile.default.overrides]]
92+
filter = 'binary(users_tests) or binary(permissions_tests) or binary(user_limits_tests)'
93+
priority = 65
94+
test-group = 'user_management'
95+
96+
# Runtime parameter tests (excluding already sequential ones)
97+
[[profile.default.overrides]]
98+
filter = 'binary(runtime_parameters_tests)'
99+
priority = 26
100+
test-group = 'runtime_params'
101+
102+
# Virtual host management (global vhost operations)
103+
[[profile.default.overrides]]
104+
filter = 'binary(vhosts_tests)'
105+
priority = 62
106+
test-group = 'user_management'
107+
108+
# Combined integration tests (creates global users)
109+
[[profile.default.overrides]]
110+
filter = 'binary(combined_integration_tests)'
111+
priority = 61
112+
test-group = 'user_management'
113+
114+
# Tests that can run with moderate parallelism (no major conflicts)
115+
[[profile.default.overrides]]
116+
filter = 'binary(deprecated_feature_tests) or binary(test_commands_recommended_against_tests) or binary(feature_flag_management_tests)'
117+
priority = 75
118+
test-group = 'isolated_vhosts'

0 commit comments

Comments
 (0)