fabro/.config/nextest.toml

88 lines
3.6 KiB
TOML

[profile.default]
# Default-profile tests: flag SLOW after 1s, hard-kill after 3s
slow-timeout = { period = "1s", terminate-after = 3 }
leak-timeout = "500ms"
# Real Docker worker crashes wait for supervisor cleanup and retain files.
[[profile.default.overrides]]
filter = "package(fabro-cli) & test(worker_crash_honors_the_docker_stop_policy_and_retains_files)"
slow-timeout = { period = "30s", terminate-after = 3 }
[[profile.default.overrides]]
filter = "package(fabro-cli)"
slow-timeout = { period = "6s", terminate-after = 4 }
# Docker scenarios allow 60s for a cold image pull; leave time for cleanup.
# Keep this before the general server override because the first match wins.
[[profile.default.overrides]]
filter = """
package(fabro-server) & (
test(=scenario::petri::a_runs_projection_carries_its_docker_sandbox_instance)
| test(=scenario::petri::the_server_attaches_to_the_container_petri_created)
| test(=scenario::petri::a_bundle_naming_a_catalog_environment_runs_on_docker_with_its_image)
)
"""
slow-timeout = { period = "30s", terminate-after = 3 }
[[profile.default.overrides]]
filter = "package(fabro-server)"
slow-timeout = { period = "5s", terminate-after = 4 }
[[profile.default.overrides]]
filter = "package(fabro-workflow)"
slow-timeout = { period = "2s", terminate-after = 3 }
# fabro-petri's adapter tests run whole workflows on the host sandbox
# through the in-process provider, and one of them calls the twin.
[[profile.default.overrides]]
filter = "package(fabro-petri)"
slow-timeout = { period = "5s", terminate-after = 4 }
# Real descendant regressions include bounded reaping and process probes.
# Leave room for their own watchdogs to run fail-safe fixture cleanup.
[[profile.default.overrides]]
filter = "package(fabro-proc) & binary(lifecycle)"
slow-timeout = { period = "10s", terminate-after = 3 }
[profile.e2e]
# E2E (ignored) tests: flag SLOW after 10s, hard-kill after 30s
slow-timeout = { period = "10s", terminate-after = 3 }
leak-timeout = "500ms"
# Daytona live tests create a remote sandbox, install tools in it (the
# Playwright MCP test fetches a 114 MiB browser), and wait for an MCP
# handshake through the preview URL. The measured run is ~41s, past the
# 30s hard kill above; 20 minutes leaves room for a slow provider without
# letting a hung test run forever.
[[profile.e2e.overrides]]
filter = "test(/daytona_/)"
slow-timeout = { period = "60s", terminate-after = 20 }
[profile.ci]
# CI runners are slower and more variable than dev machines; give tests room
# before flagging them as hung. CI uses one uniform timeout for every test.
#
# Nextest falls back to `[[profile.default.overrides]]` when the active
# profile has no matching override for a given setting, so the per-package
# overrides below re-assert the CI timeout for packages narrowed down in
# profile.default. See
# https://nexte.st/docs/configuration/per-test-overrides/#override-precedence
slow-timeout = { period = "30s", terminate-after = 4 }
leak-timeout = "2s"
[[profile.ci.overrides]]
filter = "package(fabro-cli)"
slow-timeout = { period = "30s", terminate-after = 4 }
[[profile.ci.overrides]]
filter = "package(fabro-server)"
slow-timeout = { period = "30s", terminate-after = 4 }
[[profile.ci.overrides]]
filter = "package(fabro-workflow)"
slow-timeout = { period = "30s", terminate-after = 4 }
[[profile.ci.overrides]]
filter = "package(fabro-petri)"
slow-timeout = { period = "30s", terminate-after = 4 }