aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/testing_commands.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement `bootstrap-gstreamer` for all platformsMartin Robinson2023-05-251-13/+3
| | | | | | | | | | | | | | | | | | This change makes it so that the Platform classes can now handle installing GStreamer dependencies and properly setting up the environment including when cross-compiling. For Windows and Linux is now installed into `target/dependencies/gstreamer` when not installed system-wide. In addition: 1. Creating and moving existing environment path append helpers to `util.py`. 2. Combining the `set_run_env` and `build_dev` functions and moving some outside code into them so that it can be shared. Now code that used to call `set_run_env` calls `build_dev` and then `os.environ.update(...)`. 3. Adding Python typing information in many places. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Auto merge of #29745 - mrobinson:compositor-side-scroll-tree, r=mukilanbors-servo2023-05-231-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a compositor-side scroll tree This will allow the compositor to properly chain scrolling requests up when a node has reached the extent of the scroll area. In addition, it removes the use of the deprecated WebRender `scroll()` API. This fixes scrolling on servo.org. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes: - Fix #29402. - Fix #27996. - Fix #27624. - Fix #24028. - Fix #23918. - Fix #21165. - [x] There are tests for these changes
| * Add a compositor-side scroll treeMartin Robinson2023-05-191-0/+1
| | | | | | | | | | | | This will allow the compositor to properly chain scrolling requests up when a node has reached the extent of the scroll area. This fixes scrolling on servo.org.
* | Auto merge of #29754 - mrobinson:organize-python-by-platform, r=mukilanbors-servo2023-05-191-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start organizing platform-specific Python code This starts to split platform-specific Python code into its own module, which should help to tidy up our mach commands and make things more reusable. This is step one toward fixing #25335. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they just change mach scripts. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | Start organizing platform-specific Python codeMartin Robinson2023-05-191-1/+1
| |/ | | | | | | | | | | This starts to split platform-specific Python code into its own module, which should help to tidy up our mach commands and make things more reusable.
* / Thread panics should be a hard-fail in smoketestsMartin Robinson2023-05-181-1/+4
|/ | | | | | | This prevents, for instance, a script thread panic from hanging Servo and means those kind of panics won't cause CI to hang. Fixes #29749.
* Reorganize Servo's WPT Python scriptsMartin Robinson2023-04-201-57/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This change moves all of Servo's WPT Python support scripts into one directory as they were previously scattered throughout the directory structure. This should allow more code reuse and make it easier to understand how everything fits together. The changes: - `tests/wpt/update` → `python/wpt/importer` - `etc/ci/upstream-wpt-changes/wptupstreamer` → `python/wpt/exporter` - `etc/ci/upstream-wpt-changes/test.py` → `python/wpt/test.py` - `etc/ci/upstream-wpt-changes/tests` → `python/wpt/tests` - `tests/wpt/servowpt.py` → - `python/wpt/update.py` - `python/wpt/run.py` - `tests/wpt/manifestupdate.py` → `python/wpt/manifestupdate.py` This change also removes - The ability to run the `update-wpt` and `test-wpt` commands without using `mach`. These didn't work very well, because it was difficult to get all of the wptrunner and mach dependencies installed outside of the Python virtualenv. It's simpler if they are always run through `mach`. - The old WPT change upstreaming script that was no longer used.
* Have all mach command accept "--with-layout-2020" and "--layout-2020"Martin Robinson2023-04-071-2/+2
| | | | | | Some command accepted one and some the other. This changes makes them all accept both so it's no longer necessary to remember which uses which.
* Aggregate unexpected results into logsMartin Robinson2023-02-141-0/+3
| | | | | | This makes it easier to run `update-wpt` based on results from the bots. A future version of this could aggregate all unexpected results that were not filtered as intermittents.
* Auto merge of #29294 - servo:integrate-filter-intermittents, r=delanbors-servo2023-01-271-114/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate filter-intermittents into test-wpt This change integrates the `filter-intermittents` command into `test-wpt`. This is in preparation for future work on tracking intermittent failures. This change also: - Removes `ServoJsonFormatter` and replaces it with a generic WPT log handler which tracks unexpected results. - The intermittent filter is now controlled via environment variables and the GitHub version requires a token instead of credentials. - Output is saved to a single file and is always text. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they are changes to build infrastructure.
| * Integrate filter-intermittents into test-wptMartin Robinson2023-01-241-114/+7
| | | | | | | | | | | | | | | | | | | | | | This change integrates the filter-intermittents command into test-wpt. This is in preparation for future work on tracking intermittent failures. This change also: - Removes the SrvoJson logger and replaces it with a generic WPT log handler which tracks unexpected results. - The intermittent filter is now controlled via environment variables and the GitHub version requires a token instead of credentials. - Output is saved to a single file and is always text.
* | Update clangfmt version.Josh Matthews2023-01-241-1/+1
|/
* Simplify Python code for running WPT testsMartin Robinson2023-01-131-45/+7
| | | | | | | | | | | Combine `run.py` and `update.py` into `servowpt.py` in order to allow them to share code. Import them directly into the mach script to avoid having to call `compile` and `exec` on the code. This makes it clearer how they are executed. In addition, move all of the setup into `setupwpt.py` to avoid differences between tests executed via mach and not. Finally, be more ambitious when detecting the build to use. If none was specified, try to use the one that exists between "release" and "debug."
* mach filter-intermittents: add progress and --json output modeDelan Azabani2023-01-101-3/+17
|
* Remove unnecessary always succeed flagcybai2022-08-161-8/+2
|
* Run WPT sync nightly on GitHub Actioncybai2022-08-161-2/+14
|
* Update clangfmt version.Josh Matthews2022-08-061-1/+1
|
* update Ubuntu version check to > 21.10Gio de Guzman2021-12-151-1/+1
| | | | Update clang-format version check to use find() instead of startswith() to deal with distro-specific discrepancy
* chore(mach): update the required clang-format version to 13yvt2021-10-161-1/+1
|
* chore(mach): update the required clang-format version to 12yvt2021-10-041-1/+1
|
* Updat clang-fmt version check.Josh Matthews2021-02-191-1/+1
|
* Port some code to Python3Vincent Ricard2021-02-181-1/+4
|
* Improve intermittent filteringKunal Mohan2020-08-041-2/+12
|
* Add an implementation of the core float and clear placement logic in layoutPatrick Walton2020-07-201-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2020, not yet wired to the rest of layout. This commit implements an object that handles the 10 rules in CSS 2.1: https://www.w3.org/TR/CSS2/visuren.html#float-position The implementation strategy is that of a persistent balanced binary search tree of float bands. Binary search trees are commonly used for implementing float positioning; e.g. by WebKit. Persistence enables each object that interacts with floats to efficiently contain a snapshot of the float list at the time that object was laid out. That way, incremental layout can invalidate and start reflow at any point in a containing block. This commit features extensive use of [QuickCheck](https://github.com/BurntSushi/quickcheck) to ensure that the rules of the CSS specification are followed. Because this is not yet connected to layout, floats will not actually be laid out in Web pages yet. Note that unit tests as set up in Servo currently require types that they access to be public. Therefore, some internal layout 2020 types that were previously private have been made public. This is somewhat unfortunate. Part of #25167.
* Fix remaining flake8 warningsKagami Sascha Rosylight2020-06-211-2/+2
|
* Run only a supported set of WPT test types by default.Josh Matthews2020-06-031-0/+10
|
* Auto merge of #25853 - asajeffrey:surfmanup, r=jdmbors-servo2020-04-181-18/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace glutin by winit + surfman 0.2 <!-- Please describe your changes on the following line: --> This PR updates surfman to 0.2, and replaces glutin with winit+surfman. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because this should all be invisible <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Update surfman to 0.2 and remove glutinAlan Jeffrey2020-04-171-18/+2
| |
* | Disable RUST_BACKTRACE in unit tests on macOS.Josh Matthews2020-04-171-1/+3
|/
* Update required clang-format version.Josh Matthews2020-04-151-1/+1
|
* Add default arguments so that ./mach test --all worksWarren Fisher2020-01-191-1/+1
|
* Don’t run `ensure_bootstrapped` when rustup is not used at all.Simon Sapin2020-01-021-10/+0
| | | | Linux WPT tasks on our CI don’t have rustup installed.
* Fix a Python 3 warningSimon Sapin2020-01-021-1/+1
| | | | | | | | ``` /home/simon/projects/servo/python/servo/testing_commands.py:301: SyntaxWarning: "is not" with a literal. Did you mean "!="? if err is not 0: ```
* mach: always call `ensure_bootstrapped` before `call_rustup_run`Simon Sapin2020-01-021-0/+1
|
* Print OSMesa environment variables when starting debugger under WPT.Josh Matthews2019-12-201-4/+4
|
* Fix tidiness errors for Python3 compatibility across whole repomarmeladema2019-12-111-9/+9
|
* Make `mach test-tidy --no-wpt` compatible with Python3marmeladema2019-12-111-2/+2
| | | | | Note: tidiness tests of Python file using flake8 was effectively broken since a previous commit for Python3 compatibility
* Fix Python Unicode error in './mach filter-intermittents'Simon Sapin2019-12-051-5/+2
| | | | Fix https://github.com/servo/servo/issues/25062
* Fix Python Unicode error on macOS CISimon Sapin2019-12-031-3/+6
|
* Include test output in filtered WPT logsSimon Sapin2019-12-031-26/+25
|
* Run test-tidy on WindowsPaul Rouget2019-11-211-35/+38
|
* remove allfiles option for clang-formatPaul Rouget2019-11-041-5/+3
|
* Format support/hololens/Paul Rouget2019-11-041-1/+1
|
* Format CPP code with clang-formatPaul Rouget2019-10-301-5/+47
|
* Add `./mach test-tidy --no-wpt`, for a git pre-push hookSimon Sapin2019-10-241-2/+7
| | | | | | | | | | | | | | | Disabling WPT manifest checking brings the time it takes to run tidy for ~11 seconds to ~3 seconds, which feels reasonable to have in a git pre-push hook. This can help avoid forgetting to run tidy before opening a PR. ``` $ chmod +x .git/hooks/pre-push $ cat .git/hooks/pre-push #!/bin/sh set -e ./mach test-tidy --no-wpt ```
* Replace call to execfile(...) by call to exec(compile(open(...)))marmeladema2019-10-201-5/+5
| | | | This is done in order to be compatible with Python3
* Use iteritems from six module for Python3 compatibilitymarmeladema2019-10-161-3/+4
|
* Use urllib from six module in order to be compatible with Python3marmeladema2019-10-161-7/+7
|
* Remove intermittent failure reporting.Josh Matthews2019-10-041-35/+0
|
* Add a HOST_FILE env variable and fix the wdspec setup errors that it causesGeorge Roman2019-07-201-1/+1
|