Skip to content
/ gaia Public
forked from mozilla-b2g/gaia

Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project

License

Notifications You must be signed in to change notification settings

efullea/gaia

This branch is 32263 commits behind mozilla-b2g/gaia:master.

Folders and files

NameName
Last commit message
Last commit date
Sep 13, 2013
Aug 23, 2013
Sep 12, 2013
Aug 28, 2013
Sep 12, 2013
Jan 22, 2013
Sep 4, 2013
Aug 12, 2013
Jun 25, 2012
Sep 12, 2013
Aug 9, 2013
Sep 13, 2013
Jul 12, 2013
Aug 13, 2013
Sep 12, 2013
Sep 12, 2013
Sep 5, 2013
Jun 18, 2013
Aug 30, 2013
May 29, 2013
Apr 19, 2012
Sep 11, 2013
Sep 9, 2013
Sep 12, 2013

Repository files navigation

Gaia Build Status

Gaia is Mozilla's Phone UX for the Boot to Gecko (B2G) project.

Boot to Gecko aims to create a complete, standalone operating system for the open web.

You can read more about B2G here:

http://mozilla.org/b2g

follow us on twitter: @Boot2Gecko

http://twitter.com/Boot2Gecko

join the Gaia mailing list:

http://groups.google.com/group/mozilla.dev.gaia

and talk to us on IRC:

#gaia on irc.mozilla.org

Hacking Gaia

The Gaia/Hacking page on MDN has all the information that you need to start working on Gaia, including building and running Gaia on a compatible device or desktop computer.

Tests

Unit Tests

Unit tests for an app go in apps/<APP>/test/unit/.

To run all the unit tests with B2G Desktop:

  1. Run DEBUG=1 make

  2. Run make test-agent-server &

  3. Run B2G Desktop and open the Test Agent app

  4. Run make test-agent-test

    or make test-agent-test APP=<APP> to run unit tests for a specific app

More importantly, you can use test-agent-server to watch the files on the filesystem and execute relevant tests when they change:

  1. Run DEBUG=1 make
  2. Run make test-agent-server &
  3. Run B2G Desktop and open the Test Agent app
  4. Edit files and when you save them, glance at the console with test-agent-server running

Note: If you add new files, you will need to restart test-agent-server.

As a convenience, you can also use the gaia-test script to launch the test-agent-server and open the Test Agent app in firefox:

  1. Add firefox to your $PATH or set $FIREFOX to your preferred firefox/aurora/nightly binary.
  2. Run ./bin/gaia-test to run the test-agent-server and launch firefox.
  3. Run make test-agent-test or modify files as described above.

For more details on writing tests, see: https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests

Integration Tests

Gaia uses marionette-js-runner to run the tests with a custom builder for gaia. Tests should live with the rest of your apps code (in apps/my_app/test/marionette) and test files should end in _test.js.

All integration tests run under a node environment. You need node >= 0.8 for this to work predictably.

Shared code for tests lives under shared/test/integration.

Invoking a test

./bin/gaia-marionette <test> [test...]

All options are passed to ./node_modules/.bin/marionette-mocha so you can also use mocha commands like --grep, --timeout see --help for more options.

Invoking all the tests

NOTE: unless you tests end in _test.js they will not be automatically picked up by make test-integration.

make test-integration

Where to find documentation

Gotchas

  • For performance reasons we don't run make profile for each test run this means you need to manually remove the profile-test folder when you make changes to your apps.

  • If you don't have a b2g folder one will be downloaded for you. This can be problematic if you're offline. You can symlink a b2g-desktop directory to b2g/ in gaia to avoid the download.

  • If you have some weird node errors, try removing node_modules since things may be stale.

  • You get can get lots of debug information when running tests like this: DEBUG=* ./bin/gaia-marionette name/of/test.js

About

Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 92.7%
  • CSS 5.5%
  • Python 1.7%
  • Other 0.1%