An early return from an unmet precondition makes a test that did nothing report
as a pass. FN_LIVE_FLEET is never set in CI, so this happened on every
pipeline:
file
tests
skipped before
after
LiveKeyLogTest
7
0
7
LiveConversationTest
6
0
6
LiveRelayTest
2
0
2
LiveSealedSenderTest
2
0
2
LiveSignUpTest
1
0
1
The rule was already written down here
LiveShapesTest uses assumeTrue and explains why, in its own words:
Skips are announced, not silent.return from an unmet precondition
makes a test that did nothing report as PASSED, and a suite of those is
indistinguishable from a suite that works. assumeTrue reports SKIPPED, which
is the truth.
Two files followed it, five did not. This is a consistency fix, not a new idea.
It nearly reached the specification
LiveSealedSenderTest was the evidence §15 would have cited for "Android sealed
sender, wired end to end" — tests="2" skipped="0" failures="0" on a run that
did nothing. Only reading the source reveals that, and a status table is exactly
where nobody would.
The 28 were always doing nothing. The number was wrong before, not now.
engine 275 tests, 0 skipped -> 275 ran
client 277 tests, 28 skipped -> 249 ran
app 54 tests, 0 skipped -> 54 ran
TOTAL 606 tests, 28 skipped -> 578 actually run
Closes #4
```kotlin
val url = base ?: return // reports PASSED
```
An early return from an unmet precondition makes a test that did nothing report
as a pass. `FN_LIVE_FLEET` is never set in CI, so this happened on **every**
pipeline:
| file | tests | skipped before | after |
|---|---|---|---|
| `LiveKeyLogTest` | 7 | 0 | 7 |
| `LiveConversationTest` | 6 | 0 | 6 |
| `LiveRelayTest` | 2 | 0 | 2 |
| `LiveSealedSenderTest` | 2 | 0 | 2 |
| `LiveSignUpTest` | 1 | 0 | 1 |
### The rule was already written down here
`LiveShapesTest` uses `assumeTrue` and explains why, in its own words:
> **Skips are announced, not silent.** `return` from an unmet precondition
> makes a test that did nothing report as PASSED, and a suite of those is
> indistinguishable from a suite that works. `assumeTrue` reports SKIPPED, which
> is the truth.
Two files followed it, five did not. This is a consistency fix, not a new idea.
### It nearly reached the specification
`LiveSealedSenderTest` was the evidence §15 would have cited for *"Android sealed
sender, wired end to end"* — `tests="2" skipped="0" failures="0"` on a run that
did nothing. Only reading the source reveals that, and a status table is exactly
where nobody would.
### The suite now looks worse and is not
```
before: client 277 tests, 0 skipped, 0 failures
after: client 277 tests, 28 skipped, 0 failures
```
The 28 were always doing nothing. The number was wrong before, not now.
```
engine 275 tests, 0 skipped -> 275 ran
client 277 tests, 28 skipped -> 249 ran
app 54 tests, 0 skipped -> 54 ran
TOTAL 606 tests, 28 skipped -> 578 actually run
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #4
An early return from an unmet precondition makes a test that did nothing report
as a pass.
FN_LIVE_FLEETis never set in CI, so this happened on everypipeline:
LiveKeyLogTestLiveConversationTestLiveRelayTestLiveSealedSenderTestLiveSignUpTestThe rule was already written down here
LiveShapesTestusesassumeTrueand explains why, in its own words:Two files followed it, five did not. This is a consistency fix, not a new idea.
It nearly reached the specification
LiveSealedSenderTestwas the evidence §15 would have cited for "Android sealedsender, wired end to end" —
tests="2" skipped="0" failures="0"on a run thatdid nothing. Only reading the source reveals that, and a status table is exactly
where nobody would.
The suite now looks worse and is not
The 28 were always doing nothing. The number was wrong before, not now.
mentioned in commit
73d5472faementioned in issue flamenet-relay#9
changed the description