Platform/GFX/Quantum Render: Difference between revisions

Jump to navigation Jump to search
→‎Try pushes: Note about QR reftests on android
(→‎On reftests: Tweak docs)
(→‎Try pushes: Note about QR reftests on android)
Line 95: Line 95:
=== Try pushes ===
=== Try pushes ===


You can (and are encouraged to) push changes to tryserver to test them out before landing them. For linux64, the tests will run using a regular linux64 build. However, you need to specify <tt>linux64-qr</tt> as the test platform to have QR enabled during testing. The same goes for windows10-64. So, for example, to run all the available tests on QuantumRender-enabled builds, you could use this trychooser syntax:
You can (and are encouraged to) push changes to tryserver to test them out before landing them. For linux64, the tests will run using a regular linux64 build. However, you need to specify <tt>linux64-qr</tt> as the test platform to have QR enabled during testing. The same goes for <tt>windows10-64</tt>/<tt>windows10-64-qr</tt> and <tt>macosx64</tt>/<tt>macosx64-qr</tt>. So, for example, to run all the available desktop tests on QuantumRender-enabled builds, you could use this trychooser syntax:
   try: -b do -p linux64,win64,macosx64 -u all[linux64-qr,windows10-64-qr,macosx64-qr] -t all[linux64-qr,windows10-64-qr,macosx64-qr]
   try: -b do -p linux64,win64,macosx64 -u all[linux64-qr,windows10-64-qr,macosx64-qr] -t all[linux64-qr,windows10-64-qr,macosx64-qr]
Running Android tests is a little tricker, because we only run Gecko reftests on Pixel 2 devices for Android, and we don't have a lot of those so there's often a backlog of jobs for them. In order to minimize the chance of people accidentally queuing up jobs on these device that they don't actually need, jobs that run on these devices are not selectable by default. Instead you have to run `./mach try fuzzy --full` which lists all the "hidden" jobs, and explicitly select them. From the command line, you can select the Android QuantumRender jobs like so:
  ./mach try fuzzy --full -q "'"'-qr android !fis'  # !fis excludes fission variants which also show up with --full but are perma-fail


You can also run WebRender's standalone tests on tryserver (linting and Linux/Windows tests only for now, macOS is tracked in {{bug|1516568}}). As trychooser syntax is deprecated, the way to run these tests is to select them in <tt>./mach try fuzzy</tt> with the query string <tt>^webrender-</tt>. You can do this on the command line like so:
You can also run WebRender's standalone tests on tryserver (linting and Linux/Windows tests only for now, macOS is tracked in {{bug|1516568}}). As trychooser syntax is deprecated, the way to run these tests is to select them in <tt>./mach try fuzzy</tt> with the query string <tt>^webrender-</tt>. You can do this on the command line like so:
   ./mach try fuzzy -q '^webrender-'
   ./mach try fuzzy -q '^webrender-'


To run all of the QuantumRender tests as well as the WebRender standalone tests, you can use the following command:
To run all of the desktop QuantumRender tests as well as the WebRender standalone tests, you can use the following command:
   ./mach try fuzzy -q "'-qr" -q '^webrender-'
   ./mach try fuzzy -q "'-qr" -q '^webrender-'
or without talos/raptor:
or without talos/raptor:
   ./mach try fuzzy -q "'"'-qr !talos !raptor' -q '^webrender-'
   ./mach try fuzzy -q "'"'-qr !talos !raptor' -q '^webrender-'


If you have a particular set of tests you run frequently that cannot be represented by trychooser syntax, the best way to do it is this:
If you have a particular set of tests you run frequently that cannot be easily represented by trychooser or fuzzy syntax, the best way to do it is this:
* First, do a push using <tt>./mach try fuzzy</tt> where you select the set of jobs you care about
* First, do a push using <tt>./mach try fuzzy</tt> where you select the set of jobs you care about
* The head commit of that try push will have a <tt>try_tasks_config.json</tt> file which lists the jobs. Copy that file into a local commit
* The head commit of that try push will have a <tt>try_tasks_config.json</tt> file which lists the jobs. Copy that file into a local commit
Confirmed users
586

edits

Navigation menu