Allow the tests to pass files with non .kt extension to the kotlin compiler

With the IntelliJ Kotlin plugin enabled this will allow Kotlin files in
the source tree which does not compile as long as their extension is not .kt

Change-Id: I4eeb62c02fb0ff5b69a92079b419d6a07ba8216e
diff --git a/src/test/java/com/android/tools/r8/KotlinCompilerTool.java b/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
index 2b6cd3c..4a94ac1 100644
--- a/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
+++ b/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
@@ -86,6 +86,30 @@
     return this;
   }
 
+  public KotlinCompilerTool addSourceFilesWithNonKtExtension(TemporaryFolder temp, Path... files) {
+    return addSourceFilesWithNonKtExtension(temp, Arrays.asList(files));
+  }
+
+  public KotlinCompilerTool addSourceFilesWithNonKtExtension(
+      TemporaryFolder temp, Collection<Path> files) {
+    return addSourceFiles(
+        files.stream()
+            .map(
+                fileNotNamedKt -> {
+                  try {
+                    // The Kotlin compiler does not require particular naming of files except for
+                    // the extension,
+                    // so just create a file called source.kt in a new directory.
+                    Path fileNamedKt = temp.newFolder().toPath().resolve("source.kt");
+                    Files.copy(fileNotNamedKt, fileNamedKt);
+                    return fileNamedKt;
+                  } catch (IOException e) {
+                    throw new RuntimeException(e);
+                  }
+                })
+            .collect(Collectors.toList()));
+  }
+
   public KotlinCompilerTool addClasspathFiles(Path... files) {
     return addClasspathFiles(Arrays.asList(files));
   }
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 9b2f89b..d3bc8da 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -716,6 +716,10 @@
     return dataResources;
   }
 
+  protected static Path getFileInTest(String folder, String fileName) {
+    return Paths.get(ToolHelper.TESTS_DIR, "java", folder, fileName);
+  }
+
   /**
    * Create a temporary JAR file containing all test classes in a package.
    */
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInSealedClassTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInSealedClassTest.java
index b643c4b..57cd84c 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInSealedClassTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInSealedClassTest.java
@@ -148,7 +148,8 @@
     ProcessResult kotlinTestCompileResult =
         kotlinc(parameters.getRuntime().asCf(), KOTLINC, targetVersion)
             .addClasspathFiles(libJar)
-            .addSourceFiles(getKotlinFileInTest(PKG_PREFIX + "/sealed_app", "invalid"))
+            .addSourceFilesWithNonKtExtension(
+                temp, getFileInTest(PKG_PREFIX + "/sealed_app", "invalid.kt_txt"))
             .setOutputPath(temp.newFolder().toPath())
             .compileRaw();
 
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/sealed_app/invalid.kt b/src/test/java/com/android/tools/r8/kotlin/metadata/sealed_app/invalid.kt_txt
similarity index 100%
rename from src/test/java/com/android/tools/r8/kotlin/metadata/sealed_app/invalid.kt
rename to src/test/java/com/android/tools/r8/kotlin/metadata/sealed_app/invalid.kt_txt