Commit Graph

1870 Commits

Author SHA1 Message Date
vadimt ae701bfcc4 Investigator: adding "Screen is empty" as another sign of crashed sysui
Also generating recognizable anomaly message in more cases

Change-Id: Ia4d4d87a1a46291f3ea1057e00acbd98d9ccb3a5
2020-02-04 12:06:18 -08:00
vadimt 8211b6a021 More diags for logic disabling other tests after a finalizer failure
Change-Id: I4af56b2b83b204b9a5a383a26a3d845a88a96bf1
2020-02-04 03:11:06 +00:00
vadimt 890540a977 Making test run flavor available to tests.
Bug: 139137636
Change-Id: If08006da4f5dedfeab93c4f0502f8938a2b64c8f
2020-02-04 01:57:53 +00:00
TreeHugger Robot 8c6cff249e Merge "Enabling quick switch test" into ub-launcher3-master 2020-02-01 02:25:09 +00:00
vadimt db185f6b3e Enabling quick switch test
Now that 2 underlying bugs are fixed

Bug: 143285809
Change-Id: Ie85177830def6e6ee72688f7dbb15ebef9c5ae48
2020-01-31 17:27:46 -08:00
vadimt 7505222183 TAPL: Verifying pilferPointers events
Change-Id: Ie825beb4b3adf7fea28959b460e99a44bc471063
2020-01-31 11:22:43 -08:00
vadimt e2446c8cad Rewriting failure investigator database in a more readable way
Change-Id: Iccf2e8e0a45dbbcd8f2600d9094d6a10eabaf3da
2020-01-30 19:25:03 -08:00
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
Sunny Goyal 9c2b96090b Adding SecondaryDisplayLauncher in Launcher using common listener
Bug: 141596722
Change-Id: I480bfadf592f7d0309f17c33a3fe14bb77fb5586
2020-01-30 08:27:27 +00: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 6f7f380dde Merge "Verifying the event for pressing square button" into ub-launcher3-master 2020-01-29 19:01:56 +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
vadimt 8196e7984a Verifying the event for pressing square button
Change-Id: If7e3cf29e3a069a295f2612800ddbbfc27653c32
2020-01-28 18:23:05 -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
TreeHugger Robot 97e5c4c111 Merge "Additionally filtering events by time" into ub-launcher3-master 2020-01-27 18:14:23 +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 0fad650610 Additionally filtering events by time
Logcat may return records before the time requested via -t.
Filtering them out.

Also using year in date, to avoid failing during new year night.

Change-Id: I3c84d5fdf7882b3f551a1d430aa906fe1ae67aa7
2020-01-24 14:20:46 -08:00
TreeHugger Robot 8f76378bf5 Merge "Adding events checking for Launcher starting apps" into ub-launcher3-master 2020-01-24 20:23:39 +00:00
vadimt 6098a8c8c0 Adding events checking for Launcher starting apps
Change-Id: Id651397f643280a9f99a470df029479bd1b41e5c
2020-01-23 19:12:19 -08:00
vadimt 8bcabc02c3 Logging the time that we use for the current events range
It appears that sometimes logcat -d returns events that are earlier than
that time, but we need to be sure.

Example:
ACTION_UP from the previous TAPL method:
https://sponge.corp.google.com/target?show=FAILED&sortBy=STATUS&id=1aceab23-6d2a-4b2d-9630-47a74cafe7b9&target=com.google.android.apps.nexuslauncher.tests

Change-Id: Ib83e1cc01402ef638f8ac8a0862e16c5773b82cd
2020-01-23 17:44:38 -08:00
TreeHugger Robot 3c7f820e2b Merge "More readable formatting for events mismatch message" into ub-launcher3-master 2020-01-24 00:19:24 +00:00
vadimt daed318930 Recognizing a Launcher ANR
Change-Id: Ib26df7b6e9f9e6b85f93d2aa2a4a0204430e304f
2020-01-23 15:19:46 -08:00
vadimt ff7cd03d43 More readable formatting for events mismatch message
This helps for longer event lists.

