AutomatedTesting

This page describes the automated testing for Ubuntu Touch Telephony.

Touch Emulator

qemu

The AOSP external qemu project includes an emulation of a AT-based GSM modem. This includes a very basic SIM filesystem ( read-only? ), and support for limited voice, SMS, and GPRS. Emulator console commands allow the modem state to be manipulated in order to simulate incoming voice calls, SMS, ...

There are two directories in the qemu project which of are interest to telephony:

android

The file console.c contains the code that processes console commands ( ie. gsm call ).

telephony

This telephony directory contains the bulk of the emulated GSM modem code.

reference-ril

The reference-ril is a subproject of the AOSP ril repository. It's a basic AT-modem based implementation that's used by the emulator in tandem with the qemu GSM emulator to provide basic telephony services.

mock-ril

ril-mock was a ril sub-project included in the AOSP tree up until KitKat (4.4) when it was removed. Building it produced a standard ril library that could loaded by the standard libril wrapper. The core of mock-ril was a Javascript based implementation, mock-ril.js. The state of the mock-ril could be modified by sending messages from another computer to port 54312 to the ctrlServer, a Worker in In mock-ril.js.

No further investigation of mock-ril was done after the discovery that a) it wasn't used by the Android emulator and b) it was deprecated and removed from the AOSP during KitKat development.

umockdev

Setup

Proper testing of ofono/rilmodem requires ensuring that external system components that normally interact with ofono ( NetworkManger, telepathy-ofono, ... ) be disabled and/or prevented from using ofono's DBus APIs while testing is in-progress.

NetworkManager

NetworkManager can be stopped manually before testing ( as root: stop network-manager ), or via an upstart override job.

telepathy-ofono

telepathy-ofono can be disabled by running the following command ( as the phablet user ), which disables the ofono mission-control account, and thus prevents telepathy-ofono from interating with ofono:

$ mc-tool disable ofono/ofono/account0

Touch/Telephony/AutomatedTesting (last edited 2013-12-23 22:52:00 by 209-6-52-44)