aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/androidTest/java
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-09-03 17:11:07 -0700
committerKenny Root <kenny@the-b.org>2015-09-03 17:11:07 -0700
commit7896a7841bbcc215e1deb6476e3d63de91e1e207 (patch)
treefe3775ab23f116fb35849db33018f48ed383e8c2 /app/src/androidTest/java
parent44c7bcfa9f7ae69fa481b100bcfba5e1387eee9c (diff)
parent8b2be1634e0b08579453a2dd8a5dbd04c8ee29fb (diff)
downloadconnectbot-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.java34
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);
+ }
+}