Commit Graph

489 Commits

Author SHA1 Message Date
vadimt 01372013d3 Recognizing another SystemUI failure
Also switching investigator to logs starting with the system reboot, as
SysUI crashes before the tests start.

Change-Id: Ifab835c1ab3c1ce3495f012c6a522fae6e44a9ff
2020-01-30 17:57:50 -08:00
TreeHugger Robot ae5e991f5e Merge "Not crashing tests when a test fails to deinitialize" into ub-launcher3-master 2020-01-29 21:46:27 +00:00
TreeHugger Robot 07ccd59adf Merge "Adding sysui crash diagnostic with a new fingerprint" into ub-launcher3-master 2020-01-29 19:07:16 +00:00
TreeHugger Robot 0618d689e8 Merge changes from topic "state-supplier" into ub-launcher3-master
* changes:
  Translate recents slightly while dragging after pausing
  Two-zone model: swipe up from nav bar vs above it
  Change LauncherState to Supplier<LauncherState> in tests
2020-01-29 03:06:04 +00:00
Tony Wickham fd239cafbe Translate recents slightly while dragging after pausing
There's a lot of resistance, but feels better than nothing
responding to your movement.

Bug: 143361609
Change-Id: I9d7e06279ebdbaa0317909ce96d6f001dbe9699a
2020-01-28 18:31:14 -08:00
Tony Wickham 8a054061ef Change LauncherState to Supplier<LauncherState> in tests
This prevents the test from statically initializing LauncherState and
all its static dependencies, which might lead to runtime exceptions in
out-of-proc tests.

Change-Id: I0e4e09dfb31a8b256c2c0c0b3d1d2ecd0cc92230
2020-01-28 18:07:33 -08:00
Sunny Goyal fc86a9c75c Removing unnecessary method from tests
Change-Id: I28b180b0e63b277b1bf2b206a848fc6ff14a2722
2020-01-28 10:45:48 -08:00
vadimt 053cb7a6e6 Not crashing tests when a test fails to deinitialize
This causes nondescript diags "Test failed to run to completion.
Reason: 'Instrumentation run failed due to 'Process crashed.''. Check
device logcat for details"

Now quietly skipping all consequent tests after such failure.

Change-Id: I3747cda1a3094bfe82e27eae39ba9e9dfd4af9b6
2020-01-27 19:26:00 -08:00
vadimt 95241ae0f7 Adding sysui crash diagnostic with a new fingerprint
Change-Id: I998e107c05a1993367818db604d4c1666be9b2c6
2020-01-27 18:43:23 -08:00
Vadim Tryshev 23cc769eb1 Merge "Adding autodiagnostics for setup wizard being active when tests start" into ub-launcher3-master 2020-01-27 21:36:05 +00:00
vadimt fd679b78ef Adding autodiagnostics for setup wizard being active when tests start
Change-Id: I78318897b36ee5c94e5ea55e7d1d8cb036fda33b
2020-01-24 14:43:23 -08:00
vadimt fcaab044a3 Avoid confusing errors "Launcher pid should be 0" when test setup fails
Change-Id: Ic5e8114a0f86d1a08738785c4098645e59a24975
2020-01-24 14:30:40 -08:00
vadimt daed318930 Recognizing a Launcher ANR
Change-Id: Ib26df7b6e9f9e6b85f93d2aa2a4a0204430e304f
2020-01-23 15:19:46 -08:00
Vadim Tryshev 8cf7b03cad Merge "Adding auto-investigation of one more flake" into ub-launcher3-master 2020-01-23 20:17:33 +00:00
vadimt 29d8b54957 Disabling events checks for successful gestures by default
Launcher tests will still perform checks upon every gesture completion.

All tests using tapl will still use events for diagnostics if the
gesture fails.

The benefit is that system health and other platform tests won't have to
use expensive logcat, and moreover, wait seconds for the events to
appear in logcat because of buffering in logcat.

Change-Id: I3b5a0965d9432144d0c4a8b40ebe2fa89b19a689
2020-01-22 19:16:32 -08:00
vadimt 2c6316be46 Adding auto-investigation of one more flake
Reshuffling the tests to make the investigator the outmost rule and run
the code that throws the original exception inside the investigator.

Change-Id: I714717a9b616862db5ce59116138ba7ea6ceb971
2020-01-21 19:06:59 -08:00
vadimt cffe99f0bb Automatically diagnosing known flakes
It often takes a long time to fix a flake; meanwhile it takes a lot of
time for sheriffs to identify whether to register a new flake for a
failure.

This CL adds automatic identifies identification of one know flake type.
Once identified, it rewrites the error so that:
1. Flakes clustering tool that has only rudimentary clustering, places
all flakes of this kind in the same cluster (not multiple ones like
now). This is a step towards using clustering tool for monitoring
flakes;
2. Sheriff immediately sees that the issue is known.

