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

tests: use Detox as compile reference, ignore UIManager queues #4076

Merged
merged 1 commit into from
Aug 13, 2020

Conversation

mikehardy
Copy link
Collaborator

@mikehardy mikehardy commented Aug 12, 2020

Description

Still working on de-flaking Android E2E

Even with the tap stream delayed, the extra logging from the previous merge showed the React Native UIManager's dispatch queues are sometimes permanently non-empty, blocking Detox from signalling it is ready on the app/detox-testee side.

This commit switches Detox to a compile dependency (from AAR) so we can patch-package it, then I hack out the UIManager espresso idle resource waiter completely.

This would potentially be a disaster in normal apps, but for our testing app is inconsequential since we perform no UI activities (and thus they should never block)

Related issues

#4058

Release Summary

Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • Yes
  • My change supports the following platforms;
    • Android
    • iOS
  • My change includes tests;
    • e2e tests added or updated in packages/\*\*/e2e
    • jest tests added or updated in packages/\*\*/__tests__
  • I have updated TypeScript types that are affected by my change.
  • This is a breaking change;
    • Yes
    • No

Test Plan


Think react-native-firebase is great? Please consider supporting the project with any of the below:

@mikehardy
Copy link
Collaborator Author

This should be most of the systemic Android E2E flakiness, the rest will likely be per-test stuff but I think that's pretty solid right now.

iOS still flakes but not nearly as much, I'll probably leave it sit for now except for perhaps a PR to increase logging for diagnostics to already be available when/if needed

@mikehardy mikehardy requested a review from Salakar August 12, 2020 23:49
@mikehardy
Copy link
Collaborator Author

I've been re-running this over and over on the PR against my own fork and this PR and have about 10 runs in now with no failures. I know of at least 2 other failure modes so it won't be 100% but already this is an improvement, definitely worth a merge for now

@Salakar Salakar changed the title Use Detox as compile reference, ignore UIManager queues tests: use Detox as compile reference, ignore UIManager queues Aug 13, 2020
@Salakar Salakar merged commit c91d2ff into invertase:master Aug 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants