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());