ReviewOS

also looking at this

craft-native/craft

test(mobile-e2e): prove iOS location settles, and that Zig served it

#213
Merged glennmichael123 wants to merge fix/ios-location-settles into main
6 files +157 -28
.github/workflows/README.mdmodified+9-2
Changes to .github/workflows/README.md
@@ -30,10 +30,17 @@ bun run test:mobile-e2e:ios
3030```
3131
3232```
33ok ios-shim — 5/5 cases, no zig
34ok ios-runtime — 5/5 cases, zig served clipboardRead, clipboardWrite, getCurrentPosition, getDeviceInfo, log, share
33ok ios-shim — 6/6 cases, no zig
34ok ios-runtime — 6/6 cases, zig served checkPermission, clipboardRead, clipboardWrite, getCurrentPosition, getDeviceInfo, log, requestPermission, share
3535```
3636
37Before launch the harness grants the app location permission with
38`simctl privacy` and puts the simulator at a fixed coordinate with
39`simctl location`. The page must report that coordinate back from
40`getCurrentPosition`. On the runtime leg, Zig must also serve every action
41under test itself: its log names each action it hands back to Swift, and only
42`requestPermission`, whose location answer Swift owns, may appear there.
43
3744Android needs JDK 17, Gradle 8.11.1, an Android SDK with `platforms;android-36`
3845and `build-tools;36.0.0`, a booted emulator or attached device, and the Zig
3946Android libraries — it runs twice as well, once with `libcraft.so` packaged