Change-Id: I86a0762665cb21434289e1be00b60bd76fec4142
2020-01-21 13:29:37 -08:00
TreeHugger Robot 2abd13a80b Merge "Fix BaseSwipeDetector#setState() called inside another setState()" into ub-launcher3-master 2020-01-15 22:03:01 +00:00
TreeHugger Robot 8b0e50fecf Merge "Tracing launcher package name" into ub-launcher3-master 2020-01-14 18:41:53 +00:00
vadimt cef8008bfa Tracing launcher package name
I suspect that when the test starts, launcher package may be
com.google.android.setupwizard

Bug: 145935261
Change-Id: Ibf5e9785cd73762cbf2cdc8569482d77db782897
2020-01-13 17:10:12 -08:00
TreeHugger Robot 3d76dadcd6 Merge "Recognizing running "prebuilt" launcher and manually built platform" into ub-launcher3-master 2020-01-14 00:45:46 +00:00
Tony Wickham 3f330429a3 Fix BaseSwipeDetector#setState() called inside another setState()
Clients of BaseSwipeDetector are required to call finishedScrolling(),
which calls setState(IDLE). An obvious place to call this is in
onDragEnd(), which itself is called from a setState(SETTLING). If the
client does this, then the SETTLING state actually clobbers the IDLE
state, leading to undefined behavior. The reason we don't see this in
practice is because we usually call finishedScrolling() after an
animation from onDragEnd() instead of calling it immediately.

To fix this, we add a simple queue such that any calls to setState()
while one is in progress have to wait and are executed in turn. This
ensures we get all the proper state callbacks and end in the correct
one.

Also fix an incorrect call in AbstractStateChangeTouchController which
was masked by this bug. We were calling setState(IDLE) in onDragStart(),
which only worked because the original setState(DRAGGING) incorrectly
clobbered this. Now we only setState(IDLE) (via finishedScrolling())
when we fully clear the state, i.e. when the interaction is finished.

Test: added testInterleavedSetState

Bug: 141939911
Change-Id: Iae630ee7101921b57a85d40646468cf19f59b674
2020-01-09 15:39:38 -08:00
vadimt 1eb46b85ec Recognizing running "prebuilt" launcher and manually built platform
In scenarios like: atest NexusLauncherOutOfProcTests against the
platform built from command line, and Launcher from the platform, we are
not failing now, and @Stability treats it as a PLATFORM_POSTSUBMIT run.

Change-Id: Ia504216d238e58b2786f3749b737dfb95a2ede96
2020-01-08 17:32:15 -08:00
Pinyao Ting 654adf657e integration test for open settings menu from workspace.
compare pid of launcher process after test execution to verify launcher isn't crashed when running in oop test.

Bug: 147235759
Change-Id: Id13c47f5c4e388cc8e95b19d099e94a2e540bf3f
Test: fun flake locally
2020-01-08 17:01:39 -08:00
TreeHugger Robot 2e0b8e39c7 Merge "Revert "include integration test for open settings menu from workspace"" into ub-launcher3-master 2020-01-08 18:46:01 +00:00
Pinyao Ting cd1cc0efc1 Revert "include integration test for open settings menu from workspace"
This reverts commit e94baee999.

Reason for revert: Test failing

Change-Id: Icb5d27488618a9b70b83d7ab582082c396578700
2020-01-08 01:15:29 +00:00
TreeHugger Robot 108cc51e03 Merge "include integration test for open settings menu from workspace" into ub-launcher3-master 2020-01-06 23:22:45 +00:00
Sunny Goyal 9ae9b60043 Updating Robolectric tests
> Adding multi-thread support
> Simulating actual loader loading flow
> Moving some android tests to robolectic

Change-Id: Ie17a448f20e8a4b1f18ecc33d22054bbf9e18729
2020-01-06 11:05:42 -08:00
Pinyao Ting e94baee999 include integration test for open settings menu from workspace
Bug: 146432215
Change-Id: I2d42984dd77506385230744361ae74944cc9b3bd
2019-12-20 15:37:36 -08:00
TreeHugger Robot c9a907bec1 Merge "Removing temporary workarounds to make tests pass on Cuttlefish" into ub-launcher3-master 2019-12-16 22:37:09 +00:00
vadimt 08eca2fa2e Removing temporary workarounds to make tests pass on Cuttlefish
Bug: 136278866
Change-Id: Ie537a578bb871921c0cbea1f197261e703de98f5
2019-12-12 18:15:48 -08:00
vadimt 2eb48498b4 Improving navigation mode switch rule and around
Logging assertion failures.
Modifying waits for condition to avoid timing out the whole test if the
iteration takes too long in favor of failing with an actionable diag.

