Repository navigation
Serialize tests that use the shared test TSA - #514
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Type
Related Issue
Issue number: N/A
Current Behavior
The test TSA server (
tests/server_http.py) writes every request and response to the samejreq.tsq/jresp.tsrfiles. Underctest -j, concurrentsign_ts_*tests can receive a timestamp issued for another test's signature, so the dependentverify_ts_*tests fail with a message digest mismatch.New Behavior
ctest -jis 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 thesign_ts_*tests, the only tests that POST to the test TSA.Testing
Linux,
ctest -j16: 3, 9, and 22 failures in three runs without the lock; 375/375 passed in five runs with it. A serialctestalso 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