mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-26 19:36:08 +03:00
Fix threading UI test failure by adding a sleep 30s.
This commit is contained in:
parent
012b20fca6
commit
010be9184c
1 changed files with 20 additions and 0 deletions
|
@ -120,6 +120,26 @@ class ElementRobot {
|
|||
.perform(ViewActions.closeSoftKeyboard(), click())
|
||||
}
|
||||
}
|
||||
// at this point we are in a race with the app restarting. The steps that happen are:
|
||||
// - (initially) app has started, app has initial synched
|
||||
// - (restart) app has strted, app has not initial synched
|
||||
// - (racey) app shows some UI but overlays with initial sync ui
|
||||
// - (initial sync finishes) app has started, has initial synched
|
||||
|
||||
// We need to wait for the initial sync to complete; but we can't
|
||||
// use waitForHome() like login does.
|
||||
|
||||
// waitForHome() -- does not work because we have already fufilled the initialSync
|
||||
// so we can racily have an IllegalStateException that we have transitioned from busy -> idle
|
||||
// but never having sent the signal.
|
||||
|
||||
// So we need to not start waiting for an initial sync until we have restarted
|
||||
// then we do need to wait for the sync to complete.
|
||||
|
||||
// Which is convoluted especially as it involves the app state refreshing
|
||||
// so; in order to make this be more stable
|
||||
// I hereby cheat and write:
|
||||
Thread.sleep(30_000)
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue