Thursday, September 25, 2014

Software Freedom Day Utrecht

Last Saturday, I attended the Software Freedom Day gathering in Utrecht
Me and Tim-Maks van den Broek went there and gave some demos with the FirefoxOS Flame devices. It was really nice to meet other people from other open source projects and to speak with some open source enthusiasts, in general.

Wednesday, September 17, 2014

How to apply a patch in git e.g. merge a pull request

git remote add zacc https://github.com/zacc/gaia.git
git branch zacc
git checkout zacc
git fetch zacc
git checkout -b bug_1060381 zacc/bug_1060381

git status
# On branch zacc
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
# .idea/
# tests/python/gaia-ui-tests/gaiatest/gecko.log
# tests/python/gaia-ui-tests/gaiatest/testvars.json
# xulrunner-sdk-30/
# xulrunner-sdk-33/
nothing added to commit but untracked files present (use "git add" to track)

git remote -v
origin https://github.com/mozilla-b2g/gaia.git (fetch)
origin https://github.com/mozilla-b2g/gaia.git (push)
zacc https://github.com/zacc/gaia.git (fetch)
zacc https://github.com/zacc/gaia.git (push)

Thursday, September 4, 2014

Automated testing in FirefoxOS

Here on MDN the various automated testing methods for FirefoxOS are explained, but it can still be confusing. So let me write down what I know about it.
This is the list that is given on MDN:
  • Gaia UI tests Python tests for Gaia UI interactions and features.
  • Gaia integration tests JavaScript integration tests for Gaia, based on Marionette.
  • Gaia unit tests Gaia unit tests with no UI interaction; written in JavaScript, not Marionette-based.
  • Gaia performance tests Measures Gaia app performance based on internal instrumentation. The testing harness is in-tree.

Some random notes from me:
  • Marionette tests == MarionetteJS tests == integration tests
  • Gaia UI tests and MarionetteJS tests are doing the same kind of testing. But Gaia UI tests also run on device (on tbpl), while MarionetteJS test only run on desktop currently. The goals is to get rid of Gaia UI tests and only use MarionetteJS tests, eventually.
  • Invoke MarionetteJS test: make test-integration-test TEST_FILES=./apps/clock/test/marionette/timer_test.js
  • Invoke Gaia UI test on desktop: GAIATEST_SKIP_WARNING=1 gaiatest --binary $HOME/B2G/gaia/B2G/Contents/MacOS/b2g-bin --profile $HOME/B2G/gaia/profile --testvars /Users/mwargers/B2G/gaia/tests/python/gaia-ui-tests/gaiatest/testvars.json --restart --type b2g /Users/mwargers/B2G/gaia/tests/python/gaia-ui-tests/gaiatest/tests/accessibility/phone/test_a11y_phone_edit_contact.py

Tuesday, September 2, 2014

MSISDN api and testing

The MSISDN api can be pretty difficult to understand. There are a whole bunch of different pieces (server-side and client-side) to the puzzle.

https://github.com/mozilla-services/msisdn-gateway/blob/master/API.md is currently the best documentation where this api and its flow is described.
This all ties in with the Firefox Loop project.

Some other links surrounding MSISDN and its testing: