v3.37.0: load testing for test scripts and suites
POST /api/test/run takes an optional iterations count (the PWA's Iterations field): the run repeats, successful iterations are discarded (steps/log cleared, only load.done and the timing grow), the first error stops the loop and keeps that iteration's report, a stop ends it after the current iteration, and a card session change between iterations is an error. The SCP80 counter state is shared across iterations, so packets continue from what the previous run consumed. The status gains a load block (iteration/done/failed_iteration/ elapsed_ms/avg_ms; disabled for a normal run). The suite runner was split into a per-iteration body (_test_suite_execute_once) + the single-run finaliser, and two load workers own the loops. Review fixes: a raised runner error finalises as error (no stuck running state), a suite-internal session change is an error, a stopped member ends the suite loop, the final status keeps a warning from any iteration, avg_ms covers the attempted iterations, and each suite iteration's counters_before is read fresh. 1041 Python + 1069 frontend; simple-v475.
This commit is contained in:
1 parent
851ff65af6
commit
2181ef6bbf
13 files changed
+937
-64
No files matched your search
+12
-1
@@ -1006,11 +1006,22 @@ on every stop** as long as the card is in the reader; a card reset (session
|
||||
change) stops the suite, skips the remaining members and is flagged in the
|
||||
report.
|
||||
|
||||
`iterations` (optional, 1-1,000,000, default 1) repeats the script or the
|
||||
whole suite: successful iterations are discarded (only the counter and the
|
||||
timing are kept; the per-step log is not retained), the first iteration that
|
||||
ends in an **error** stops the loop and keeps that iteration's report, a
|
||||
manual stop ends it after the current iteration, and a card session change
|
||||
between iterations is an error. The status gains `load`:
|
||||
`{enabled, iterations, iteration, done, failed_iteration, started, finished,
|
||||
elapsed_ms, avg_ms}`.
|
||||
|
||||
The suite run's snapshot adds `suite`: the member records (`status`, `steps`,
|
||||
`note`, `log` - the semantic run-log excerpt), the `summary` (ok/warning/
|
||||
error/skipped counts, `wall_ms`, `stopped`, `session_changed`, the SCP80
|
||||
`counters_before`/`counters_after` per keyset), the `start_reset` flag and
|
||||
the `reset` result (ICCID + ms) and the run's `adm` state.
|
||||
the `reset` result (ICCID + ms) and the run's `adm` state. A successful load
|
||||
test leaves `suite` `null` (no iteration is tracked); a failing one keeps the
|
||||
failing iteration's suite state.
|
||||
The report is exported from the PWA as JSON or Markdown; the run state lives
|
||||
in the server until `POST /api/test/clear` (no history).
|
||||
|
||||
|
||||
Reference in new issue
Block a user