As of bug 987360, you can now run all tests with a given tag for mochitest (and variants), xpcshell and marionette based harnesses. Tags can be applied to either individual tests, or the DEFAULT section in manifests. Tests can have multiple tags, in which case they should be comma delimited. To run all tests with a given tag, pass in --tag <tag name> to the mach command.

For example, let's say we want to group all mochitest-plain tests related to canvas together. First we'd add a 'canvas' tag to the DEFAULT section in https://dxr.mozilla.org/mozilla-central/source/dom/canvas/test/mochitest.ini

[DEFAULT]
tags = canvas

We notice there is also a canvas related test under dom/media, namely:
https://dxr.mozilla.org/mozilla-central/source/dom/media/test/mochitest.ini#541

Let's pretend it is already tagged with the 'media' tag, but that's ok, we can add a second tag no problem:

[test_video_to_canvas.html]
tags = media,canvas

Repeat above for any other tests or manifests scattered in the tree that are related to canvas. Now we can run all mochitest-plain tests with:

./mach mochitest-plain --tag canvas

You can also run the union of two tags by specifying --tag more than once (though the intersection of two tags is not supported):

./mach mochitest-plain --tag canvas --tag media

So far the xpcshell (./mach xpcshell-test --tag name) and marionette (./mach marionette-test --tag name) commands are also supported. Reftest is not supported as it has its own special manifest format.

Applying tags to tests will not affect automation or other people's tags. So each organization or team should feel free to use tags in whatever creative ways they see fit. Eventually, we'll start using tags as a foundation for some more advanced features and analysis. For example, we may implement a way to run all tests with a given tag across multiple different suites.

If you have any questions or things aren't working, please let me know!

Cheers,
Andrew
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to