The devicemanager killProcess() is updated to use force-stop first, then
use kill if force-stop does not work.
Browser test harnesses are updated to check if killProcess() worked, and
warn if it failed.
sutagent is no longer built or used; devicemanagerSUT is completely
unused. After this change, devicemanagerADB is the only implementation of
devicemanager, and test harness options like --dm_trans are eliminated.
Mochitest currently converts unstructured logs (e.g output from gecko) to 'info' messages. But
this means those messages won't be validated against mozharness' error logs. This change first
gets unstructured messages logged as process_output, and also ensures the StructuredOutputParser
in mozharness checks process_output messages against the error list.
MozReview-Commit-ID: KPTQnulwzyK
Mochitest currently converts unstructured logs (e.g output from gecko) to 'info' messages. But
this means those messages won't be validated against mozharness' error logs. This change first
gets unstructured messages logged as process_output, and also ensures the StructuredOutputParser
in mozharness checks process_output messages against the error list.
MozReview-Commit-ID: KPTQnulwzyK
This also adds E402 (no imports at top of file) to the global ignore list. The
other error codes added were previously ignored by default, but now that we
have started a custom ignore list, need to be listed explicitly.
MozReview-Commit-ID: RtMuVEX6i5
Because it is now possible for options.app to get set after 'parse_args' time, we need to make sure
the argument validation happens later. To accomplish this we pass in the parser instance to
'run_test_harness' and do parser.validate there. This unfortunately requires some minor uses of
global to accomplish easily due to how mach handles parsers.
MozReview-Commit-ID: s3Js1aZlSE
My one concern is that this change could increase the amount of processing
time spent on telemetry initialization, causing the runtime of the robocop
test suite to increase. Checking my try push [1] against other try pushes,
it doesn't seem to have made a significant difference, but the change
in runtime between pushes can be large (e.g. > 5min) so it's hard to
tell.
[1]: https://treeherder.mozilla.org/#/jobs?repo=try&revision=2017843315fe&selectedJob=24641374
MozReview-Commit-ID: LeeGgNEp74h
Our testsuites normally disable timeouts when --debugger or similar
options are specified. Robocop doesn't do this, because apparently the
best way to debug Robocop tests is to |mach robocop [TEST-NAMES...]|,
wait for the browser window to show, and then connect a debugger. This
setup seems suboptimal.
The setup being what it is, though, implies that runrobocop.py has no
knowledge of a debugger being connected, and therefore no idea that the
test really shouldn't time out. Which then leads to the test going away
at that crucial moment when you are this > < close to figuring out the
bug. Let's make runrobocop.py understand that --timeout means something
useful for such a context.
CLOSED TREE
Backed out changeset 4fa5b5a25f04 (bug 1251372)
Backed out changeset 502cf531ec26 (bug 1250616)
Backed out changeset 2f25d03334b2 (bug 1250616)
Mochitests on b2g desktop are no longer being run on any trunk branches, including
b2g-inbound. Dropping support for it significantly reduces complexity
in the mochitest harness.
This moves the Robocop test code into
src/androidTest/java/org/mozilla/gecko/tests. The
src/androidTest/java is Gradle standard; the org/mozilla/gecko/tests
matches the package name we have now.