# 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 You must have compiled and executed one of the Oboe examples or OboeTester. That ensures that the NDK and cmake is installed. 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 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 Now we need to 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 You may need to enter \ 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. See `run_tests.sh` for more documentation