fix(testrun): point the device java preflight hint at the ios-device doctor

This commit is contained in:
pj committed 2026-06-07 21:39:23 +05:30
1 parent bbab168b8e
commit a203302b00
2 files changed
+24 -2

No files matched your search

+8 -2
View File
@@ -56,11 +56,17 @@ func runPreflight(ctx context.Context, platform string, check preflightFunc) err
// know a run targets a physical iOS device. Android already requires java in // know a run targets a physical iOS device. Android already requires java in
// the top-level Preflight, so this only matters for ios. // the top-level Preflight, so this only matters for ios.
func preflightDevice(platform string) error { func preflightDevice(platform string) error {
return runPreflightDevice(platform, preflightCheck)
}
func runPreflightDevice(platform string, check preflightFunc) error {
if platform != "ios" { if platform != "ios" {
return nil return nil
} }
if err := preflightCheck("java"); err != nil { if err := check("java"); err != nil {
return preflightFailure("ios", err) // The doctor splits simulator and device checks: java lives under the
// ios-device platform, so the hint must point there.
return preflightFailure("ios-device", err)
} }
return nil return nil
} }
+16
View File
@@ -101,6 +101,22 @@ func TestPreflightDevice_NonIosIsNoop(t *testing.T) {
} }
} }
func TestPreflightDevice_JavaFailurePointsAtIosDeviceDoctor(t *testing.T) {
check := func(name string) error {
if name == "java" {
return errors.New("java not found")
}
return nil
}
err := runPreflightDevice("ios", check)
if err == nil || !strings.Contains(err.Error(), "java") {
t.Fatalf("expected java error, got %v", err)
}
if !strings.Contains(err.Error(), "sanderling doctor --platform=ios-device") {
t.Errorf("hint must name the ios-device doctor platform: %v", err)
}
}
func TestPreflight_UnknownPlatform(t *testing.T) { func TestPreflight_UnknownPlatform(t *testing.T) {
check := func(string) error { return nil } check := func(string) error { return nil }
if err := runPreflight(context.Background(), "fuchsia", check); err == nil { if err := runPreflight(context.Background(), "fuchsia", check); err == nil {