Commit 02889da
committed
fix(tests): gate on firmware capability, not on host bindings or source text
Two gates were checking something other than what they claimed, and both
went green on a branch where the thing they gate was absent.
requires_message() asks whether python-keepkey's OWN bindings define a
message. That is a property of the pinned submodule, not of the firmware
under test, so it passes on every branch regardless. The structured
EIP-712 suite used it, and on feat/passkeys-7.16 -- which has no
eip712_stream.c at all -- four tests failed as though the feature were
broken rather than absent.
Replaced with requires_structured_eip712(), which probes the device:
firmware without the walk answers the opening message with
Failure_UnexpectedMessage. Any OTHER failure deliberately does NOT skip,
because "present but misbehaving" must never be mistaken for "absent" --
that is how a skipped test becomes a silent pass.
test_burned_versions_have_no_reader asserted the ABSENCE of a
`case StorageVersion_18:` label, reasoning that falling to the default is
what sends a burned format to the wipe path. There is no default:
storage_fromFlash omits one deliberately so -Werror=switch names any
version we forget. So an unlisted version does not fall anywhere, it
breaks the ARM build -- which is exactly what happened.
Now asserts the real property: the labels exist, and what they dispatch
to is SUS_Invalid with no storage_readVxx behind them. Verified the test
is not vacuous by injecting a reader and watching it fail.1 parent 0abf93e commit 02889da
3 files changed
Lines changed: 78 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
142 | 179 | | |
143 | 180 | | |
144 | 181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | | - | |
459 | | - | |
| 458 | + | |
| 459 | + | |
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
467 | 474 | | |
468 | | - | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
474 | 502 | | |
475 | 503 | | |
476 | 504 | | |
| |||
0 commit comments