|
e43d3591
|
2024-11-01T16:23:27
|
|
Tests: allow choosing Chromium/our test runner + screen checks
Chromium test runner (build/android/test_runner.py) is currently the
default runner for most suites. One exception is angle_trace_tests where
we're always using our scripts instead (android_helper.py etc).
We do that by setting android_test_runner_script to our runner for that
angle_test instance.
This CL supports setting android_test_runner_script to our script but
then choose whether to run with the Chromium runner or android_helper
depending on the command-line arg (--angle-test-runner)
This CL also adds a check for the screen state which will be performed
regardless of the runner. This is to have a fast and clean failure when
the device wasn't properly initialized by the infra (see bug).
The check is based on the output of `dumpsys deviceidle | grep mScreen`
(this is the most generic check I found, I previously used nfc but that
depends on nfc and turns out the output is device-dependent)
This CL enables this mode for angle_end2end_tests. Bots will continue to
run with Chromium runner as before (but with the added screen checks).
Locally, we will now be able to switch to our scripts directly:
out/Android/angle_end2end_tests \
--gtest_filter='*ClearTextureEXT2DMSStencil*' \
--angle-test-runner
Now when running end2end tests locally (regardless of the runner) with
a locked device screen, we'll see the following error right away
instead of sporadic failures or stuckness during execution:
Exception: Unexpected device screen state: ['mScreenOn=false', 'mScreenLocked=true']; expected: ['mScreenOn=true', 'mScreenLocked=false']
The plan is to enable this mode for all suites, after which the current
local script run_angle_android_test.py will no longer be needed.
Bug: b/344849382
Change-Id: I77e7733804ab37e2f3d26bf3574a52a9553e4274
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985232
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
1ad27152
|
2023-04-18T12:17:00
|
|
Switch angle_trace_tests scripts to android_helper
out/Android/angle_trace_tests {args}
replaces
(cd out/Android; python3 ../../src/tests/run_angle_android_test.py {args})
changes this generated file:
% grep angle_android_test_runner out/Android/bin/run_angle_trace_tests
args = ['@WrappedPath(../../src/tests/angle_android_test_runner.py)', 'gtest', '--output-directory', '@WrappedPath(.)', '--wrapper-script-args', '--runtime-deps-path', '@WrappedPath(gen.runtime/src/tests/angle_trace_tests__test_runner_script.runtime_deps)', '--suite', 'angle_trace_tests']
android_helper.py is already what we use for running traces on bots
(we don't invoke out/Android/angle_trace_tests when IsAndroid())
so this change affects only local runs
Keep run_angle_android_test.py to be able to run other suites,
but now it takes --suite instead of a positional arg (which is
consistent with how scripts are invoked on CI)
Bug: chromium:1441148
Change-Id: I5af10e8df7d9a651e0a9d52e47e3bce28d7a931b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4442006
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
2ce5a632
|
2023-01-18T11:01:41
|
|
Log screen state if log=debug.
Prints either of:
mScreenState=ON_UNLOCKED
mScreenState=ON_LOCKED
mScreenState=OFF_LOCKED
Oddly, there doesn't seem to be a standard way to do this on Android, so
using the nfc trick with "|| true" to ignore potential failures.
Also setup logging using the util in run_angle_android_test as the
current way seems to no longer be working.
Bug: chromium:1405504
Change-Id: I448be86e8f0d72905948e68ffb076605273fa958
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
71e89320
|
2023-01-03T09:10:08
|
|
Tests: Support multiple filters with ":".
Now we can run multiple traces per invocation, e.g.:
"trex_200:among_us"
Bug: angleproject:7775
Change-Id: I8e8176d444f20ae97234469ab8c553543b81b331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4132944
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
052277fc
|
2022-11-30T15:18:11
|
|
Fix the input arg after the trace_tests change
* Added angle_trace_tests as an acceptable input for
run_angle_android_test.py after the change to split
trace tests from perf tests.
Bug: angleproject:7755
Change-Id: Ia95d20c1ba8479c14055aa1515c1c4b6dc264a86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068354
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
30439960
|
2022-10-24T17:30:18
|
|
Unbreak run_angle_android_test.
Broken by ListTests removed in https://crrev.com/c/3963651
Move helper to angle_test_util.
Bug: angleproject:7755
Change-Id: I1eec442cf3e2bf6c24335d4c294a68e7e868b814
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975353
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a41c6173
|
2022-10-16T08:28:53
|
|
Simplify trace test names.
Originally we had a lot of conditionally enabled test configs
in angle_perftests, that we enabled behind a flag because the
total runtime would be too large if we left everything enabled.
This CL switches to using a single test set, one for each
trace, and using a the same command-line API we use in dEQP
and the ANGLE samples to pick a single configuration. This
makes it easier to pick exactly what configurations you want
from the command line.
Because we only run one configuration each time, we don't need
to specialize the test name to include the configuration info.
We can also simplify TracePerfTest -> TraceTest since these
tests are run for both perf and correctness.
Old name: TracePerfTest.Run/vulkan_trex_200
New name: TraceTest.trex_200
Example for tests that don't use default arguments:
Old args: --enable-all-trace-tests
Old name: TracePerfTest.Run/native_offscreen_trex_200
New args: --use-gl=native --offscreen
New name: TraceTest.trex_200
Bug: angleproject:7755
Change-Id: Id93cf5725eff2e2c6b3b14804bc2902f38306e7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
b681e939
|
2022-09-19T13:20:23
|
|
Turn on trace data hash checking automatically.
This should save time uploading trace data already present on the
device.
Bug: angleproject:7671
Change-Id: Ie655cba284b6b3aec2e264cd4d64e4d18ebff8a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3905902
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
88b05d3c
|
2022-08-03T15:21:00
|
|
Use globals in android_helper to simplify flow.
Explicit .Initialize(suite_name) call to detect Android
Track suite (apk) that was installed. We use the same package
com.android.angle.test in multiple apks (eg system info and perftests)
so keeping track of which one is currently installed avoids the need to
take care of it manually (with PrepareTestSuite).
Bug: angleproject:7299
Change-Id: I4b96f0fb24e38fc42d3814fb0eeda5aae527de5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808292
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
b7bd0808
|
2022-06-06T10:54:30
|
|
Support running end2end tests.
There is no batching though so all tests matching the filter will be ran
at once which will block without any output until evertyhing is done
(android runner runs tests in batches of 256 IIRC).
Also make suite arg positional and explicitly list supported tests.
Bug: angleproject:6854
Change-Id: Ibe108f24d6c3ec8b966eda1cf9ae92119a517548
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3691048
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b71c6427
|
2022-05-31T16:23:51
|
|
Add a wrapper script to run traces using android_helper.
Also add missing `appops set MANAGE_EXTERNAL_STORAGE` that appears to be
necessary on newer builds (catapult does it starting from Android 11).
Add a hash check to skip transferring .gz files that are already there.
Bug: angleproject:6854
Change-Id: Ib612d1235fe1274b8fea47718af8389e8810d34e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3679486
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|