This change is mostly straightforward, except for the following.
- It removes all the printing from the do_check_* macros because gtest macros
do appropriate printing.
- test_StatementCache.cpp needs some special gtest magic for the type
parameterization.
- It merges the four tests in test_unlock_notify.cpp because they rely on being
executed in order, and so aren't independent.
- storage_test_harness_tail.h is no longer necessary because gtest provides the
test looping functionality.
- It uses #include and the preprocessor to remove the duplication between
test_deadlock_detector.cpp and xpcom/tests/DeadlockDetector.cpp.
- It makes the test in test_service_init_background_thread.cpp a death test to
force it to be the first storage gtest, because it fails otherwise.
- It adds code to undo the SQLite mutex hooking as necessary, so that tests
don't interfere with each other.
- It de-virtualizes Spinner's destructor (as identified in bug 1318282).
--HG--
rename : storage/test/storage_test_harness.h => storage/test/gtest/storage_test_harness.h
rename : storage/test/test_AsXXX_helpers.cpp => storage/test/gtest/test_AsXXX_helpers.cpp
rename : storage/test/test_StatementCache.cpp => storage/test/gtest/test_StatementCache.cpp
rename : storage/test/test_asyncStatementExecution_transaction.cpp => storage/test/gtest/test_asyncStatementExecution_transaction.cpp
rename : storage/test/test_async_callbacks_with_spun_event_loops.cpp => storage/test/gtest/test_async_callbacks_with_spun_event_loops.cpp
rename : storage/test/test_binding_params.cpp => storage/test/gtest/test_binding_params.cpp
rename : storage/test/test_deadlock_detector.cpp => storage/test/gtest/test_deadlock_detector.cpp
rename : storage/test/test_file_perms.cpp => storage/test/gtest/test_file_perms.cpp
rename : storage/test/test_mutex.cpp => storage/test/gtest/test_mutex.cpp
rename : storage/test/test_service_init_background_thread.cpp => storage/test/gtest/test_service_init_background_thread.cpp
rename : storage/test/test_statement_scoper.cpp => storage/test/gtest/test_statement_scoper.cpp
rename : storage/test/test_transaction_helper.cpp => storage/test/gtest/test_transaction_helper.cpp
rename : storage/test/test_true_async.cpp => storage/test/gtest/test_true_async.cpp
rename : storage/test/test_unlock_notify.cpp => storage/test/gtest/test_unlock_notify.cpp
extra : rebase_source : dbb695c112564efa1945116be1a8435988982e74
This deprecates PYTHON_UNIT_TESTS and replaces it with PYTHON_UNITTEST_MANIFESTS.
In the build system, this means python unittests will be treated the same as all
other test suites that use manifestparser. New manifests called 'python.ini' have
been created for all test directories containing python unittests.
MozReview-Commit-ID: IBHG7Thif2D
--HG--
extra : rebase_source : 11a92a2bc544d067946bbd774975140147458caa
The mozbase unittests don't use mozunit, so their output is confusing in the log.
This makes mozbase output consistent with the rest of the python unittests.
MozReview-Commit-ID: AIs5mza8Rn6
--HG--
extra : rebase_source : 10f65e612f5b3cebb921c47699f5a8be7cd2ba5a
The mozsystemmonitor test is under mozsystemmonitor/mozsystemmonitor/test instead of
mozsystemmonitor/tests like all the other mozbase modules.
MozReview-Commit-ID: AIs5mza8Rn6
--HG--
rename : testing/mozbase/mozsystemmonitor/mozsystemmonitor/test/test_resource_monitor.py => testing/mozbase/mozsystemmonitor/tests/test_resource_monitor.py
extra : rebase_source : dde714fb9212f19d1f8ba566f574bd7e9d7c4030
Also we don't need to check the event time, it's out of scope of this test case.
MozReview-Commit-ID: JkbiiVPunGH
--HG--
extra : rebase_source : 4438091abfd7e55908ab15f543c6a4590acf45a6
This removes gaia_desktop, gaia_emulator, marionette_emulator,
webapi_desktop, and webapi_emulator test suite definitions.
MozReview-Commit-ID: Lf8slbzKNLz
--HG--
extra : rebase_source : 4a60c0cd0d05cabd0af74c15a85929d943c867f6
If there is a property called 'installer_path', the job is from in-tree
config.
MozReview-Commit-ID: E5SIHyxp0dM
--HG--
extra : rebase_source : e0251636e8e55613d58e743d70469e6b1a2175a5
taskcluster-scheduler is deprecated. mozharness uses it to get the task
graph in order to discover the parent of a task.
We now use queue to get the task definition, which contains the
'requires' field.
MozReview-Commit-ID: 8IivfxLvxVA
--HG--
extra : rebase_source : 76ad3993d50cb3dccca6b56652eec9568f5e5abb
When we scroll the element into the bottom of the viewport, it is the
first button that does not cause a scroll.
MozReview-Commit-ID: 1zv3uyUcnRn
--HG--
extra : rebase_source : 1cc3835c5bbcba941bceb3be98fdaa9b6f91d6b9
When returning the tree of interactable elemenets under the cursor, we
want to test the first one against the passed element, not that there
are _any_ interactable elements under the cursor.
MozReview-Commit-ID: AUvKAWKHgZk
--HG--
extra : rebase_source : 69563be46dbb18c4c814d6615b1bd2f97179b816
Add a test that checks that `scrollIntoView({block: "end", inline:
"nearest"})` works by placing the element at the bottom of the viewport,
where the overlay does not cover it.
MozReview-Commit-ID: Gzv9n17240G
--HG--
extra : rebase_source : 373c0da6c74bbf3953dc8b08e8b65929003b7d12
The old calcaulation to determine an element's in-view centre point was
wrong as pointed out in https://github.com/w3c/webdriver/issues/425,
and this is an implementation of the proposed algorithm which passes
real-world tests.
This also addresses https://github.com/w3c/webdriver/pull/441 which
checks if the `DOMRect` sequence returned from `getClientRects` is empty,
as it may be if the element's `display` style property is `none`.
MozReview-Commit-ID: 4uitUrviW2a
--HG--
extra : rebase_source : d9a3eefc9496500dffe74a28a117e29067a646f1
Checking for general interactability will also consider keyboard
interactability, which has not yet been implemented. On interacting with
an element by clicking, we should only test for pointer interactability.
MozReview-Commit-ID: BUCs7zHppRm
--HG--
extra : rebase_source : 2053a49ee4bcb291299568902e9ac25cc747bc5e
When scrolling an element into view using `Element.scrollIntoView`,
use the `{block: "end", inline: "nearest"}` scroll position arguments,
which are equivalent to `Element.scrollIntoView(false)`. This is what
other WebDriver implementations have used for a while, and we meant to
change to this sooner.
This ensures that the element appears at the bottom of the viewport
rather than the top, where overlaying menus with fixed style position
may more frequently appear.
In the future we might consider replacing this with `{block: "center"}`
which is specified in the CSSOM specification, but not yet implemented
in any browsers.
This implements https://github.com/w3c/webdriver/pull/440, which should
fix https://github.com/mozilla/geckodriver/issues/327.
MozReview-Commit-ID: BRMupP4fM89
--HG--
extra : rebase_source : 952edd6932b0f7e8b7d2694d428435508a4ffc8c
Only replace addDiv with createDiv in spacing-keyframes-transform.html.
Others are the same.
MozReview-Commit-ID: JNSpyc6WNtP
--HG--
extra : rebase_source : 05af4176e85234e1d89023f1e74012d0e1481230
This removes the `default_timeouts` internal state associated
with the Marionette client connection and introduces a new
API to reset all timeouts to their documented defaults in
`marionette_driver.timeouts.Timeout`.
MozReview-Commit-ID: 3xFWsYLngMp
--HG--
extra : rebase_source : a712985559c0c1d9cab3d08197a3351610fcb996
This was an ugly hack in the first place, and this seems like a good
opportunity to rectify it.
MozReview-Commit-ID: IB6Y8SlOfRn
--HG--
extra : rebase_source : b9968f01fa5da7319871ecaa145134479e595ab0
This ensure backwards compatible for consumers.
MozReview-Commit-ID: J2VOiB08xxV
--HG--
extra : rebase_source : 672b17642aa1463a9f65612c6494885a05d354fa
Introduce a new interface for managing timeouts in the Marionette
Python client.
MozReview-Commit-ID: JHojs7rWBz5
--HG--
extra : rebase_source : 388b8b3f30f07b95bf40edc57d13ffe5a7d5c502
The WebDriver specification mandates that the implicit wait timeout should
default to 0 (off), which in Marionette has the same effect as null.
MozReview-Commit-ID: Ca3RxO7gHv8
--HG--
extra : rebase_source : 5a804614b0bdf99c7d1241bbc06f3566f127b32f
This renames the `Marionette:timeouts` command
to `Marionette:setTimeouts`. It should be fine to make this
backwards incompatible change as the `Marionette.set_script_timeout`,
`Marionette.set_search_timeout`, and `Marionette.set_page_load_timeout`
commands all have existing try...except behaviour for another backwards
incompatible change in Firefox 52.
MozReview-Commit-ID: 58RrXhE2tN3
--HG--
extra : rebase_source : 67a52d6c48d5c94fdd4eb4e1120223778a83e0c2