Separate patch as we may want to revert it in the future, when test systems
have been upgraded with a more recent libavcodec.
MozReview-Commit-ID: EUrdsb8UGnV
--HG--
extra : rebase_source : 0f92b409795a8689468911951bf7c262744b6879
added testing/mozbase to tools/lint/flake8.lint
fixed a first batch of PEP8 errors/warnings
at first the commad autopep8 -i --max-line-length 99 -r -j 8 .
has been used to fix simpler problems, run from testing/mozbase
some of the issues can not easily fixed :
- undefined 'names' in code for example isLinux - isLinux and isBsd "fixed" with # noqa
- undefined 'message' resolved with return fmt.format(...
- undefined 'structured' resolved replacing those with mozlog
- long comments - some remaining - addressed with # noqa
- package level import everything - addressed with # flake8: noqa
restored testing/mozbase/mozdevice/mozdevice/Zeroconf.py
fixed issues reported on mozreview
fixed ')' in testing/mozbase/mozprocess/mozprocess/qijo.py imports
finally fixed multiline string at testing/mozbase/manifestparser/tests/test_manifestparser.py:114
^^^ and again, but now with ./mach python-test --path-only testing/mozbase/manifestparser/tests/test_manifestparser.py passing
fixed testing/mozbase/manifestparser/tests/test_convert_directory.py assert
fixed this error:
10:15:21 INFO - return lambda line: stack_fixer_module.fixSymbols(line)
10:15:21 INFO - TypeError: fixSymbols() takes exactly 2 arguments (1 given)
fixed two spaces lint error even of # noqa comments
restored assignement to lambda with # noqa to silence the lint error
global noqa for testing/mozbase/manifestparser/tests/test_filters.py
stupid is/is not error...
MozReview-Commit-ID: 1FpJF54GqIi
--HG--
extra : rebase_source : 3cf0277fb36a296e3506aeacc2ff05e1b03f9eac
For Mozharness' download and extract action we're blocking when trying to read the contents from a url.
This mostly happens on Mac machines.
urllib2.urlopen()'s documentation mentions about a global timeout, however, it does not seem
to kick in or perhaps this won't do what we expect it to.
MozReview-Commit-ID: L9IDnDSjgzO
--HG--
extra : rebase_source : 595c0e99342a99d6afbe0303922bd5f067e26884
It will pass once we re-sync from upstream, as the upstream test matches the
specified behaviour, whereas this test does not.
MozReview-Commit-ID: J16olE6QgP
--HG--
extra : source : 1446d8fba42db4e727848b4c1e14150b753fb8c8
In the case for 'ondemand' symbols, we're OK to proceed without getting a hold of the
symbols from the get go. However, in other cases we need to at least retry
before giving up (e.g. debug tests need symbols)
MozReview-Commit-ID: 7LHflKhpze3
--HG--
extra : rebase_source : 9061fd9827a85e4b0c761d34041743aad87386cc
We also include the example APK, since it will be helpful to be able
to regression test the example without downloading the AAR and
manually building the example with that AAR.
MozReview-Commit-ID: CMtA1FRS0Rf
--HG--
extra : rebase_source : 42bab43c69093bd008242ec96e74f53bde150583
We need to bump the Gradle Deps task, which fetches dependencies, to
include new test dependencies; and use freshly uploaded tooltool
archives (manually uploaded) containing the new test dependencies.
MozReview-Commit-ID: 8bNOVQPHlk6
--HG--
extra : rebase_source : 0c80117fb58e43f9c857027941f0a14f03b97f13
parseInt accepts any value and coerces it to a number. isNaN allows
floats, and the specification says we should only have integers.
MozReview-Commit-ID: HeZ1eA0duWe
--HG--
extra : rebase_source : b582c0afe1889e8058d32d39314694b3556c4352
partial_env only works if the class inherits from some other base
class, which apparently not all callers of this method do. So just
pass a copy of the environ dict with PYTHONUNBUFFERED added.
MozReview-Commit-ID: Ag75x28NR4D
--HG--
extra : rebase_source : f19b2be2db0a4b321542cc353a4599481ba60146
I suspect we're hitting trouble when the refresh driver changes timer and we
end up with less time between frames.
MozReview-Commit-ID: I2dProiJTfh
--HG--
extra : rebase_source : 938cf38085b1f10aa077042dd8ed2cbbc6448c6b
Separate patch as we may want to revert it in the future, when test systems
have been upgraded with a more recent libavcodec.
MozReview-Commit-ID: EUrdsb8UGnV
--HG--
extra : rebase_source : 5bec3f1834945a25da411ab5d2e8885b903f5998
This leak checker may be triggering a shutdown leak on Windows,
doesn't work with e10s, and should not be needed now that ttaubert
fixed the ++DOMWINDOW leak detector to work.
The additional GCs and CCs this patch adds used to be run as part of
cc-analyzer.js, and are needed to avoid window leaks in tests.
MozReview-Commit-ID: IzZI6h2SCr2
--HG--
extra : rebase_source : 7bacc70e9f4b41208c1ef057faf53ed3af5d2e12
We did the same thing for run-task in bug 1304964 because otherwise
output may get buffered, triggering "no output in N seconds"
failures in automation.
Now that we access WPT related files from a source checkout, we no
longer need the web-platform tests zip file produced or consumed by
automation. So stop producing it.
MozReview-Commit-ID: Ea8KjKZJ5Yx
--HG--
extra : rebase_source : f22506a02fdd5e78434cdc5d1c1f274db1cd04e2
We're starting to execute mozharness scripts from source checkouts
in automation. This means we can stop downloading and extracting
files that are already available in the source checkout and just
reference files from the checkout.
Web platform tests (WPT) are a logical place to start because they
are pretty well isolated. This commit modifies the mozharness script
for WPT execution to use files from a source checkout (previous
commits have guaranteed that a pristine source checkout is available
to the test execution environment).
As part of this, we also need to define an explicit mozinfo.json
path because previously it was relying on parent directory traversal
to find it (WPT tests were under a directory containing the
mozinfo.json file).
MozReview-Commit-ID: C1dlKC4eSzr
--HG--
extra : rebase_source : af6f5ad0f88739efc5f5e0c74106a50e845564f6
4 WPT config files all contained the same config options boilerplate.
Inline it into the WPT mozharness script.
MozReview-Commit-ID: 5Lba8QeKMTA
--HG--
extra : rebase_source : a99f8e25d04a3e3344db1cf280fd79c47177ccb4
list.extend() is favored over +=. Also use single quotes, fixup
indentation, and factor out a common variable.
MozReview-Commit-ID: 3qVDGrkYhVe
--HG--
extra : rebase_source : 7573dca951eca0611c86cbb42e3cf53ccae078f4
We add a mozharness action to the TestingMixin base class that ensures
we're running from a VCS checkout and we add this action to the WPT
script.
This ensures that we always have a source checkout available, even
in buildbot. (Before, we only had a source checkout in TaskCluster.)
MozReview-Commit-ID: 26NxwDZywXr
--HG--
extra : rebase_source : 6aea0390b0c9ff43972ef6fe6592f104401cc3fc
As part of converting WPT to run from a source checkout in automation,
I ran into problems where mozinfo.json wasn't being loaded, causing
several tests to fail. This is because mozinfo.json is only found
from a source directory or from a parent of the WPT meta directory.
Before, mozinfo.json was provided by the "common" tests zip file
and extracted to the base of the destination directory. WPT files
were extracted to a "web-platform" sub-directory. So mozinfo.json
was in a parent directory of "web-platform/meta" and was loaded
automatically.
Now that we want to run WPT out of the source directory, there is
no mozinfo.json and the source directory and no mozinfo.json can be
loaded.
This commit teaches mozinfo.json to look in a MOZINFO_PATH environment
variable for the path to mozinfo.json. This allows mozinfo.json
to exist anywhere on the filesystem. This provides a lot more
flexibility for loading the file.
MozReview-Commit-ID: 1I1cxS1IeyY
--HG--
extra : rebase_source : b06de2b53d3fb26df2c7b1c6d034644c20e47577
This test was timing out intermittently (tracked in bug 1295331). It
started timing out consistently once the test chunking was changed.
But only on TaskCluster automation - not buildbot - presumably because
chunking was different. My guess is something in a previous test is
throwing off state within Gecko. Who knows.
MozReview-Commit-ID: HtbEX1duE6M
--HG--
extra : rebase_source : 104904d5c3ad34e61abf9f13048b9651f813cef3
Before this, the default of "equal_time" resulted in W7 jobs on Windows
debug builds executing over 6 times slower than the shortest chunk.
Chunking by hash of test directory makes the chunk sizes more consistent.
They aren't as consistent as a full path hashing or random chunking. But
it is an improvement.
MozReview-Commit-ID: 7bUSxY8GhH7
--HG--
extra : rebase_source : daa42b3e757a18fef1233338c0686154b387851d
extra : source : c4ae7809108445a184168a62dac6dab894c7f292
Per discussion in the bug, we want automation to behave like local
development mode with regards to running tests in a directory. That
means we want all tests in a directory to be executed together.
We introduce a directory hash chunker. It is like the HashChunker
except it hashes the directory of the test (not the full path). This
ensures that all tests in the same directory end up in the same
chunk.
Compared to HashChunker, this will likely make slow directories
contribute to higher variance in chunk execution times.
MozReview-Commit-ID: CeV0Gi6NRRp
--HG--
extra : rebase_source : 88279fbad4a2f0ae3fd6d27621ecc0d3c7e6d8ca
The built-in hash() function uses the backing memory address for
hashing. This is essentially random. Switch to md5 so input is
consistently hashed across processes.
MozReview-Commit-ID: D52uzttE5hc
--HG--
extra : rebase_source : b7f15e519ec0ba05d0a310fe0470d82893a0a07c
extra : source : 4c8e1c96a27df961c1dd2e984745d06757e8a2d4
Currently make check loops over all directories and runs each test file in PYTHON_UNIT_TESTS
individually. This patch instead creates a single top-level check target that runs
|mach python-tests|. This should make automation more similar to running locally, be a bit
quicker and make it easier to pull python tests out of make check completely at a future date.
MozReview-Commit-ID: 4Hg4zdFyc61
--HG--
extra : rebase_source : 31d0c38a76c11b75d3bf569f2bf22a0666161726
Now, NativeKey respects following WM_CHAR message. Therefore, we can create a test for bug 1293505 which a function key causes a printable character.
Additionally, bug 1307703 is now fixed by the previous patch. So, let's add automated test for it too.
Finally, now, I found a way to test with some keyboard layouts which are not available on old Windows. Therefore, we should add automated tests for bug 1297985 too.
MozReview-Commit-ID: IqCEPbPYrcQ
--HG--
extra : rebase_source : 451d0264f1180cae7d7035a498f1c13416d53246
It will pass once we re-sync from upstream, as the upstream test matches the
specified behaviour, whereas this test does not.
MozReview-Commit-ID: J16olE6QgP
--HG--
extra : rebase_source : 2df77567bfb31c5345627c551cfdcd8b14925ca9
Rather than clearing actions in volatile_config, add in actions from the artifact config's
default_actions. Incompatible actions are then skipped based on 'forced_artifact_build'
config value.
MozReview-Commit-ID: IZuDvxcQ7cN
--HG--
extra : rebase_source : 265f973959d031617beb11852bb51e7d5f90c8bc
Instead of having the desktop[1604]-test images currently bake in a
minidump_stackwalk binary from some random S3 URL, use the binary listed
in the in-tree tooltool manifest that we use for buildbot test jobs. As
a nice side-effect, this will ensure that the desktop-test images get
rebuilt whenever that manifest is updated with a new version, so they
will continue to use the right version in the future.
MozReview-Commit-ID: 6bThddwq6p1
--HG--
extra : rebase_source : 31111e1ae8c10a72c3635bc365babe7d5b1fb4e3
Now that we've removed support for using easy_install, we no longer
need the "install_method" argument to specify how we want to install
packages since there is only one method: pip. So remove that code.
MozReview-Commit-ID: BmjerQtfHov
--HG--
extra : rebase_source : 44427108c5a043ed929747323ea539dcda10c1cb
Support for easy_install was added in bug 761809 as part of supporting
pywin32. We just removed support for pywin32. And there are no in-tree
consumers using the "easy_install" install method. Furthermore,
easy_install is effectively deprecated as a package install mechanism:
pip should always be used.
So, we remove support for easy_install from mozharness.
MozReview-Commit-ID: CN1meLukqY6
--HG--
extra : rebase_source : 883e427f0b5b634a519c3564dd31577e9b164414
pywin32 was removed as a requirement to run Talos in bug 726700,
~3 years ago. The references in mozharness were never updated,
apparently.
MozReview-Commit-ID: FMYxLCNa63H
--HG--
extra : rebase_source : 424b9b301a1c615acd3fd221df50e10a6c00d2cb
Instead of having the desktop[1604]-test images currently bake in a
minidump_stackwalk binary from some random S3 URL, use the binary listed
in the in-tree tooltool manifest that we use for buildbot test jobs. As
a nice side-effect, this will ensure that the desktop-test images get
rebuilt whenever that manifest is updated with a new version, so they
will continue to use the right version in the future.
MozReview-Commit-ID: 6bThddwq6p1
--HG--
extra : rebase_source : eafefb980fe398dda435ad066145ffb8d7003d8f
run-task is our new universal wrapper for executing tasks. Add it
to desktop-build.
MozReview-Commit-ID: BCYHVRdUopQ
--HG--
extra : rebase_source : e2106b76c222a410920086faecad4d45833ff73c
In preparation for switching desktop-build to use run-task and
its VCS management.
MozReview-Commit-ID: 17WBMQhJxaV
--HG--
extra : rebase_source : a79709f5164687782b540c356c3888ee4e298fbc
As part of this, we had to teach install-mercurial.sh to detect
CentOS and install from RPM or source. While we can support
installing from an RPM on CentOS 6, this code is currently disabled
because the RPM we have is built against Python 2.6, which doesn't
support TLS 1.2. Since we have Python 2.7 on the image and this
Python 2.7 install supports TLS 1.2, we build Mercurial from source
using this Python 2.7 install.
We also added a "system setup" shell script. This matches the
conventions used for the desktop-test images.
MozReview-Commit-ID: 7cHN54n7aQF
--HG--
extra : rebase_source : b8ccddf0da76e94ac4064786f3b0ffa0719c9078
extra : source : cc6b486fb6bf92a408fb608283ecd8de4c4419c2
I will add more stuff to common.sh in the future in order to justify
its existence. Not in this bug though.
MozReview-Commit-ID: Lx7MJwBMH0w
--HG--
extra : rebase_source : fe6f51a9b6910abd9dedfda54c0bc8ebd3c3551e
Vendoring: more reliable, more determinism, more secure.
MozReview-Commit-ID: BYUUj4ZpndD
--HG--
extra : rebase_source : 4a1125efcca1fb50d5c191d3aadb0d11d442b628
Build tasks currently require a checkout of the build/tools repository.
I wish this weren't true and that all files references from this repo
were part of mozilla-central or tooltool, but that's how things are.
In preparation for running build tasks with run-task, teach run-task
to perform a checkout of the build/tools repo. Ideally we'd support
configuring the URL to this repository. But I'm not implementing that
since I'd prefer we stop relying on the build/tools repo.
MozReview-Commit-ID: B2Y1NwS3niO
--HG--
extra : rebase_source : bcad2f101e94411a5defd655247ed4ace250a852
Previously, we assumed we only could have a single version control
checkout: Gecko/Firefox. The code reflected this by not passing
arguments to the vcs_checkout function.
Upcoming commits will introduce the need to perform a checkout of the
build/tools repository. In preparation for this, refactor the VCS
functionality so it is generic and can work on any repo.
MozReview-Commit-ID: B0Act9fz2Ee
--HG--
extra : rebase_source : 512d0ccb15adce5ed95c4623562eb47535aef29b
os.walk() won't explicitly yield the root directory. So we need to
update it explicitly when doing a recursive chown.
MozReview-Commit-ID: JC0PNsk5gFK
--HG--
extra : rebase_source : ddfd437cd5e6bffb8780baf23813b88dd06e471d
The WebDriver specification mandates that the page loading timeout must
be five minutes, and the script timeout 30 seconds.
MozReview-Commit-ID: E82jGXCb2ch
--HG--
extra : rebase_source : e1015cbf1cb01b7b48948592be9a022b87670118
The `get` function in testing/marionette/listener.js used an evaluated
if-condition test to determine if a page timeout was given. This would
fail if passed 0 because 0 evaluates to false in JavaScript.
This patch fixes the incorrect type check by looking at whether the
variable has been defined or not.
MozReview-Commit-ID: 39vDZRjKAFb
--HG--
extra : rebase_source : f8100e05f9b1165e20b5aaab6e89b09fd110b3d2
The input type for the `ms` field when passing the old JSON schema that
puts Marionette into the backwards compatible behaviour, accepts string
types that are `parseInt`ed into an integer. This change adds a test
for this.
MozReview-Commit-ID: GJ3ibit7tyG
--HG--
extra : rebase_source : f8ddc6fa46f8917afd650eeabdaf2916c5a3bc04