Merge fix/flybus-conformance-rows: the conformance rows name the tests that now prove them
This commit is contained in:
commit
537cdd8ad9
2 changed files with 21 additions and 10 deletions
|
|
@ -438,18 +438,30 @@ poll-until-the-router-settles the rest of the file already uses for router-side
|
||||||
no sleep, no timing constant, and the assertion now has the precondition its contract sentence
|
no sleep, no timing constant, and the assertion now has the precondition its contract sentence
|
||||||
names. **360 runs after the fix, 0 failures** (240 debug, 120 release).
|
names. **360 runs after the fix, 0 failures** (240 debug, 120 release).
|
||||||
|
|
||||||
Two other intermittent failures were seen in the same sweep and are **not** fixed here, since
|
Two other intermittent failures were seen in the same sweep. They belonged to the bus slice
|
||||||
they belong to the bus slice rather than to this one:
|
rather than to this one and were fixed there, in the same way and for the same reason:
|
||||||
|
|
||||||
- `tests/example_demo.rs::the_example_shows_a_counter_rpc_an_observer_and_a_held_frame`,
|
- `tests/example_demo.rs::the_example_shows_a_counter_rpc_an_observer_and_a_held_frame`,
|
||||||
2 failures in 40 standalone runs plus 1 in 12 full-suite runs. It prints
|
2 failures in 40 standalone runs plus 1 in 12 full-suite runs. It printed
|
||||||
"while the frame is held: 1 artifact(s), 2 root(s)" instead of 1 root: the producer's hold
|
"while the frame is held: 1 artifact(s), 2 root(s)" instead of 1 root: the producer's hold
|
||||||
release is queued on the control lane and had not been applied when the example read the
|
release is queued on the control lane and had not been applied when the example read the
|
||||||
counts. The same shape of gap, in the guide deliverable's printed output.
|
counts. `examples/demo.rs` now waits for that release before reading the counts, the same
|
||||||
- `tests/integration.rs::unix_socket::session_over_one_router`, 1 failure in 12 full-suite
|
bounded poll it already used for collection eight lines below, so the line the guide quotes
|
||||||
runs and 0 in 40 standalone runs, at the assertion that the deliberately slow consumer
|
is an observation rather than a race. The printed output is unchanged.
|
||||||
skipped snapshots. Under load it kept up, so the assertion is a timing claim about the
|
- `tests/integration.rs::session_over_one_router`, 1 failure in 12 full-suite runs and 0 in 40
|
||||||
machine.
|
standalone runs, at the assertion that the deliberately slow consumer skipped snapshots.
|
||||||
|
Under load it kept up, so the assertion was a timing claim about the machine: section 7
|
||||||
|
permits a latest subscriber to miss values, it does not oblige it to. The renderer is now
|
||||||
|
held until the publisher's twentieth receipt has returned -- the publisher's completion
|
||||||
|
observed, not timed -- so the coalescing is forced by construction, and the test asserts the
|
||||||
|
guarantees that do hold: each delivery carries the frame of the snapshot it announces,
|
||||||
|
deliveries arrive in publication order, the last value received is the latest published, the
|
||||||
|
renderer receives snapshots 1 and 20 of 20, both subscriptions accept all twenty publications
|
||||||
|
while the spectator reads nothing, and the eighteen replacements reported to the publisher at
|
||||||
|
admission are the same eighteen reported to the renderer on delivery and are exactly the
|
||||||
|
snapshots it did not receive. 16 failures in 40 runs beside four busy loops before, 0 in 40
|
||||||
|
after; the whole crate went from 10 failed runs in 20 to 0, and the workspace suite from 2
|
||||||
|
in 5 to 0.
|
||||||
|
|
||||||
## Contradictions
|
## Contradictions
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -168,8 +168,7 @@ async fn session_over_one_router(via: Via) {
|
||||||
let bytes = frame.read_all().await.unwrap();
|
let bytes = frame.read_all().await.unwrap();
|
||||||
let step = bytes[0] as u64;
|
let step = bytes[0] as u64;
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
(step, sequence),
|
sequence, step,
|
||||||
(step, step),
|
|
||||||
"a delivery carries the frame of the snapshot it announces"
|
"a delivery carries the frame of the snapshot it announces"
|
||||||
);
|
);
|
||||||
coalesced += replaced;
|
coalesced += replaced;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue