diff options
Diffstat (limited to 'libandroid_net_lowpan/tests/README.md')
-rw-r--r-- | libandroid_net_lowpan/tests/README.md | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libandroid_net_lowpan/tests/README.md b/libandroid_net_lowpan/tests/README.md new file mode 100644 index 0000000..0711cc1 --- /dev/null +++ b/libandroid_net_lowpan/tests/README.md @@ -0,0 +1,50 @@ +# libandroid_net_lowpan Unit Tests +This package contains unit tests for libandroid_net_lowpan based on the +[Android Testing Support Library](http://developer.android.com/tools/testing-support-library/index.html). +The test cases are built using the [JUnit](http://junit.org/) and [Mockito](http://mockito.org/) +libraries. + +## Running Tests +The easiest way to run tests is simply run + +``` +frameworks/opt/net/lowpan/libandroid_net_lowpan/tests/runtests.sh +``` + +`runtests.sh` will build the test project and all of its dependencies and push the APK to the +connected device. It will then run the tests on the device. + +To pick up changes in framework/base, you will need to: +1. rebuild the framework library 'make -j32' +2. sync over the updated library to the device 'adb sync' +3. restart framework on the device 'adb shell stop' then 'adb shell start' + +To enable syncing data to the device for first time after clean reflash: +1. adb disable-verity +2. adb reboot +3. adb remount + +See below for a few examples of options to limit which tests are run. +See the +[AndroidJUnitRunner Documentation](https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html) +for more details on the supported options. + +``` +runtests.sh -e package android.net.lowpan +runtests.sh -e class android.net.lowpan.LowpanIdentityTest +``` + +If you manually build and push the test APK to the device you can run tests using + +``` +adb shell am instrument -w 'android.net.lowpan.testnative/android.support.test.runner.AndroidJUnitRunner' +``` + +## Adding Tests +Tests can be added by adding classes to the src directory. JUnit4 style test cases can +be written by simply annotating test methods with `org.junit.Test`. + +## Debugging Tests +If you are trying to debug why tests are not doing what you expected, you can add android log +statements and use logcat to view them. The beginning and end of every tests is automatically logged +with the tag `TestRunner`. |