diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/rules/TraceRule.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/rules/TraceRule.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/rules/TraceRule.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/rules/TraceRule.java new file mode 100644 index 0000000000..bba65b4476 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/rules/TraceRule.java @@ -0,0 +1,36 @@ +package com.mapbox.mapboxsdk.rules; + +import android.os.Trace; + +import org.junit.rules.ExternalResource; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; + +/** + * This rule enables {@link Trace Tracing} for each test. The section name + * used for the Trace API is the name of the test being run. + * <p> + * To enable AndroidTracing on a test simply add this rule like so and it will be enabled/disabled + * when the platform support for Tracing exists (API Level 18 or higher). + * <p> + */ +public class TraceRule extends ExternalResource { + + private String testName; + + @Override + public Statement apply(Statement base, Description description) { + testName = description.getMethodName(); + return super.apply(base, description); + } + + @Override + public void before() { + Trace.beginSection(testName); + } + + @Override + public void after() { + Trace.endSection(); + } +} |