Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS ARM64 CI runner often drops testbed log lines #2732

Open
mhsmith opened this issue Jul 25, 2024 · 3 comments
Open

macOS ARM64 CI runner often drops testbed log lines #2732

mhsmith opened this issue Jul 25, 2024 · 3 comments
Labels
bug A crash or error in behavior. macOS The issue relates to Apple macOS support.

Comments

@mhsmith
Copy link
Member

mhsmith commented Jul 25, 2024

Instead, it logs this:

=== Messages dropped during live streaming (use `log show` to see what they were)

For example, see the bottom of "Test App" in https://github.com/beeware/toga/actions/runs/10085243913/job/27885797983.

#2730 added a workaround for the test exit status line, but the fact that other lines are randomly going missing will make it more difficult to deal with other failures, or even know what they are.

@mhsmith mhsmith added bug A crash or error in behavior. macOS The issue relates to Apple macOS support. labels Jul 25, 2024
@mhsmith
Copy link
Member Author

mhsmith commented Jul 25, 2024

Originally posted by @freakboy3742 in #2689 (comment)


Log streaming is currently needed because the test suite is executed inside the app, so we are reliant on the app's output to evaluate test success. One of the approaches to #2662 is to modify the testbed so that the test suite runs locally, and communicates with the app via a remote control mechanism. This would mean we don't need to use the system log - we could use vanilla stdout handling for test reports.

@mhsmith
Copy link
Member Author

mhsmith commented Jul 25, 2024

Originally posted by @mhsmith in #2689 (comment)


What if std-nslog had an option to output to BOTH the system log and the original stdout? Then we could start GUI and console apps in the same way, by calling their executable directly instead of using open, and not use the system log at all.

@mhsmith
Copy link
Member Author

mhsmith commented Jul 25, 2024

Originally posted by @freakboy3742 in #2689 (comment)


I guess that could be an option; although an option to std-nslog isn't required in this case - if "run in test mode" means direct binary execution, we can just not install the std-nslog handler when running in test mode. The only reason std-nslog is needed at all is to surface the logs from inside an app started with open; if we're not using open, we don't need to process the logs.

My one hesitation is whether directly starting the executable will modify the properties of the app at runtime. I know there's definitely a change in how command line arguments are handled; but there might also be some changes around how permissions and other runtime app properties are handled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A crash or error in behavior. macOS The issue relates to Apple macOS support.
Projects
None yet
Development

No branches or pull requests

1 participant