commit | 7f550d73bfb57c20d73ff2ba829741c0404ecc27 | [log] [tgz] |
---|---|---|
author | Nicolas Lacasse <nlacasse@google.com> | Thu Aug 06 15:26:29 2015 -0700 |
committer | Nicolas Lacasse <nlacasse@google.com> | Thu Aug 06 15:26:29 2015 -0700 |
tree | d8093665471eb9cae0f93f84c867bbaba158d5dc | |
parent | ba5c9014694d2f8c93555157e163630e4a4aed80 [diff] |
syncbase: Echo and syncbase tests run, pass, and exit reliably. The biggest issue was that when --enable-multiprocess is set (as it must be for Go/Mojo apps), closing the main application causes mojo_shell to crash. Not closing an application, however, causes mojo_shell to hang. The solution is to wait for the test reporter to finish, then close the application. mojo_shell still crashes, but the test harness is able to find the test reporter output and exit with the correct status code. Calling a "Quit" method in Syncbase made no difference. I got rid of the "Quit" method in the echo_server, since we weren't using it anyways. This brought a tear to my eye: Running dart/test/echo_test.dart.... Succeeded Running dart/test/syncbase_test.dart.... Succeeded Change-Id: Idd25d5369cd5dc19c572d2e7150b0e26253ab75d
This project exposes Syncbase as a Mojo service.
Read the architecture proposal.
You must have the Mojo repo in $MOJO_DIR
.
This section only needs to be run once.
See the Mojo readme for more comprehensive instructions.
Install depot tools.
Install Goma.
Put the following in your .bashrc
:
# NOTE: Actual locations depend on where you installed depot_tools and # goma. export PATH=${PATH}:${HOME}/dev/depot_tools export GOMA_DIR=${HOME}/goma export MOJO_DIR=${HOME}/mojo
$ mkdir $MOJO_DIR && cd $MOJO_DIR # NOTE: This step takes about 10 min. $ fetch mojo --target_os=android,linux # NOTE: This step also takes about 10 min. Furthermore, the script uses # 'sudo', so you will need to enter your password. $ cd src && ./build/install-build-deps.sh # Or, to include Android deps as well: $ cd src && ./build/install-build-deps-android.sh
This updates the Mojo repo to HEAD, and builds the Mojo resources needed to compile Ether.
Run this while you grab your morning coffee.
Start by updating the repo.
$ cd $MOJO_DIR/src $ git checkout master $ git pull $ gclient sync
Compile for Linux. Built resources will be in $MOJO_DIR/src/out/Debug
$ ./mojo/tools/mojob.py gn $ ./mojo/tools/mojob.py build # NOTE: This can take up to 10 minutes.
Compile for Android. Built resources will be in $MOJO_DIR/src/out/android_Debug
$ ./mojo/tools/mojob.py gn --android $ ./mojo/tools/mojob.py build --android # NOTE: This can take up to 10 minutes.
To run Dart apps, you must install the Dart SDK.
Googlers: http://go/install-dart External: https://www.dartlang.org/downloads/
Run the tests:
make test
This will run all tests listed in the tests
file in the root directory of this repo.
The following command will run a single test file. This is useful when the full test suite hangs with no output.
$(MOJO_DIR)/src/mojo/devtools/common/mojo_run -v --enable-multiprocess --shell-path $(MOJO_DIR)/src/out/Debug/mojo_shell dart/test/<filename>