Filter death + DynamicShapeUnbound gtests on Android (#19503)#19503
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/19503
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ⏳ No Failures, 117 PendingAs of commit c2d3baa with merge base 8020fe0 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@psiddh has exported this pull request. If you are a Meta employee, you can view the originating Diff in D104784946. |
This PR needs a
|
There was a problem hiding this comment.
Pull request overview
This PR reduces noisy/low-signal Android GTest results by filtering out tests that are known to be auto-skipped at runtime on Android (death tests due to missing fork(), and *DynamicShapeUnbound tests that currently skip via GTEST_SKIP()), using an Android-scoped GTEST_FILTER applied by the shared op_test() macro.
Changes:
- Add an Android-only
envsetting toop_test()that setsGTEST_FILTERto exclude*Diesand*DynamicShapeUnboundtests at discovery time.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary: ~250+ ExecuTorch *_testAndroid GTests have been perpetually reported as failing in TestInfra because they are auto-skipped on every run. Death tests (*Dies) require fork(), which Android's test sandbox does not support, so gtest skips them automatically. *DynamicShapeUnbound tests hit GTEST_SKIP() at runtime because the Android-specific feature flag is unset. The result is alert fatigue for the executorch oncall and distorted CI signal. Filter these tests out at discovery time on Android only via a GTEST_FILTER env var on the shared op_test() macro. The filter is scoped through select() to ovr_config//os:android, so death tests continue to run and pass on Linux, macOS, iOS, and fbcode targets. ___ overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: ai_infra_mobile_platform Differential Revision: D104784946
Summary: ~250+ ExecuTorch *_testAndroid GTests have been perpetually reported as failing in TestInfra because they are auto-skipped on every run. Death tests (*Dies) require fork(), which Android's test sandbox does not support, so gtest skips them automatically. *DynamicShapeUnbound tests hit GTEST_SKIP() at runtime because the Android-specific feature flag is unset. The result is alert fatigue for the executorch oncall and distorted CI signal. Filter these tests out at discovery time on Android only via a GTEST_FILTER env var on the shared op_test() macro. The filter is scoped through select() to ovr_config//os:android, so death tests continue to run and pass on Linux, macOS, iOS, and fbcode targets. ___ overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: ai_infra_mobile_platform Differential Revision: D104784946
Summary: ~250+ ExecuTorch *_testAndroid GTests have been perpetually reported as failing in TestInfra because they are auto-skipped on every run. Death tests (*Dies) require fork(), which Android's test sandbox does not support, so gtest skips them automatically. *DynamicShapeUnbound tests hit GTEST_SKIP() at runtime because the Android-specific feature flag is unset. The result is alert fatigue for the executorch oncall and distorted CI signal. Filter these tests out at discovery time on Android only via a GTEST_FILTER env var on the shared op_test() macro. The filter is scoped through select() to ovr_config//os:android, so death tests continue to run and pass on Linux, macOS, iOS, and fbcode targets. ___ overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: ai_infra_mobile_platform Differential Revision: D104784946
Summary: ~250+ ExecuTorch *_testAndroid GTests have been perpetually reported as failing in TestInfra because they are auto-skipped on every run. Death tests (*Dies) require fork(), which Android's test sandbox does not support, so gtest skips them automatically. *DynamicShapeUnbound tests hit GTEST_SKIP() at runtime because the Android-specific feature flag is unset. The result is alert fatigue for the executorch oncall and distorted CI signal. Filter these tests out at discovery time on Android only via a GTEST_FILTER env var on the shared op_test() macro. The filter is scoped through select() to ovr_config//os:android, so death tests continue to run and pass on Linux, macOS, iOS, and fbcode targets. ___ overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: ai_infra_mobile_platform Reviewed By: GregoryComer Differential Revision: D104784946
| # For portable/optimized kernels, *DynamicShapeUnbound tests are also | ||
| # filtered because output_resize=false for those kernels, so they | ||
| # GTEST_SKIP() at runtime today. For the ATen kernel, output_resize=true |
Summary:
~250+ ExecuTorch *_testAndroid GTests have been perpetually reported as
failing in TestInfra because they are auto-skipped on every run. Death
tests (*Dies) require fork(), which Android's test sandbox does not
support, so gtest skips them automatically. *DynamicShapeUnbound tests
hit GTEST_SKIP() at runtime because the Android-specific feature flag
is unset. The result is alert fatigue for the executorch oncall and
distorted CI signal.
Filter these tests out at discovery time on Android only via a
GTEST_FILTER env var on the shared op_test() macro. The filter is
scoped through select() to ovr_config//os:android, so death tests
continue to run and pass on Linux, macOS, iOS, and fbcode targets.
overriding_review_checks_triggers_an_audit_and_retroactive_review
Oncall Short Name: ai_infra_mobile_platform
Reviewed By: GregoryComer
Differential Revision: D104784946