Change-Id: Ie3565d2ccdde27d23770d01b4f9d4680bd8e229b
2020-01-23 13:40:54 -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
Sunny Goyal 3970b8b797 Merging from ub-launcher3-master @ build 6155931
Test: manual, presubmit on the source branch
http://x20/teams/android-launcher/merge/ub-launcher3-master_6155931.html

Change-Id: I2083903dafc81c9b35437054be6a42a0612f0749
2020-01-23 10:11:24 -08: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
TreeHugger Robot 51ee9cf03e Merge "TAPL: verify input events" into ub-launcher3-master 2020-01-22 22:45:51 +00:00
vadimt 9af34a7b13 TAPL: verify input events
This will catch cases, for example, when the platform stops delivering
injected events to Launcher, or injects unexpected events, like Back
Button.

Also optimizing and fixing incorrect behavior of calculating the start
time for the event collection.

Change-Id: I2ba0108e6bfa112f2905a05bcb327b148ec08f77
2020-01-22 14:10:53 -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
TreeHugger Robot 1348e44378 Merge "TAPL: Optimization: avoid getting actual events twice" into ub-launcher3-master 2020-01-22 01:15:44 +00:00
Adam Cohen 6b9595f607 Merging from ub-launcher3-master @ build 6150369
Test: manual, presubmit on the source branch
http://x20/teams/android-launcher/merge/ub-launcher3-master_6150369.html

Change-Id: Ia79497c0a9f03cf6ad9e9daa58ed34c02a36e879
2020-01-22 01:10:38 +00:00
TreeHugger Robot d44326c2e7 Merge "Automatically diagnosing known flakes" into ub-launcher3-master 2020-01-21 22:56:35 +00: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 9311785daf Merge "Better diags and a small correction for scrolling in AllApps" into ub-launcher3-master 2020-01-17 21:48:52 +00:00
vadimt 299aaf3a8a TAPL: performing event verification for all gestures
+ missed comments from earlier CLs

Change-Id: Iec84de66a3ff9c2aa59a11566560fa6f169190d0
2020-01-17 12:25:40 -08:00
vadimt 2ea348ff87 Removing flake when 2 long-press events happened on single long press
There is some unknown to me logic in Launcher that sometimes duplicates
the long-press event . This causes flakes whenTAPL expects one long
press, but the actual sequence is 2 events.

That duplication logic seems to be related to race conditions is is hard
to repro. For now, just removing long-press verification. I'll start
with more deterministic events.

Bug: 147806932
Change-Id: I03841131bf8cae88011824f660f2c7b1906592f4
2020-01-16 17:10:55 -08:00
vadimt f6c1a167d9 TAPL: Optimization: avoid getting actual events twice
Getting events is an expensive operation involving reading logcat. We
did this al least twice even if the number of events was already
sufficient. Fixing this.

Change-Id: I5bfb57e3b573c4fc3f0327512327750dbb35af2f
2020-01-16 14:44:51 -08:00
Vadim Tryshev f7b2d40347 Merge "TAPL: Verifying some interactions with system" into ub-launcher3-master 2020-01-15 22:32:13 +00:00
TreeHugger Robot 2abd13a80b Merge "Fix BaseSwipeDetector#setState() called inside another setState()" into ub-launcher3-master 2020-01-15 22:03:01 +00:00
vadimt 252d012ed0 TAPL: Verifying some interactions with system
Investigation of TAPL failures, especially flakes is complex, partially
because it’s hard to tell whether it’s Launcher who is wrong or the
system.

We need to introduce a framework that looks at Launcher interaction with
the system and reports when interactions deviate from the expected
course, and who made the first wrong step.

This is first, proof-of-concept CL.

It analyzes long-press events. We had multiple cases when long-presses
didn’t happen or happened unexpectedly.

Launcher registers the events, TAPL retrieves and compares against the
sequence of expected regular expressions. This diagnostic is used when
something fails and at the end of public methods.

Change-Id: I07aa3a027267c03422c99c73ccd8808445c55fe8
2020-01-15 13:31:18 -08:00
vadimt 9675452c2f Better diags and a small correction for scrolling in AllApps
Change-Id: I48dbba26139f42350831fb707bea847b7c76129f
2020-01-14 19:39:35 -08: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