summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/gallery3d/exif/ExifTestRunner.java
diff options
context:
space:
mode:
authorOwen Lin <owenlin@android.com>2012-08-14 23:29:26 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-14 23:29:27 -0700
commit64223e1a46eafaee0502c94dbac5637aeba9414e (patch)
treec9677760340f28d9d5ed6b42cfbb769e96f273fb /tests/src/com/android/gallery3d/exif/ExifTestRunner.java
parent9ef602b77ad0cc7aca49a05f39f193277e0e8ae7 (diff)
parente81de49429e1c29385baffc7ce17b7188badc49a (diff)
downloadandroid_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.tar.gz
android_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.tar.bz2
android_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.zip
Merge "A simple ExifReader and its test" into gb-ub-photos-arches
Diffstat (limited to 'tests/src/com/android/gallery3d/exif/ExifTestRunner.java')
-rw-r--r--tests/src/com/android/gallery3d/exif/ExifTestRunner.java35
1 files changed, 30 insertions, 5 deletions
diff --git a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java
index 7f7a228e5..022597d73 100644
--- a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java
+++ b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java
@@ -16,17 +16,22 @@
package com.android.gallery3d.exif;
+import android.test.InstrumentationTestCase;
import android.test.InstrumentationTestRunner;
import android.test.InstrumentationTestSuite;
+import android.util.Log;
import com.android.gallery3d.tests.R;
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class ExifTestRunner extends InstrumentationTestRunner {
+ private static final String TAG = "ExifTestRunner";
+
private static final int[] IMG_RESOURCE = {
R.raw.galaxy_nexus
};
@@ -37,16 +42,36 @@ public class ExifTestRunner extends InstrumentationTestRunner {
@Override
public TestSuite getAllTests() {
TestSuite suite = new InstrumentationTestSuite(this);
- for (Method method : ExifParserTest.class.getDeclaredMethods()) {
+ getAllTestFromTestCase(ExifParserTest.class, suite);
+ getAllTestFromTestCase(ExifReaderTest.class, suite);
+ return suite;
+ }
+
+ private void getAllTestFromTestCase(Class<? extends InstrumentationTestCase> testClass,
+ TestSuite suite) {
+ for (Method method : testClass.getDeclaredMethods()) {
if (method.getName().startsWith("test") && method.getParameterTypes().length == 0) {
for (int i = 0; i < IMG_RESOURCE.length; i++) {
- TestCase test = new ExifParserTest(IMG_RESOURCE[i], EXIF_DATA_RESOURCE[i]);
- test.setName(method.getName());
- suite.addTest(test);
+ TestCase test;
+ try {
+ test = testClass.getDeclaredConstructor(int.class, int.class).
+ newInstance(IMG_RESOURCE[i], EXIF_DATA_RESOURCE[i]);
+ test.setName(method.getName());
+ suite.addTest(test);
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, "Failed to create test case", e);
+ } catch (InstantiationException e) {
+ Log.e(TAG, "Failed to create test case", e);
+ } catch (IllegalAccessException e) {
+ Log.e(TAG, "Failed to create test case", e);
+ } catch (InvocationTargetException e) {
+ Log.e(TAG, "Failed to create test case", e);
+ } catch (NoSuchMethodException e) {
+ Log.e(TAG, "Failed to create test case", e);
+ }
}
}
}
- return suite;
}
@Override