DO NOT MERGE: Only test up to 140 long file names.
test_mkdirs pretends to test creating many directories but it is in fact
testing for a very long file name.
Example directory name it was creating looks like:
/data/data/android.core.tests.runner/cache/harmony-test-FileTest/1/0...
(with lots of 0s).
TEST=cts-tradefed
run cts -p android.core.tests.libcore.package.harmony_java_io
BUG=27370759
Change-Id: I7ee631de83425bbe91d28c7bd06d7f799ec5dc6d
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/io/FileTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/io/FileTest.java
index 77812ed..0af5182 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/io/FileTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/io/FileTest.java
@@ -1768,7 +1768,12 @@
while (dir.getCanonicalPath().length() < 256) {
sb2.append(0);
dir = new File(sb2.toString());
- assertTrue("mkdir " + dir.getCanonicalPath().length() + " failed",
+ if (dir.getName().length() > 140) {
+ // Split a long file name that is > 140 chars
+ sb2.append(File.separator);
+ }
+ assertTrue("mkdir " + dir.getCanonicalPath() + " " +
+ dir.getCanonicalPath().length() + " failed",
dir.mkdir());
assertTrue("mkdir " + dir.getCanonicalPath().length()
+ " worked but exists check failed", dir.exists());