1. Update the flag of DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW
during tests.
2. Before, the tests only checked whether the app window/layer became
visible/invisible, which could also happen during opening recent. Now,
we also check the visibility at the end.
Bug: 182235458
Test: atest WMShellFlickerTests
Change-Id: Ibc7b359d600a0e4105cc3a84b3111d59813eb9f1
These flaky tests have been stable for the past week and can be promoted
Test: atest WMShellFlickerTests:com.android.wm.shell.flicker.pip
Bug: 171049720
Bug: 167521849
Change-Id: Ibd78e9d9e53a5712ca781b265b1b65c830a74c08
It is already possible to ignore windows/layers on the verification of visibleWindowsShownMoreThanOneConsecutiveEntry and visibleLayersShownMoreThanOneConsecutiveEntry. However many tests need to manually add the Snapshot and Splash Screen entries.
Those entries are not guaranteed to show for more than 1 entry, they depend on the app behavior and when the SF actually renders the information sent by WM.
This CL removes those windows by default from the verification and refactor the tests to make it easier to update in the future
Test: atest FlickerTests WMShellFlickerTests
Bug: 182720234
Change-Id: I0e3346e078515b3e9a2065256ac04696acfa59fb
Before, LegacySplitScreen is not allowing non-resizable to enter split
screen. Now, it also checks supportsNonResizableMultiWindow.
Fix: 181377395
Bug: 176061101
Test: manual
Change-Id: Iae4c65b5c8b0a139dbf8af55caba9f6c99d1f470
The tests have been stable for the past 2 weeks in postsubmit and can be promoted to presubmit
Test: atest FlickerTests:com.android.wm.shell.flicker.pip
Bug: 174238224
Change-Id: Ie7cbd56940e4b5eacd25ba38d1fd0a5966b9a7e9
Rename previous assertion to "pip app always visible" and create a new one asserting that pip window becomes visible
Test: atest FlickerTests:com.android.wm.shell.flicker.pip
Bug: 167521701
Change-Id: I237c8369b58a766b60f4eb96b7dc465e86f96679
Share code and assertions between the transitions to improve maintainability
Test: atest FlickerTests:com.android.wm.shell.flicker.pip
Bug: 167521849
Change-Id: Ie24ac84e0ffcaa6ef786865b9f5d5220fea4263f
Share code and assertions between both transitions to improve maintainability
Test: atest FlickerTests:com.android.wm.flicker.apppairs
Bug: 167521849
Change-Id: I591a6eda408a169d92732f8c1497fef51b27797f
Enter pip is not a rotation test and should use the non-rotation configuration
Test: atest FlickerTests:com.android.wm.shell.flicker.pip.EnterPipTest
Bug: 167521701
Change-Id: I0df35bdc08e7ac9c07bdf7f55398004076966410
Logging all transactions of WM lead to logging inconsistent states that are not sent to SF nor visible to the end user. This information increases the flakiness of the test.
Logging only on frame means that the log will only contain the information sent to SF.
Test: atest FlickerTests WMShellFlickerTests
Bug: 167521849
Change-Id: I16624181ebd127482724439fff84d4bca7fe9ab3
Share the assertions between close with dismiss and close with swipe.
Bug: 172037252
Test: atest WMShellFlickerTests:PipCloseWithSwipe WMShellFlickerTests:PipCloseWithDismissButton
Change-Id: I03904f1de78d3204f9bdd0d6207ec4947f1404dd
JUnit4 Parameterized runner allows us to create custom UseParametersRunnerFactory classes. Flicker now uses this method for better compatibility with Flaky Failure FingerPrinting and Crystalball
Bug: 162923992
Test: atest FlickerTests
Change-Id: Iac3e9972b39fb96bf7fe85beac16728c5947766b
Those methods were replaced by WindowManagerStateHelper to make the tests more stable.
Bug: 172321238
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I87d4fb031603eb060551f4800a31fb44851a3cff
Make sure the test can run multiple times and is stable on flame
Introduce methods to allow waitForPipWindowShow/Gone using the WindowManagerState to determine if a PIP window is active (windowingMode = PINNED), since the UiDevice method is unstable and doesn't work on TVs.
Bug: 171049720
Bug: 172321238
Bug: 171049762
Test: atest WMShellFlickerTests
Change-Id: Iade19fadeb0ba07e047eb5f64479e592920ca11e
Atest cannot override include-annotation and exclude-annotation from the Android.xml, only append new ones.
Ideally we should have a single test configuration for all flicker tests (presubmit/postsubmit/flaky) and adjust the arguments according to the type of test we intend to run.
Presubmit:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Presubmit --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest
Postsubmit:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Postsubmit --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest
Flaky:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:androidx.test.filters.FlakyTest
To run WMShellFlickerTests, just replace FlickerTests for WMShellFlickerTests in the commands above.
Bug: 170490377
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Ic252f27065714e9039e3c0f33659b98eb288aa6f
Maintain the same assertions for new assertion blocks and legacy. This CL is used while migrating the existing tests from the old to the new DSL format.
Once the tests are migrated the legacy support will be removed.
Bug: 162923992
Test: atest FlickerTests
Change-Id: I9a64a7ab43bf60c67a26f37562ab6c4d7bb0c487
Those tests are right now flaky on flame and cannot be used in presubmit
Bug: 175687842
Bug: 179116910
Test: atest WMShellFlickerTests
Change-Id: I5e1b3075a63695fed006b2fb134b826447cb8d0c
Enable tests ot be in presubmit, postsubmit or marked as flaky
Do not require flicker DSL changes
Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I74fdadaf5f6f08d96973683682297200eec6658d
These tests are flaky on both crosshatch and flame
Disable them from presubmit
Bug: 175687842
Bug: 179108356
Test: atest WMShellFlickerTests
Change-Id: I51e85238064e806106e68b47460836fd278cab3d
1) Integrate companion object inheritance and the default test runner
2) Move launch activity to setup: avoid noise of splash screen
3) Move setRotate() to setup: avoid noise of system windows
(LetterBox, NavBar, StatusBar...) visibility changes
4) Reducing test time of each test case: remove redundant transition
5) Remve redundant val for readibility
6) Remove navBarLayerIsAlwaysVisible assertion from split test
the rotation flow of enter split screen :
Overview(land) -> enter split(portrait) -> split mode(land)
7) Partially enable ROTATION_90 tests
8) Bypass visibleLayersShownMoreThanOneConsecutiveEntry assertion
for flaky reasons(Splash Screen, LetterBox, BackGestureSurface)
Test: atest WMShellFlickerTests
Bug: 176134495
Bug: 178685668
Bug: 178447631
Change-Id: I1d6153b987e5913a5d9a1fa5b72b9341b40db6fc
Improve flicker memory consumption with the following:
- Use a static factory for better compatibility with JUnit4 ParameterizedRunner
- Ensure `cleanUp` is always called, even when an exception occurs
Bug: 178572522
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Id9e539c0e8bce350f94811cab58a726e47aac525
Improve flicker memory consumption with the following:
- Ensure each assertion has a name for use with parameterized runner
Bug: 178572522
Test: atest FickerTests WMShellFlickerTests
Change-Id: I84af8ccccbbe42533013be664c91521fe49f7021
Splash screen sometimes cause the assertion fail
Ignore the assertion until good approach available
Test: atest WMShellFlickerTests
Bug: 178447631
Change-Id: Id2dce31e409d22fceeacb67828631b81d7a50a09