19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage junit.runner;
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A TestSuite loader that can reload classes.
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} - Not needed for 1.0 SDK
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class ReloadingTestSuiteLoader implements TestSuiteLoader {
8f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot
9f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    public Class load(String suiteClassName) throws ClassNotFoundException {
10f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot        return createLoader().loadClass(suiteClassName, true);
11f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    }
12f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot
13f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    public Class reload(Class aClass) throws ClassNotFoundException {
14f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot        return createLoader().loadClass(aClass.getName(), true);
15f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    }
16f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot
17f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    protected TestCaseClassLoader createLoader() {
18f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot        return new TestCaseClassLoader();
19f1253cd68a1ef45f4bb0c15d3e2834ca8f91e03fBrett Chabot    }
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
21