On Friday 2015-03-13 13:02 -0700, Gregory Szorc wrote:
> FWIW, I don't think the documentation around the mach commands for test
> selection is that great. e.g. I'm not sure how many people realize that
> they can run `mach xpcshell-test test_foo.js` from the topsrcdir and all
> `test_foo.js` files under source control are executed. Perhaps we could add
> some docs to `mach help` or drop some inline hints that people don't have
> to type so much.

There are also some annoying inconsistencies between different mach
commands over what arguments they take.

For example:

 * most of the testing commands allow running under gdb with just
   "--debugger gdb", but "mach run" requires "--debug" (and defaults
   to gdb as the debugger if you specify it).  (But marionette-test
   doesn't seem to have any debugger options.)

 * some of the testing commands (e.g., marionette-test,
   reftest-remote, mochitest-remote) don't have --setpref, which is
   often very useful for reproducing things locally (e.g., if I have
   a development machine whose gfx driver is blacklisted, and I need
   to force-enable accelerated graphics, or if I want to try running
   a set of tests with a feature enabled when that feature is
   currently disabled by default)

 * similar for --setenv, which is often useful for various debugging
   tools (e.g., NSPR logging).

 * likewise, only some of them have --run-until-failure, although I
   haven't needed that myself

Something else that's quite annoying is that mach refuses to run
tests if certain aspects of my tree are out-of-date.  Something I
commonly do is write a patch and a test, and then try to run the
test before compiling the patch to make sure that the test fails
without the patch.  mach sometimes prevents me from doing this
because configure has been updated since I last built.

And I'd echo the comments about being able to run packaged tests
more easily.  I've had to rsync parts of a tree to a different
machine across a slow network connection that had the graphics
configuration I needed to allow running the tests.  I had to run the
tests without mach, because mach just had too many dependencies to
figure out and rsync over a slow network, whereas it was possible to
figure out what files I needed to transfer to run mochitest or
reftest with the underlying commands.  Being able to do that with
packages (and still be able to use a debugger, etc.) would have been
better.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                          https://www.mozilla.org/   𝄂
             Before I built a wall I'd ask to know
             What I was walling in or walling out,
             And to whom I was like to give offense.
               - Robert Frost, Mending Wall (1914)

Attachment: signature.asc
Description: Digital signature

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

Reply via email to