Commit Graph
2 Commits
Author SHA1 Message Date
husari.orozco 9b52a9b57e fix(tests): run the macOS game-mode activity against the real runtime
`host_performance_mac_activity` only ever drove `MacActivity` through the fake
Objective-C fixtures, and the library's debt entry recorded that the backend
had never been built or run on macOS, with the option values taken from memory.

On Apple hosts the test now begins and ends an activity through the real
`libobjc` and Foundation: `+[NSProcessInfo processInfo]`,
`beginActivityWithOptions:reason:` and `endActivity:` all reach the API, and a
second begin keeps the activity already held. The option values were checked
against the SDK's `Foundation/NSProcessInfo.h`.

The debt entry records what that measurement covers and what it does not: no
other selector is exercised, and whether the activity changes timer or
scheduling behaviour for a title is still unmeasured.
2026-11-02 12:06:19 -06:00
MarcZX10 65fb3b5a0c test(libkernel): run the macOS activity backend against a fake Objective-C runtime
Build four fixture libraries that export objc_getClass, sel_registerName,
objc_msgSend and the autorelease pool functions (complete, without
NSProcessInfo, returning no activity, without pool functions) and drive
the backend through them on any POSIX host. Check the exact message
sequence (begin with the user-initiated and latency-critical options,
retain, end, release), balanced pools on every path, a held activity ended
by the destructor, and unavailable and refused results.
2026-10-29 17:13:04 +00:00