• This repository has been archived on 03/Nov/2021
  • Stars
    star
    2,098
  • Rank 22,008 (Top 0.5 %)
  • Language
    JavaScript
  • License
    Other
  • Created about 13 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DEPRECATED - Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see

Gaia

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.fxos

and talk to us on IRC:

#fxos 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.

Autolander (bot)

Autolander is a bot which integrates github and bugzilla workflows.

Features available:

  • Automatic pull request to bugzilla attachment linking.
  • Automatic landing, on green integration run, with a R+ from a suggested reviewer and the autoland keyword.
  • Comments in the bug with the landed commit, and marks the bug as fixed.
  • Validates pull request title and commit message formats.
  • Currently only runs a subset of the gaia CI tests which are stable on taskcluster. Ensure you have a green gaia-try run before adding the autoland keyword.
  • See more at: https://github.com/mozilla/autolander The Autolander guide on MDN

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 for ui testing. Tests need to live in apps/<some app>/test/marionette and should be named *_test.js. Gaia's marionette tests run on nodejs and you'll need nodejs>=v0.12 and npm>=v2.0 installed.

Shared code for tests lives in plugins at tests/jsmarionette/plugins or in helpers at shared/test/integration.

For more details on writing integration tests, see: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing/Gaia_integration_tests

Running integration tests

make test-integration

Invoking tests for a specific app

APP=<APP> make test-integration

Invoking specific test files

TEST_FILES="/abs/path/to/some_test.js /abs/path/to/other_test.js" make test-integration
Running tests on device

You can run tests on device by plugging in your phone and adding the BUILDAPP=device to the make command:

BUILDAPP=device make test-integration

More things

  • VERBOSE=1 pipes gecko logs to your command line process for debugging.

Build System Tests

Build system has its own unit test and integration test. Both are running on Node.js

Build System Unit Tests

To run unit test locally, using following command:

$ make build-test-unit

Build System Integration Tests

To run integration test locally, using following command:

$ make build-test-integration

Invoking specific test files

Both the build unit or integration test can invoke specific test files by TEST_FILES

make build-test-unit TEST_FILES=<test file path>
make build-test-integration TEST_FILES=<test file path>

For example, we could run the keyboard_test.js build integration test in keyboard app with the below command.

make build-test-integration TEST_FILES=apps/keyboard/test/build/integration/keyboard_test.js

If you would like to run more than one test, we could do the below command.

make build-test-integration TEST_FILES="apps/keyboard/test/build/integration/keyboard_test.js apps/keyboard/test/build/integration/keyboard_layout_test.js"

Generate JSDOC

To generate API reference locally, run make docs command to generate docs. The generated per app API docs will be located in docs folder.

You could generate single app doc with this:

$ gulp jsdoc:system

More Repositories

1

B2G

DEPRECATED - Boot to Gecko aims to create a complete, standalone operating system for the open web.
Shell
1,098
star
2

moztt

DEPRECATED - Fonts used on FirefoxOS
Makefile
101
star
3

b2g-manifest

DEPRECATED - Repo manifests for building B2G
Shell
65
star
4

caldav

DEPRECATED - Calendar Protocols
JavaScript
60
star
5

Gaia-UI-Building-Blocks

DEPRECATED - UI Building Blocks for Mozilla Boot to Gecko Gaia project
CSS
48
star
6

i2c-tools

DEPRECATED - git conversion of http://lm-sensors.org/svn/i2c-tools subversion repo.
C
41
star
7

busybox

DEPRECATED - Fork of git://android.git.linaro.org/platform/external/busybox.git
C
40
star
8

gaia-email-libs-and-more

DEPRECATED - E-mail libraries for the Firefox OS Gaia E-mail client
JavaScript
39
star
9

npm-mirror

DEPRECATED - A utility for mirroring a subset of npm packages from another npm registry
JavaScript
37
star
10

jsas

DEPRECATED - A Javascript ActiveSync library
JavaScript
34
star
11

gonk-misc

DEPRECATED - Random parts that make gonk work
C++
33
star
12

b2g-installer

DEPRECATED - Tools to easily flash b2g on your android phone
JavaScript
29
star
13

firefoxos-loop-client

DEPRECATED - Firefox OS client for the Loop service
JavaScript
28
star
14

marionette-js-client

DEPRECATED - Marionette JS Client
22
star
15

valgrind

