On a fresh Xcode install (including some CI provider configurations), there is
no pre-existing testing set that can be used to identify simulator models. Use
the default device set to detect available models instead. Live testing
simulators are still created in the testing set.
(cherry picked from commit dba9de731b)
Co-authored-by: Joe Rickerby <joerick@mac.com>
Determines a candidate simulator at runtime rather than hardcoding iPhone SE.
(cherry picked from commit 42b0b0667e)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Add a lock to ensure that only one iOS testbed per user can start at a time, so
that the simulator discovery process doesn't collide between instances.
(cherry picked from commit 9211b3dabe)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Adds error handling when there are no pre-existing test simulators.
(cherry picked from commit 99088ab081)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Correct handling of symlinks during iOS testbed framework installation.
(cherry picked from commit 625470a7d2)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Filter out the iOS log prefix from testbed runner output.
(cherry picked from commit a58083811a)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Uses symlinks to install iOS framework into testbed clone, adds a verbose mode
to the iOS runner to hide most Xcode output, adds another mechanism to disable
terminal colors, and ensures that stdout is flushed after every write.
(cherry picked from commit ba2d2fda93)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Adds a `use_system_log` config item to enable stdout/stderr redirection for
Apple platforms. This log streaming is then used by a new iOS test runner
script, allowing the display of test suite output at runtime. The iOS test
runner script can be used by any Python project, not just the CPython test
suite.
(cherry picked from commit 2041a95e68)