G: EPOD acceptance tests; harness: hide and clean other runs' mid-name objects (proxy, teardown, sweep); lock leak cause (Eclipse restart during a write)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
22
epod_tests/README.md
Normal file
22
epod_tests/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# EPOD acceptance tests (for the EPOD server developer)
|
||||
|
||||
Small test set for the two server changes that the harness work asked for (details: `docs/epod-syntax-hint.md`, `docs/epod-lock-leak.md`)
|
||||
and for the parallel-call behavior (`harness/loadtest.py` numbers). Standard library only, Python 3.9+, no harness code needed.
|
||||
It uses probe objects `ZEPODT_*` in `$TMP` on a **test system**.
|
||||
|
||||
```sh
|
||||
cd epod_tests
|
||||
export MCP_URL=http://127.0.0.1:3000/mcp MCP_TOKEN=... # the MCP server
|
||||
export A4H_URL=http://localhost:50000 A4H_USER=... A4H_PASSWORD=... # only for the cleanup (ADT deletion); without it the tests list the probe objects
|
||||
python3 run_tests.py # all; --only T1 T3 for some
|
||||
```
|
||||
|
||||
| test | passes when | state of the server on 2026-10-06 |
|
||||
|---|---|---|
|
||||
| T1 syntax_hint | a rejected write (`TYPE c LENGTH 4` in a method signature) returns syntax messages with a line, not only "save operation failed" | FAIL expected (not implemented; the harness proxy adds abaplint messages) |
|
||||
| T2 no_lock_after_kill | a client killed with SIGKILL during a write (4 delays) leaves no lock: the next write works | PASS (not reproducible on A4H) |
|
||||
| T3 parallel_reads | 6 clients search + syntax check in parallel without `Concurrent call detected` | PASS |
|
||||
| T4 parallel_writes | 3 clients create + write in parallel without `Concurrent call detected` | FAIL expected (the shared connection; 15 to 50 lock hits per 45 s in the harness load test) |
|
||||
| T5 lock_error_text | informational | PASS |
|
||||
|
||||
A change in the server is done when T1 and T4 pass and T2 and T3 stay green. T1 accepts any answer that carries a line number or a `syntaxCheck` object with messages (the proxy format is in `docs/epod-syntax-hint.md`).
|
||||
Reference in New Issue
Block a user