aboutsummaryrefslogtreecommitdiff
path: root/builder
diff options
context:
space:
mode:
authorRaphael Moll <ralf@android.com>2012-12-21 15:18:53 -0800
committerRaphael Moll <ralf@android.com>2012-12-21 15:18:53 -0800
commita544e4876ab0e0e1e996955993c4f6ecd8d06192 (patch)
tree99a34a405b3e46f015604f2f31dec1a9872f754a /builder
parenta0445c1f9dd3e807e0aedc2163857332a9c303f3 (diff)
downloadbuild-a544e4876ab0e0e1e996955993c4f6ecd8d06192.tar.gz
Fix build tests under Windows.
Change-Id: I27bce90c5a8b05bc149b4a3d8a9a113d74b050e8
Diffstat (limited to 'builder')
-rwxr-xr-x[-rw-r--r--]builder/src/main/java/com/android/builder/resources/ResourceMerger.java10
-rwxr-xr-x[-rw-r--r--]builder/src/main/java/com/android/builder/resources/ResourceSet.java8
-rw-r--r--builder/src/test/java/com/android/builder/internal/incremental/FileManagerTest.java7
-rwxr-xr-x[-rw-r--r--]builder/src/test/java/com/android/builder/resources/ResourceMergerTest.java35
4 files changed, 50 insertions, 10 deletions
diff --git a/builder/src/main/java/com/android/builder/resources/ResourceMerger.java b/builder/src/main/java/com/android/builder/resources/ResourceMerger.java
index 96768c0..cc1fc7b 100644..100755
--- a/builder/src/main/java/com/android/builder/resources/ResourceMerger.java
+++ b/builder/src/main/java/com/android/builder/resources/ResourceMerger.java
@@ -42,6 +42,10 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.lang.ArrayStoreException;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -604,4 +608,10 @@ public class ResourceMerger implements ResourceMap {
throw new IOException("Failed to create directory: " + folder);
}
}
+
+
+ @Override
+ public String toString() {
+ return Arrays.toString(mResourceSets.toArray());
+ }
}
diff --git a/builder/src/main/java/com/android/builder/resources/ResourceSet.java b/builder/src/main/java/com/android/builder/resources/ResourceSet.java
index 20a08b4..1e48c45 100644..100755
--- a/builder/src/main/java/com/android/builder/resources/ResourceSet.java
+++ b/builder/src/main/java/com/android/builder/resources/ResourceSet.java
@@ -32,6 +32,9 @@ import org.w3c.dom.NodeList;
import java.io.File;
import java.io.IOException;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -636,4 +639,9 @@ public class ResourceSet implements SourceSet, ResourceMap {
return false;
}
+
+ @Override
+ public String toString() {
+ return Arrays.toString(mSourceFiles.toArray());
+ }
}
diff --git a/builder/src/test/java/com/android/builder/internal/incremental/FileManagerTest.java b/builder/src/test/java/com/android/builder/internal/incremental/FileManagerTest.java
index 182d584..78f182d 100644
--- a/builder/src/test/java/com/android/builder/internal/incremental/FileManagerTest.java
+++ b/builder/src/test/java/com/android/builder/internal/incremental/FileManagerTest.java
@@ -25,6 +25,7 @@ import junit.framework.TestCase;
import java.io.File;
import java.io.IOException;
+import java.util.regex.Matcher;
import java.util.Map;
public class FileManagerTest extends TestCase {
@@ -130,12 +131,12 @@ public class FileManagerTest extends TestCase {
String content = Files.toString(file, Charsets.UTF_8);
// search and replace $TOP$ with the root and $SEP$ with the platform separator.
- content = content.replaceAll("\\$TOP\\$", targetFolder.getAbsolutePath())
- .replaceAll("\\$SEP\\$", File.separator);
+ content = content.replaceAll("\\$TOP\\$", Matcher.quoteReplacement(targetFolder.getAbsolutePath()))
+ .replaceAll("\\$SEP\\$", Matcher.quoteReplacement(File.separator));
// now replace the additional placeholders
for (Map.Entry<String, String> entry : placeholders.entrySet()) {
- content = content.replaceAll(entry.getKey(), entry.getValue());
+ content = content.replaceAll(entry.getKey(), Matcher.quoteReplacement(entry.getValue()));
}
File tmp = File.createTempFile("android", "getDataFile");
diff --git a/builder/src/test/java/com/android/builder/resources/ResourceMergerTest.java b/builder/src/test/java/com/android/builder/resources/ResourceMergerTest.java
index cb11499..f3f2623 100644..100755
--- a/builder/src/test/java/com/android/builder/resources/ResourceMergerTest.java
+++ b/builder/src/test/java/com/android/builder/resources/ResourceMergerTest.java
@@ -16,6 +16,7 @@
package com.android.builder.resources;
+import com.android.SdkConstants;
import com.android.builder.TestUtils;
import com.android.resources.ResourceFolderType;
import com.android.resources.ResourceType;
@@ -31,9 +32,12 @@ import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
+import java.lang.String;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class ResourceMergerTest extends BaseTestCase {
@@ -75,6 +79,10 @@ public class ResourceMergerTest extends BaseTestCase {
"integer/integer"
);
}
+
+ private String getPlatformPath(String path) {
+ return path.replaceAll("/", Matcher.quoteReplacement(File.separator));
+ }
public void testReplacedLayout() throws Exception {
ResourceMerger merger = getResourceMerger();
@@ -87,7 +95,8 @@ public class ResourceMergerTest extends BaseTestCase {
Resource mainLayout = values.get(1);
ResourceFile sourceFile = mainLayout.getSource();
- assertTrue(sourceFile.getFile().getAbsolutePath().endsWith("overlay/layout/main.xml"));
+ assertTrue(sourceFile.getFile().getAbsolutePath()
+ .endsWith(getPlatformPath("overlay/layout/main.xml")));
}
public void testReplacedAlias() throws Exception {
@@ -548,14 +557,14 @@ public class ResourceMergerTest extends BaseTestCase {
public void testCheckValidUpdate() throws Exception {
// first merger
ResourceMerger merger1 = createMerger(new String[][] {
- new String[] { "main", "/main/res1", "/main/res2" },
- new String[] { "overlay", "/overlay/res1", "/overlay/res2" },
+ new String[] { "main", ("/main/res1"), ("/main/res2") },
+ new String[] { "overlay", ("/overlay/res1"), ("/overlay/res2") },
});
// 2nd merger with different order source files in sets.
ResourceMerger merger2 = createMerger(new String[][] {
- new String[] { "main", "/main/res2", "/main/res1" },
- new String[] { "overlay", "/overlay/res1", "/overlay/res2" },
+ new String[] { "main", ("/main/res2"), ("/main/res1") },
+ new String[] { "overlay", ("/overlay/res1"), ("/overlay/res2") },
});
assertTrue(merger1.checkValidUpdate(merger2.getResourceSets()));
@@ -568,7 +577,18 @@ public class ResourceMergerTest extends BaseTestCase {
ResourceMerger loadedMerger = new ResourceMerger();
loadedMerger.loadFromBlob(folder);
- assertTrue(loadedMerger.checkValidUpdate(merger1.getResourceSets()));
+ String expected = merger1.toString();
+ String actual = loadedMerger.toString();
+ if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS) {
+ expected = expected.replaceAll(Pattern.quote(File.separator), "/").
+ replaceAll("[A-Z]:/", "/");
+ actual = actual.replaceAll(Pattern.quote(File.separator), "/").
+ replaceAll("[A-Z]:/", "/");
+ assertEquals("Actual: " + actual + "\nExpected: " + expected, expected, actual);
+ } else {
+ assertTrue("Actual: " + actual + "\nExpected: " + expected,
+ loadedMerger.checkValidUpdate(merger1.getResourceSets()));
+ }
}
public void testCheckValidUpdateFail() throws Exception {
@@ -690,7 +710,8 @@ public class ResourceMergerTest extends BaseTestCase {
// search and replace $TOP$ with the root and $SEP$ with the platform separator.
content = content.replaceAll(
- "\\$TOP\\$", folder.getAbsolutePath()).replaceAll("\\$SEP\\$", File.separator);
+ "\\$TOP\\$", Matcher.quoteReplacement(folder.getAbsolutePath())).
+ replaceAll("\\$SEP\\$", Matcher.quoteReplacement(File.separator));
File tempFolder = Files.createTempDir();
Files.write(content, new File(tempFolder, ResourceMerger.FN_MERGER_XML), Charsets.UTF_8);