Skip to content

Serialize tests that use the shared test TSA - #514

Merged
mtrojnar merged 1 commit into
masterfrom
tsa-resource-lock
Nov 4, 2026
Merged

mtrojnar merged 1 commit into
masterfrom
tsa-resource-lock

Conversation

@mtrojnar

@mtrojnar mtrojnar commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Pull Request Type

  • Build / CI related changes

Related Issue

Issue number: N/A

Current Behavior

The test TSA server (tests/server_http.py) writes every request and response to the same jreq.tsq/jresp.tsr files. Under ctest -j, concurrent sign_ts_* tests can receive a timestamp issued for another test's signature, so the dependent verify_ts_* tests fail with a message digest mismatch.

New Behavior

ctest -j is reliable. Only the tests that request timestamps are serialized; all other tests still run in parallel.

Scope of Changes

Add a shared RESOURCE_LOCK "tsa" to the sign_ts_* tests, the only tests that POST to the test TSA.

Testing

  • Existing tests

Linux, ctest -j16: 3, 9, and 22 failures in three runs without the lock; 375/375 passed in five runs with it. A serial ctest also passes.

Additional Notes

#511 adds another TSA-using test and puts the same lock on it, so the two PRs can be merged in either order.

License Declaration

  • I hereby agree to license my contribution under the project's license.

The test TSA server stores each request and response in the same files,
so concurrent sign_ts_* tests under "ctest -j" can receive a timestamp
for another test's signature. Their verification then fails with a
message digest mismatch.

Give these tests a shared CTest resource lock. Other tests keep running
in parallel.
@mtrojnar
mtrojnar merged commit 4eaec9c into master Nov 4, 2026
18 checks passed
@mtrojnar
mtrojnar deleted the tsa-resource-lock branch November 5, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant