mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-04 12:07:09 +00:00
fix(testrun): the refusal asks whether the generator drove, not whether anything did
A dead provider against folio exited 0 on a real emulator: the login setup dispatched three actions before the generator was consulted, so DispatchedActions was 3 and the gate never fired while the generator drove the app zero times across 83 steps. Any spec with a login setup was immune, which is the normal case. Summary counts generator actions separately and the refusal reads that. NoActionsDispatchedError becomes NoGeneratorActionsError, because a run that dispatched three login taps was lying in the old name.
This commit is contained in:
1 parent
5a36b583ea
commit
58168a6a3e
6 files changed
+274
-29
No files matched your search
@@ -79,6 +79,13 @@ type Summary struct {
|
||||
// A run at zero never touched the app, whatever its step count says, so its
|
||||
// empty violation list is the reading of an instrument that measured nothing.
|
||||
DispatchedActions int
|
||||
// GeneratorActions counts the dispatched actions the generator chose. The
|
||||
// spec's setup drives the app into its starting position before the
|
||||
// generator is consulted, so a run at zero here explored nothing however
|
||||
// many actions its login fired. Only the model generator separates the two:
|
||||
// the seeded picker resolves setup precedence inside the one JS call it
|
||||
// makes, so everything it returns counts as the generator's.
|
||||
GeneratorActions int
|
||||
}
|
||||
|
||||
type ViolationRecord struct {
|
||||
@@ -499,6 +506,9 @@ func Run(ctx context.Context, options Options) (Summary, error) {
|
||||
}
|
||||
if nextErr == nil && !applySkipped {
|
||||
summary.DispatchedActions++
|
||||
if generatorChoseAction(actionSource) {
|
||||
summary.GeneratorActions++
|
||||
}
|
||||
}
|
||||
summary.Steps = stepIndex
|
||||
if len(violations) > 0 {
|
||||
|
||||
Reference in new issue
Block a user