test(runner): answer Snapshot and Hierarchy off one tree in the fakes

This commit is contained in:
pj committed 2026-08-15 21:30:15 +05:30
1 parent bc73975604
commit 2762dc3011
3 files changed
+20

No files matched your search

@@ -74,6 +74,12 @@ func (d *leavesForegroundAfterSubmitDriver) Snapshot(context.Context) (string, d
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil
} }
// No device answers Snapshot and Hierarchy off different trees, and the runner
// reads both per step, so this one answers them off the same commit count.
func (d *leavesForegroundAfterSubmitDriver) Hierarchy(context.Context) (string, error) {
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), nil
}
// obscuredAfterSubmitDriver is the other half of the same guard: the app stays // obscuredAfterSubmitDriver is the other half of the same guard: the app stays
// the resumed activity, but a system window (the notification shade) owns the // the resumed activity, but a system window (the notification shade) owns the
// focused window when the next step looks, and the guard presses back to // focused window when the next step looks, and the guard presses back to
@@ -123,6 +129,10 @@ func (d *obscuredAfterSubmitDriver) Snapshot(context.Context) (string, driver.Im
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil
} }
func (d *obscuredAfterSubmitDriver) Hierarchy(context.Context) (string, error) {
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), nil
}
// runTwoSubmitSteps drives two steps of the shipped folio counting property // runTwoSubmitSteps drives two steps of the shipped folio counting property
// against a device that commits on every tap, and hands back what the property // against a device that commits on every tap, and hands back what the property
// decided. Both steps have to run: the first arms the comparison, the second is // decided. Both steps have to run: the first arms the comparison, the second is
@@ -90,6 +90,10 @@ func (d *dispatchThenFailDriver) Snapshot(context.Context) (string, driver.Image
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), driver.Image{}, nil
} }
func (d *dispatchThenFailDriver) Hierarchy(context.Context) (string, error) {
return fmt.Sprintf(homeWithTxnCount, d.committed.Load()), nil
}
func TestRunner_ApplyErrorAfterDispatchDoesNotConvictTheSubmitCountingProperty(t *testing.T) { func TestRunner_ApplyErrorAfterDispatchDoesNotConvictTheSubmitCountingProperty(t *testing.T) {
predicates, err := filepath.Abs("../../examples/folio/sanderling/predicates.ts") predicates, err := filepath.Abs("../../examples/folio/sanderling/predicates.ts")
if err != nil { if err != nil {
+6
View File
@@ -55,6 +55,12 @@ func (d *carrierWebDriver) Snapshot(ctx context.Context) (string, driver.Image,
func (d *carrierWebDriver) InstallBundle(context.Context, []byte) error { return nil } func (d *carrierWebDriver) InstallBundle(context.Context, []byte) error { return nil }
// A web target says so. The runner's per-step hierarchy reread is android-only,
// and a fake claiming android would take a path no chrome run takes.
func (d *carrierWebDriver) Health(context.Context) (driver.Health, error) {
return driver.Health{Ready: true, Version: "fake", Platform: "web"}, nil
}
func (d *carrierWebDriver) EvaluateExtractors(context.Context) (map[int]json.RawMessage, error) { func (d *carrierWebDriver) EvaluateExtractors(context.Context) (map[int]json.RawMessage, error) {
d.reads++ d.reads++
return map[int]json.RawMessage{0: json.RawMessage(strconv.Itoa(d.reads))}, nil return map[int]json.RawMessage{0: json.RawMessage(strconv.Itoa(d.reads))}, nil