DEPRECATED - git-svn copy of the valgrind subversion repo. Firefox OS specific patches applied in "fxos" branch.
C
22
star
16

rilproxy

DEPRECATED
C
21
star
17

exif-parser

DEPRECATED - Amazing exif parser
JavaScript
19
star
18

mozilla-download

DEPRECATED - Download firefox / b2g-desktop / mulet
JavaScript
15
star
19

android-device-galaxys2

DEPRECATED
Shell
13
star
20

MozITP

DEPRECATED - The Mozilla Integrated Tool Package
Shell
11
star
21

B2GOS-community

DEPRECATED - Tasks management for the B2G OS working groups
11
star
22

gecko-tablet

DEPRECATED - A version of Gecko for Project Tablet - a simple tablet dedicated to browsing the web https://wiki.mozilla.org/Connected_Devices/Projects/Project_Tablet
11
star
23

android-device-crespo

DEPRECATED - Fork of https://android.googlesource.com/device/samsung/crespo glue/gonk-ics/device/samsung/crespo
C
10
star
24

device-rpi

DEPRECATED - Gonk definition of Raspberry Pi build target.
Shell
10
star
25

android-device-otoro

DEPRECATED
Shell
9
star
26

kernel-android-galaxy-s2-ics

DEPRECATED - A copy of the samsung galaxy s2 ICS kernel
C
9
star
27

preload-app-toolkit

DEPRECATED
Python
8
star
28

android-device-panda

DEPRECATED
C
8
star
29

device-flame

DEPRECATED
Shell
8
star
30

marionette-firefox-host

DEPRECATED - Spawn a child process running a configurable instance of desktop Firefox.
JavaScript
8
star
31

js-test-agent

Client Side javascript test executor
JavaScript
8
star
32

fxos-device-service

DEPRECATED - A RESTful web service that exposes interactions with a connected Firefox OS device
JavaScript
7
star
33

mozilla-get-url

DEPRECATED - Find the url where a given mozilla product lives for all kinds of branches / releases / pre-releases
JavaScript
7
star
34

platform_external_bluetooth_bluedroid

DEPRECATED - Forked from https://android.googlesource.com/platform/external/bluetooth/bluedroid
C
6
star
35

mail-fakeservers

DEPRECATED
JavaScript
6
star
36

gonk-ics-manifest

DEPRECATED
6
star
37

qa-testcase-data

DEPRECATED - Repo to house QA's testcase data
HTML
6
star
38

jswbxml

DEPRECATED - A Javascript library to read/write WBXML
JavaScript
6
star
39

sockit-to-me

DEPRECATED - A synchronous socket API for node.js and Marionette
6
star
40

mozilla-profile-builder

DEPRECATED - Create profiles for b2g-desktop / firefox
5
star
41

b2g-toolchains

DEPRECATED - Prebuilt toolchains for building b2g
C
5
star
42

marionette-apps

DEPRECATED - A node library that manages Firefox OS applications through Marionette.
5
star
43

fxos-certsuite

DEPRECATED - Tests and tools to verify the functionality and characteristics of Firefox OS on real devices.
HTML
5
star
44

gaia-node-modules

ARCHIVED - May have out of date dependencies. Node modules for gaia.
4
star
45

marketplace-tv-front-end

DEPRECATED - Marketplace front-end for Firefox OS TV
JavaScript
4
star
46

device-inari

DEPRECATED
Shell
4
star
47

bzlite

DEPRECATED - A mobile friends version of Bugzilla
JavaScript
4
star
48

android-development

DEPRECATED - Fork to allow local modifications
C
4
star
49

marionette-js-runner

DEPRECATED - High level test framework and runner for marionette js client
4
star
50

android-hardware-ril

DEPRECATED - Fork to enable local modifications
C++
4
star
51

automation-projects

DEPRECATED - Currently fairly random set of projects to make b2g better
4
star
52

mozbench

DEPRECATED - Browser benchmark automation
JavaScript
3
star
53

b2g-installer-builds

DEPRECATED - Store metadata about avaiable builds installable by b2g-installer
3
star
54

libnfcemu

DEPRECATED - NFC emulator library
C
3
star
55

mozilla-detect-os

DEPRECATED - Detect the correct operating system name for your computer (for mozilla downloads)
JavaScript
3
star
56

hardware_qcom_display

DEPRECATED - Fork of https://www.codeaurora.org/gitweb/quic/la//platform/hardware/qcom/display.git
C++
3
star
57

gaia-specs

