From 000622ef0bd0eb8b916578093484bda9be44006d Mon Sep 17 00:00:00 2001 From: bneradt Date: Thu, 17 Sep 2026 16:13:00 -0500 Subject: [PATCH] Clarify AuTest process lifetime for Copilot Copilot repeatedly mistakes StillRunningAfter assertions for process lifetime controls and requests unnecessary changes to tests that reuse servers across runs, as seen in the review of #13666. This patch explains the assertion semantics and directs reviewers to check process scope, startup dependencies, and shutdown behavior before reporting a lifetime bug. Co-authored-by: GPT-6 Astra Light --- .github/copilot-instructions.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 92e09afb98e..dc2653ea742 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -368,6 +368,21 @@ plugins/my_plugin/ separate functions for configuring the servers, ATS, client, etc. 4. Test both success and error paths +### AuTest Process Lifetime in Code Reviews + +- `StillRunningAfter` and `StillRunningBefore` are assertions about whether a + process is running at a test-run boundary. They do not keep processes alive, + extend their lifetime, or control teardown. +- Omitting an origin, DNS server, or ATS process from `tr.StillRunningAfter` + does not cause AuTest to stop it. Do not request adding a process to this + assertion on every run as a way to preserve it for later runs. +- A process created at `Test` scope and started with `StartBefore` can serve + multiple test runs without appearing in each run's `StillRunningAfter`. + Check the process scope, startup dependencies, and actual shutdown behavior + before reporting a lifetime bug; a missing assertion alone is not evidence. +- Consult the [AuTest TestRun API](https://autestsuite.bitbucket.io/API/testrun.html) + for the assertion and process-ordering semantics. + ## Configuration ### Adding New Configuration Records