> On Apr 1, 2019, at 11:54 AM, Jared Hirsch <6...@mozilla.com> wrote:
> 
> This sounds great! I land features in the tree periodically, but infrequently 
> enough to forget lots of little details. It would really save time (mine and 
> the time of people I ping on IRC for help...) if our tooling simplified the 
> process of creating new tests.
> 
> I don't have any historical context on the reasons why the bug number was 
> added to the template, but removing it seems reasonable to me, fwiw.
> 
> One small feature request: could you add some basic usage documentation to 
> the firefox-source-docs as part of this patch? I'm sure I'll forget the right 
> sequence of commands in between uses ;-)

Glad to hear this would save time, makes me more sure I should push it forward.

For now I was planning to update the existing test template docs at 
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Mochitest#Test_templates
 to use the mach command, since that’s where a lot of related APIs are already 
documented. I’m open to the argument that this entire page should live on 
firefox-source-docs, but would like to decouple that from this command if 
possible :).

Brian

> Cheers,
> 
> Jared
> 
> 
> On Mon, Apr 1, 2019 at 11:36 AM Brian Grinstead <bgrinst...@mozilla.com> 
> wrote:
> Based on my own experience and discussions with others, the workflow for 
> adding new mochitests isn't great. Commonly, it looks like: "copy/paste a 
> test in the same directory, add the new test to the relevant manifest file, 
> empty out the actual test bits, write your test". In my experience this is 
> prone to issues like forgetting to add the new test to the manifest, or not 
> fully replacing boilerplate like bug numbers from the copied test.
> 
> There's a script in tree I was unaware of until last week called 
> gen_template.pl that's intended to help here, but it does leave a few issues 
> open:
> 
> 1) It doesn't help with finding the manifest file and adding the new test to 
> it.
> 2) The boilerplate it generates is outdated (for example, it sets 
> type="application/javascript" even in HTML documents, it doesn't include 
> add_task, etc).
> 3) It supports only mochitest-chrome and mochitest-plain.
> 
> Last week I prototyped a new mach command to fix (1) and (2), and expand (3) 
> to include browser-chrome mochitests. If it's helpful, it could be extended 
> to more test types as well. When you run the command it will create a file 
> with the appropriate boilerplate and add it to the manifest file (chrome.ini, 
> mochitest.ini, browser.ini depending on the type). This way you can 
> immediately run the test with `./mach mochitest`. It looks like this:
> 
> ```
> # Chrome mochitests
> ./mach addtest js/xpconnect/tests/chrome/test_chrome.html
> ./mach addtest js/xpconnect/tests/chrome/test_chrome.xhtml
> ./mach addtest js/xpconnect/tests/chrome/test_chrome.xul
> 
> # Plain mochitests
> ./mach addtest js/xpconnect/tests/mochitest/test_plain.html
> ./mach addtest js/xpconnect/tests/mochitest/test_plain.xhtml
> ./mach addtest js/xpconnect/tests/mochitest/test_plain.xul
> 
> # Browser mochitests
> ./mach addtest browser/base/content/test/alerts/browser_mochitest.js
> ```
> 
> It's not landed because I’d like to get some feedback (see next paragraph), 
> but if you'd like to try it locally it can be applied from 
> https://phabricator.services.mozilla.com/D25482.
> 
> This change modifies the existing templates used by gen_template.pl and 
> removes the perl script. I think the template changes are mostly 
> uncontroversial, but there is one notable change that I'd like feedback on 
> before landing. We currently add a bug number to new tests generated with the 
> script (in 4 places). For example, see "{BUGNUMBER}" in 
> https://searchfox.org/mozilla-central/source/testing/mochitest/static/chrome.template.txt.
>  My patch removes this. The reasoning is:
> 
> 1) To tighten up the boilerplate and prevent the bug number from not being 
> updated in any or all of the spots when a test is created via copy/paste.
> 2) Require less information up front when generating the test (in case you 
> are building a test before filing a bug, or have a test not associated with 
> any one particular bug).
> 
> Links to bugs/comments/etc can be added in the test if they are relevant, but 
> I don't know that it's important enough to add another step in front of 
> getting a useful test case built. I did also consider adding a TODO comment 
> in the template to add a bug link (though in a single place instead of 4), 
> but not to require that information up front.
> 
> If I don’t hear objections on this point I’ll work towards getting it landed 
> soon.
> 
> Thanks,
> Brian
> 
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform

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

Reply via email to