Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

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

This branch is 0 commits ahead and 0 commits behind master

Octocat-spinner-32 apps Bug 881672 - Enabling a DUMP function for all Gaia apps, r=kaze
Octocat-spinner-32 build Bug 881672 - Enabling a DUMP function for all Gaia apps, r=kaze
Octocat-spinner-32 dictionaries Bug 865484 - refactor dictionary data structure and search algorithm …
Octocat-spinner-32 dogfood_apps Bug 828843 - Remove feedback app from release builds. r=ochameau
Octocat-spinner-32 external-apps update Marketplace packaged app with offline handler (bug 875849)
Octocat-spinner-32 locales Bug 881310 - Add Serbian (Cyrillic) entry
Octocat-spinner-32 media-samples move sample photos from /sdcard/Pictures back to /sdcard/DCIM
Octocat-spinner-32 shared Bug 881672 - Enabling a DUMP function for all Gaia apps, r=kaze
Octocat-spinner-32 showcase_apps Bug 828843 - Remove feedback app from release builds. r=ochameau
Octocat-spinner-32 test_apps Bug 825148 - Make UI Tests and Test receivers app work with CSP
Octocat-spinner-32 test_external_apps Bug 862418 - make the build more strict with bad metadata.json files …
Octocat-spinner-32 test_media Bug 872115 - Updated reference workload databases in master
Octocat-spinner-32 tests Merge pull request #10169 from lightsofapollo/use-marionette
Octocat-spinner-32 tools Bug 884338 - Travis no likey multiprocess :(
Octocat-spinner-32 .gitignore Bug 882363 - Only enable Facebook functionality if the app id is part…
Octocat-spinner-32 .travis.yml Bug 842349 - disable travis except master
Octocat-spinner-32 Android.mk Bug 835345 - Added preloaded contacts in build time r=vingtetun
Octocat-spinner-32 CONTRIBUTING.md Bug 876601 - update README.md and CONTRIBUTING.md
Octocat-spinner-32 LICENCE Switch to Apache License.
Octocat-spinner-32 Makefile Bug 884406 - Makefile will throw an error if the test fails r=julienw
Octocat-spinner-32 README.md Bug 876601 - update README.md and CONTRIBUTING.md
README.md

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.

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

Integration Tests

Integration tests for an app are located in apps/<APP>/test/integration/.

Prerequisites:

  1. adb
  2. FirefoxOS Device / Emulator / B2G Desktop

To run integration tests:

  1. In your gaia/ directory, run make to build the profile
  2. Run B2G Desktop

    or forward port 2828 from your device / emulator using adb forward tcp:2828 tcp:2828

  3. Run make test-integration from the gaia/ directory

    or make test-integration APP=<APP> to run unit tests for a specified app

    or make test-integration TESTS=<PATH/TO/TESTFILE.js> to run unit tests in a specific file

    or make test-integration REPORTER=<REPORTER> to run integration tests with the specified reporter, for example XUnit

    or make test-integration TESTVARS=<PATH/TO/TESTVARS.json> to run tests with variables in the testvars file (this defaults to testvars.json)

Note: If you're using a FirefoxOS Device, it must have been flashed with a build with marionette enabled. If it doesn't have marionette enabled, then running make test-integration will time out.

The testvars file is a JSON file that maps app names to objects holding key/values as required by that app's integration tests. See that app's integration test code and/or README for which key/values are required.

Something went wrong with that request. Please try again.