# Oboe Unit Tests This directory contains the Oboe unit tests. They are run using the bash script `run_tests.sh`. The basic operation is: 1. Connect an Android device or start the Android emulator 2. Open a terminal window and execute `run_tests.sh` ## Prerequisites/caveats 1. Java JDK installed. 2. On Mac, you must agree to the XCode license. The script will prompt you. 3. You must have compiled and executed one of the Oboe examples or OboeTester. That ensures that the NDK and cmake is installed. 4. You must define `ANDROID_NDK` as an environment variable and make sure `cmake` is on your path. To test this on Mac or Linux enter: echo $ANDROID_HOME echo $ANDROID_NDK cmake --version They may already be set. If so then skip to "Running the Tests" below. If not, then this may work on Mac OS: export ANDROID_HOME=$HOME/Library/Android/sdk or this may work on Linux: export ANDROID_HOME=$HOME/Android/Sdk Tadb rooto determine the latest installed version of the NDK. Enter: ls $ANDROID_HOME/ndk Make note of the folder name. Mine was "21.3.6528147" so I entered: export ANDROID_NDK=$ANDROID_HOME/ndk/21.3.6528147/ If you need to add `cmake` to your path then you can find it by entering: ls $ANDROID_HOME/cmake Make note of the folder name. Mine was "3.10.2.4988404" so I entered: export PATH=$PATH:$ANDROID_HOME/cmake/3.10.2.4988404/bin cmake --version ## Running the Tests To run the tests, enter: cd tests ./run_tests.sh When the tests finish, you may need to enter \<control-c\> to exit the script. If you get this error: com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.google.oboe.tests.unittestrunner signatures do not match previously installed version; ignoring! then uninstall the app "UnitTestRunner" from the Android device. Or try: adb root adb remount -R See `run_tests.sh` for more documentation