aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-12-10 09:59:29 -0800
committerTor Norbye <tnorbye@google.com>2012-12-10 09:59:29 -0800
commitcb5ac70c3e5587fc3904ea742ca9460c3ced40c2 (patch)
treeb73924a7b454d7895fe2807045a132664be3e55d
parent3218678f854c47524fa80560fde53b7914f0d81b (diff)
downloadsdk-cb5ac70c3e5587fc3904ea742ca9460c3ced40c2.zip
sdk-cb5ac70c3e5587fc3904ea742ca9460c3ced40c2.tar.gz
sdk-cb5ac70c3e5587fc3904ea742ca9460c3ced40c2.tar.bz2
Unit test fix: make tests more resilient to test jar location
Also handle case where $ANDROID_BUILD_TOP is set better. Change-Id: Ib39f275417738af9145697e19f4de085255c1655
-rw-r--r--lint/cli/src/test/java/com/android/tools/lint/checks/AbstractCheckTest.java17
-rw-r--r--lint/cli/src/test/java/com/android/tools/lint/checks/JavaPerformanceDetectorTest.java10
2 files changed, 16 insertions, 11 deletions
diff --git a/lint/cli/src/test/java/com/android/tools/lint/checks/AbstractCheckTest.java b/lint/cli/src/test/java/com/android/tools/lint/checks/AbstractCheckTest.java
index d54962a..f57fb9c 100644
--- a/lint/cli/src/test/java/com/android/tools/lint/checks/AbstractCheckTest.java
+++ b/lint/cli/src/test/java/com/android/tools/lint/checks/AbstractCheckTest.java
@@ -376,18 +376,15 @@ public abstract class AbstractCheckTest extends SdkTestCase {
try {
File dir = new File(location.toURI());
assertTrue(dir.getPath(), dir.exists());
- File rootDir = dir.getParentFile().getParentFile().getParentFile()
- .getParentFile().getParentFile().getParentFile();
-
- // check if "settings.gradle" is there. This will let us know if we need
- // to go up one extra level, which is the case when running the tests
- // from gradle.
- File settingsGradle = new File(rootDir, "settings.gradle"); //$NON-NLS-1$
- if (settingsGradle.isFile()) {
- rootDir = rootDir.getParentFile();
+ while (dir != null) {
+ File settingsGradle = new File(dir, "settings.gradle"); //$NON-NLS-1$
+ if (settingsGradle.exists()) {
+ return dir.getParentFile();
+ }
+ dir = dir.getParentFile();
}
- return rootDir;
+ return null;
} catch (URISyntaxException e) {
fail(e.getLocalizedMessage());
}
diff --git a/lint/cli/src/test/java/com/android/tools/lint/checks/JavaPerformanceDetectorTest.java b/lint/cli/src/test/java/com/android/tools/lint/checks/JavaPerformanceDetectorTest.java
index 9705dff..5d47c5c 100644
--- a/lint/cli/src/test/java/com/android/tools/lint/checks/JavaPerformanceDetectorTest.java
+++ b/lint/cli/src/test/java/com/android/tools/lint/checks/JavaPerformanceDetectorTest.java
@@ -26,6 +26,7 @@ public class JavaPerformanceDetectorTest extends AbstractCheckTest {
}
public void test() throws Exception {
+ boolean isInAospEnvironment = System.getenv("ANDROID_BUILD_TOP") != null;
assertEquals(
"src/test/pkg/JavaPerformanceTest.java:28: Warning: Avoid object allocations during draw/layout operations (preallocate and reuse instead) [DrawAllocation]\n" +
" new String(\"foo\");\n" +
@@ -66,6 +67,12 @@ public class JavaPerformanceDetectorTest extends AbstractCheckTest {
"src/test/pkg/JavaPerformanceTest.java:190: Warning: Use new SparseIntArray(...) instead for better performance [UseSparseArrays]\n" +
" new SparseArray<Integer>(); // Use SparseIntArray instead\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
+
+ (isInAospEnvironment ?
+ "src/test/pkg/JavaPerformanceTest.java:191: Warning: Use new SparseLongArray(...) instead for better performance [UseSparseArrays]\n" +
+ " new SparseArray<Long>(); // Use SparseLongArray instead\n" +
+ " ~~~~~~~~~~~~~~~~~~~~~~~\n" : "") +
+
"src/test/pkg/JavaPerformanceTest.java:192: Warning: Use new SparseBooleanArray(...) instead for better performance [UseSparseArrays]\n" +
" new SparseArray<Boolean>(); // Use SparseBooleanArray instead\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
@@ -90,7 +97,8 @@ public class JavaPerformanceDetectorTest extends AbstractCheckTest {
"src/test/pkg/JavaPerformanceTest.java:150: Warning: Use Double.valueOf(1.0) instead [UseValueOf]\n" +
" Double d1 = new Double(1.0);\n" +
" ~~~~~~~~~~~~~~~\n" +
- "0 errors, 21 warnings\n",
+ (isInAospEnvironment ?
+ "0 errors, 22 warnings\n" : "0 errors, 21 warnings\n"),
lintProject("src/test/pkg/JavaPerformanceTest.java.txt=>" +
"src/test/pkg/JavaPerformanceTest.java"));