Bug: 145985438
Change-Id: Ie32d93e1548ce6ec64c38449eb1be1287ff9cf56
2019-12-12 15:10:52 -08:00
TreeHugger Robot 98833d525c Merge "Updating some non-final static objects" into ub-launcher3-master 2019-12-11 22:07:53 +00:00
TreeHugger Robot 7d2f42d97a Merge "Moving logging Launcher and platform versions before matching" into ub-launcher3-master 2019-12-11 21:30:35 +00:00
Sunny Goyal 73b5a27b14 Updating some non-final static objects
Updating various static objects to use a standard pattern so that
it is easier to track and cleanup those objects

Bug: 141376165
Change-Id: Ia539cbfa338d544dddad771c5027b6748762768b
2019-12-11 13:22:58 -08:00
Sunny Goyal 337c81f664 Removing static instances of UserManagerCompat and AppWidgetManager
> Changing the lifecycle to follow other static objects in Launcher
> Removing compat interface and inlining everything to helpers

Bug: 141376165
Change-Id: I82bd5db1969101de9a7eac77f32728d70195bb35
2019-12-11 10:03:19 -08:00
vadimt 61e285245e Moving logging Launcher and platform versions before matching
I suspect that sometimes APIs return versions that are different from
ones in the bugreport. We want to see them before possible non-match
failures.

Bug: 145935261
Change-Id: Ia1a9208de111368245eac9147ae4a189db823105
2019-12-09 18:15:33 -08:00
Sunny Goyal 4b5b0eb60d Moving some tests to robolectric
> Adding support for simulating model load

Bug: 130562632
Change-Id: I1de8c0abe2e74d4e7e47e18914316c339920609a
2019-12-09 11:17:12 -08:00
vadimt f9e559275d Making the default launcher rule outer for the Portrait-Landscape one
Portrait-Landscape uses Launcher activity and needs it to be set up
correctly.

Change-Id: I13c9712647b3e45a259039d7968bb95cfe8158ef
2019-11-19 13:36:29 -08:00
Pinyao Ting 44677f7e88 fix custom shortcut test
Bug: 143725213
Change-Id: I296452faea67568b39a35968bb813dc4e51a51fc
2019-11-14 14:13:22 -08:00
Pinyao Ting fed4d8e8da disable custom shortcut test in oop
am: d9dd8ef3ba

Change-Id: I6cb1f18c3e7ca1cd79aa5f58a0e03ef07eb797ee
2019-11-13 10:40:01 -08:00
Pinyao Ting d9dd8ef3ba disable custom shortcut test in oop
Bug: 142154748
Change-Id: I08ec8f665a3cc45610f8f2b27a60f7334a2b1b24
2019-11-12 23:37:20 -08:00
vadimt b0a14e96ae Removing temporary tweaks to make tests pass in presubmit
Now that we have a more reliable build of CF

Bug: 142828227
Change-Id: Ib385443048b6ccd9e1eb3372dc39947536f948bd
2019-11-11 09:23:28 -08:00
vadimt 137f5b62ac Improve diags when system errors cause failing Launcher tests
Now, for example, we won't diagnose a locked phone as a
"home button not showing in 3-button mode", even though it's technically
correct.

Change-Id: Ibdfa0741af7ff8545a811f6702dda74dc6c31c2e
2019-11-04 14:50:22 -08:00
Pinyao Ting 5eee5f4da0 enable custom shortcut test
Bug: 141568904
Change-Id: Ie51ef6f7a2f5d4579689a82184bdd7681a266d04
2019-10-31 17:09:40 -07:00
Sunny Goyal 3808a69a6c Storing BitmapInfo instead of icon and color directly in itemInfo
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread

Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
2019-10-28 11:12:47 -07:00
vadimt b7eedb4579 Support for overriding test run flavor
Change-Id: I054a1eaa888cd97a7c7fa5fcc65513d6d89c3a1c
2019-10-25 16:44:29 -07:00
vadimt 23c8341096 Removing tracing and @Stability for a fixed bug
Bug: 142514365
Change-Id: I147850db274c465fb964eca30b97b3ebaaa2ccf6
2019-10-25 11:21:33 -07:00
TreeHugger Robot f13109df05 Merge "Refactor SwipeDetector to track both axes" into ub-launcher3-qt-future-dev 2019-10-24 19:24:12 +00:00
Tony Wickham eed585b0c3 Refactor SwipeDetector to track both axes
Existing clients now use the SingleAxisSwipeDetector subclass. A
followup CL will add BothAxesSwipeDetector, whose first client will be
the quick switch from home controller.

Bug: 126596417
Change-Id: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
Merged-In: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
2019-10-24 18:56:44 +00:00