diff options
4 files changed, 18 insertions, 1 deletions
diff --git a/sdksandbox/tests/testutils/testscenario/example/sdk/src/sdksandbox/testutils/testscenario/example/sdk/ExampleSandboxTest.java b/sdksandbox/tests/testutils/testscenario/example/sdk/src/sdksandbox/testutils/testscenario/example/sdk/ExampleSandboxTest.java index 50f75f03a2..112182cd59 100644 --- a/sdksandbox/tests/testutils/testscenario/example/sdk/src/sdksandbox/testutils/testscenario/example/sdk/ExampleSandboxTest.java +++ b/sdksandbox/tests/testutils/testscenario/example/sdk/src/sdksandbox/testutils/testscenario/example/sdk/ExampleSandboxTest.java @@ -27,4 +27,7 @@ public class ExampleSandboxTest extends SdkSandboxTestScenarioRunner { public void testExample() { assertTrue(true); } + + @Override + public void cleanUpOnTestFinish() {} } diff --git a/sdksandbox/tests/testutils/testscenario/testrule/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxScenarioRule.java b/sdksandbox/tests/testutils/testscenario/testrule/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxScenarioRule.java index 02ea3198f1..1ab8e481e1 100644 --- a/sdksandbox/tests/testutils/testscenario/testrule/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxScenarioRule.java +++ b/sdksandbox/tests/testutils/testscenario/testrule/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxScenarioRule.java @@ -159,6 +159,8 @@ public class SdkSandboxScenarioRule implements TestRule { // run "after methods" for clean up. Throwable afterFailure = runAfterTestMethods(); + mTestExecutor.cleanOnTestFinish(); + if (testFailure != null) { throw testFailure; } else if (afterFailure != null) { diff --git a/sdksandbox/tests/testutils/testscenario/testrunner/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxTestScenarioRunner.java b/sdksandbox/tests/testutils/testscenario/testrunner/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxTestScenarioRunner.java index 09938612d8..5725b7752f 100644 --- a/sdksandbox/tests/testutils/testscenario/testrunner/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxTestScenarioRunner.java +++ b/sdksandbox/tests/testutils/testscenario/testrunner/src/android/app/sdksandbox/testutils/testscenario/SdkSandboxTestScenarioRunner.java @@ -65,6 +65,10 @@ public abstract class SdkSandboxTestScenarioRunner extends SandboxedSdkProvider ISdkSandboxTestExecutor.Stub testExecutor = new ISdkSandboxTestExecutor.Stub() { + public void cleanOnTestFinish() { + cleanUpOnTestFinish(); + } + public List<String> retrieveAnnotatedMethods(String annotationName) { List<String> annotatedMethods = new ArrayList<>(); @@ -176,4 +180,7 @@ public abstract class SdkSandboxTestScenarioRunner extends SandboxedSdkProvider error.getCause().printStackTrace(errorWriter); return errorStackTrace.toString(); } + + public abstract void cleanUpOnTestFinish(); + } diff --git a/sdksandbox/tests/testutils/testscenario/textexecutor/src/android/app/sdksandbox/testutils/testscenario/ISdkSandboxTestExecutor.aidl b/sdksandbox/tests/testutils/testscenario/textexecutor/src/android/app/sdksandbox/testutils/testscenario/ISdkSandboxTestExecutor.aidl index 2d4cee4eae..27bffd9b3a 100644 --- a/sdksandbox/tests/testutils/testscenario/textexecutor/src/android/app/sdksandbox/testutils/testscenario/ISdkSandboxTestExecutor.aidl +++ b/sdksandbox/tests/testutils/testscenario/textexecutor/src/android/app/sdksandbox/testutils/testscenario/ISdkSandboxTestExecutor.aidl @@ -48,6 +48,11 @@ interface ISdkSandboxTestExecutor { * Invokes a method from within the SDK. */ - oneway void invokeMethod(String methodName, in Bundle params, + void invokeMethod(String methodName, in Bundle params, in ISdkSandboxResultCallback callback); + + /** + * Executed after each test finishes in assertSdkTestRunPasses. + */ + void cleanOnTestFinish(); } |