Repository navigation
test(tck): run host profile and document conformance - #70
Merged
Merged
Conversation
- Manage the host application under test with --node-cmd for the host profile, and wait --node-start-delay before StartBefore tests so the retained birth or STATE exists before the test observes it - Wait for the application event loop to finish in the generic-app example so the offline STATE and MQTT DISCONNECT are flushed - Accept integer metric values encoded in either the protobuf int_value or long_value field; the TCK's Tahu encoder uses long_value for UInt32 - Add tck/CONFORMANCE.md with the current edge and host results, the assertions that are not executed, and the implementation gaps behind them
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.
Summary
tck-runnernow manages the host application under test for the host profile (StartAfter,StartAfterThenStop,StartBefore) and waits--node-start-delaybeforeStartBeforetests so the retained birth/STATE exists before the test observes it.generic-appwaits for the application event loop to finish aftercancel(), so the offline STATE and MQTT DISCONNECT are flushed before the process exits.srad-typesaccepts integer metric values encoded in either protobufint_valueorlong_value. The TCK's Tahu encoder storesUInt32inlong_value, which previously made the whole DBIRTH fail to decode.tck/CONFORMANCE.mdwith the currentedgeandhostresults, the assertions that are not executed, and the implementation gaps behind them. Linked from the root README.TCK results
With the changes:
edge:MultipleBrokerTeststill fails becausesrad-eonhas no broker failover.host:SendCommandTest(no command workflow and no command datatype inPublishMetric) andhost:MultipleBrokerTest(single-broker application) remain gaps.tck/CONFORMANCE.mddocuments the remaining gaps and why they exist.Test plan
cargo test --workspacecargo fmt --checkcargo clippy -p srad-types -p tck-runner -p examples --examples./target/debug/tck-runner --suite edge --docker-image srad-tck --node-cmd ./target/debug/examples/tck-node --timeout 90(6 pass, 1 fail)./target/debug/tck-runner --suite host --docker-image srad-tck --node-cmd ./target/debug/examples/generic-app --host-app-id foo --client-id client --console-reply PASS --timeout 60(4 pass,SendCommandTestandMultipleBrokerTestare expected gaps)