From 8e60ccb650ba4af516687558fe365540a92a1630 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 17 Jun 2015 04:27:03 +0200 Subject: workaround for coverage bug (for now!) see android bug report https://code.google.com/p/android/issues/detail?id=170607 --- .../keychain/JacocoWorkaroundJUnitRunner.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/JacocoWorkaroundJUnitRunner.java (limited to 'OpenKeychain/src/androidTest') diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/JacocoWorkaroundJUnitRunner.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/JacocoWorkaroundJUnitRunner.java new file mode 100644 index 000000000..b310ed5b8 --- /dev/null +++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/JacocoWorkaroundJUnitRunner.java @@ -0,0 +1,29 @@ +package org.sufficientlysecure.keychain; + + +import java.lang.reflect.Method; + +import android.os.Bundle; +import android.support.test.runner.AndroidJUnitRunner; + + +public class JacocoWorkaroundJUnitRunner 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 (Exception e) { + e.printStackTrace(); + } + super.finish(resultCode, results); + } +} \ No newline at end of file -- cgit v1.2.3