DEPRECATED - The latest UX wireframes and specifications for Firefox OS.
3
star
58

gaia-botio-scripts

DEPRECATED - botio scripts for gaia
JavaScript
3
star
59

initramfs-galaxy-s2-ics

DEPRECATED - CWM derived recovery for Galaxy S2 ICS that boots B2G
Shell
3
star
60

android-hardware_legacy

DEPRECATED - Fork to enable local modifications
C++
3
star
61

gecko-partner

DEPRECATED - Partner repo for b2g - from https://git.mozilla.org/releases/gecko.git
3
star
62

classic-homescreen

DEPRECATED - The classic FirefoxOS horizontal home screen.
JavaScript
3
star
63

gaia-taskenv

DEPRECATED - [DEPRECATED] Docker Image for gaia
Shell
2
star
64

platform_system_netd

DEPRECATED
C++
2
star
65

marionette-b2gdesktop-host

DEPRECATED - B2G Desktop host for marionette-js-runner
JavaScript
2
star
66

minimal_prebuilt

DEPRECATED - A copy of https://android.googlesource.com/platform/prebuilt with just the parts we need
C
2
star
67

platform_prebuilt

DEPRECATED - Fork to enable local modifications
C
2
star
68

platform_external_opensans

DEPRECATED - Open Sans font with Android.mk
2
star
69

android-system-vold

DEPRECATED - fork to enable local modifications git://android.git.linaro.org/platform/system/vold.git
C++
2
star
70

platform_system_bluetoothd

DEPRECATED - Bluedroid daemon
C
2
star
71

device-hammerhead

DEPRECATED - Forked from https://android.googlesource.com/device/lge/hammerhead/
C
2
star
72

gonk-patches

DEPRECATED - These are patches to Gonk Libraries which we care about
Shell
2
star
73

dogdish

DEPRECATED - Web app to handle update.xml generation for B2G dogfood updates
Python
2
star
74

adb-push

DEPRECATED - A fork of adb that only pushes
C
2
star
75

device-flatfish

DEPRECATED
Shell
2
star
76

vendor_broadcom_wlan

DEPRECATED
C
1
star
77

mozilla-runner

DEPRECATED - Run and manipulate firefox / b2g runtimes.
1
star
78

device-shinano

DEPRECATED
Shell
1
star
79

android-device-tuna

DEPRECATED - Fork of https://android.googlesource.com/device/samsung/tuna
C
1
star
80

mocha-tbpl-reporter

DEPRECATED - Mocha reporter for TBPL (tinderboxpushlog)
1
star
81

b2g-dashboard

DEPRECATED - B2G Smoketests dashboard
JavaScript
1
star
82

screencap-gonk

DEPRECATED - Android screencap fork for gonk
C++
1
star
83

device_generic_goldfish

DEPRECATED
C++
1
star
84

device-leo

DEPRECATED
Shell
1
star
85

android-device-maguro

DEPRECATED - Fork of https://android.googlesource.com/device/samsung/maguro
Shell
1
star
86

device-mako

DEPRECATED - Forked from https://android.googlesource.com/device/lge/mako
C
1
star
87

marionette-plugin-forms

DEPRECATED
1
star
88

librecovery

DEPRECATED - A high level API for using the recovery partition
C
1
star
89

marionette-content-script

DEPRECATED
1
star
90

vex

DEPRECATED - Mirror of VEX valgrind library repository
C
1
star
91

fairphone2_kernel_lk

DEPRECATED - Bootloader lk kernel repository from Fairphone: http://code.fairphone.com
C
1
star
92

device-shinano-common

DEPRECATED
Shell
1
star
93

platform_external_libnfc-pn547

DEPRECATED
C
1
star
94

casting-tutorial

DEPRECATED - The tutorial code for TV new feature of Casting Video from Fennec to TV
JavaScript
1
star
95

haida-planning

DEPRECATED - Haida Technial discussion and UX overview
1
star
96

b2gmonkey

Automated monkey testing for Firefox OS
Python
1
star
97

brcm_usrlib_dag

DEPRECATED
C
1
star
98

marionette-extension

DEPRECATED - Marionette in gecko extension form
JavaScript
1
star
99

platform_frameworks_wilhelm

DEPRECATED - Forked from https://android.googlesource.com/platform/frameworks/wilhelm
C
1
star
100

mocha-json-proxy

DEPRECATED - Mocha proxy reporting
1
star