diff options
author | Kenny Root <kenny@the-b.org> | 2015-09-03 17:11:07 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-09-03 17:11:07 -0700 |
commit | 7896a7841bbcc215e1deb6476e3d63de91e1e207 (patch) | |
tree | fe3775ab23f116fb35849db33018f48ed383e8c2 /app/src/androidTest/java | |
parent | 44c7bcfa9f7ae69fa481b100bcfba5e1387eee9c (diff) | |
parent | 8b2be1634e0b08579453a2dd8a5dbd04c8ee29fb (diff) | |
download | connectbot-7896a7841bbcc215e1deb6476e3d63de91e1e207.tar.gz connectbot-7896a7841bbcc215e1deb6476e3d63de91e1e207.tar.bz2 connectbot-7896a7841bbcc215e1deb6476e3d63de91e1e207.zip |
Merge pull request #182 from kruton/fix-jacoco
Fix JaCoCo usage with connected tests
Diffstat (limited to 'app/src/androidTest/java')
-rw-r--r-- | app/src/androidTest/java/org/connectbot/FixJacocoTestRunner.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/src/androidTest/java/org/connectbot/FixJacocoTestRunner.java b/app/src/androidTest/java/org/connectbot/FixJacocoTestRunner.java new file mode 100644 index 0000000..fbadb9b --- /dev/null +++ b/app/src/androidTest/java/org/connectbot/FixJacocoTestRunner.java @@ -0,0 +1,34 @@ +/* + * This class comes from a StackOverflow post: + * http://stackoverflow.com/questions/30337375/empty-jacoco-report-for-android-espresso/31600193#31600193 + * + * This should be fixed in com.android.test.support:runner:0.4 and this class can be removed. + */ +package org.connectbot; + +import android.os.Bundle; +import android.support.test.runner.AndroidJUnitRunner; +import android.util.Log; + +import java.lang.reflect.Method; + +public class FixJacocoTestRunner extends AndroidJUnitRunner { + + static { + System.setProperty("jacoco-agent.destfile", "/data/data/" + BuildConfig.APPLICATION_ID + "/coverage.ec"); + } + + @Override + public void finish(int resultCode, Bundle results) { + try { + Class rt = Class.forName("org.jacoco.agent.rt.RT"); + Method getAgent = rt.getMethod("getAgent"); + Method dump = getAgent.getReturnType().getMethod("dump", boolean.class); + Object agent = getAgent.invoke(null); + dump.invoke(agent, false); + } catch (Throwable e) { + Log.d("JACOCO", e.getMessage()); + } + super.finish(resultCode, results); + } +} |