diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinLambdaMergingTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinLambdaMergingTest.java
index 65dc98f..315e980 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinLambdaMergingTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinLambdaMergingTest.java
@@ -251,10 +251,10 @@
 
   @Test
   public void testTrivialKs() throws Exception {
-    final String mainClassName = "lambdas.kstyle.trivial.MainKt";
+    final String mainClassName = "lambdas_kstyle_trivial.MainKt";
     runTest("lambdas_kstyle_trivial", mainClassName, null, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/kstyle/trivial";
+      String pkg = "lambdas_kstyle_trivial";
 
       verifier.assertLambdaGroups(
           allowAccessModification ?
@@ -292,10 +292,10 @@
 
   @Test
   public void testCapturesKs() throws Exception {
-    final String mainClassName = "lambdas.kstyle.captures.MainKt";
+    final String mainClassName = "lambdas_kstyle_captures.MainKt";
     runTest("lambdas_kstyle_captures", mainClassName, null, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/kstyle/captures";
+      String pkg = "lambdas_kstyle_captures";
       String grpPkg = allowAccessModification ? "" : pkg;
 
       verifier.assertLambdaGroups(
@@ -317,10 +317,10 @@
 
   @Test
   public void testGenericsNoSignatureKs() throws Exception {
-    final String mainClassName = "lambdas.kstyle.generics.MainKt";
+    final String mainClassName = "lambdas_kstyle_generics.MainKt";
     runTest("lambdas_kstyle_generics", mainClassName, null, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/kstyle/generics";
+      String pkg = "lambdas_kstyle_generics";
       String grpPkg = allowAccessModification ? "" : pkg;
 
       verifier.assertLambdaGroups(
@@ -338,10 +338,10 @@
 
   @Test
   public void testInnerClassesAndEnclosingMethodsKs() throws Exception {
-    final String mainClassName = "lambdas.kstyle.generics.MainKt";
+    final String mainClassName = "lambdas_kstyle_generics.MainKt";
     runTest("lambdas_kstyle_generics", mainClassName, KEEP_INNER_AND_ENCLOSING, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/kstyle/generics";
+      String pkg = "lambdas_kstyle_generics";
       String grpPkg = allowAccessModification ? "" : pkg;
 
       verifier.assertLambdaGroups(
@@ -361,10 +361,10 @@
 
   @Test
   public void testGenericsSignatureInnerEnclosingKs() throws Exception {
-    final String mainClassName = "lambdas.kstyle.generics.MainKt";
+    final String mainClassName = "lambdas_kstyle_generics.MainKt";
     runTest("lambdas_kstyle_generics", mainClassName, KEEP_SIGNATURE_INNER_ENCLOSING, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/kstyle/generics";
+      String pkg = "lambdas_kstyle_generics";
       String grpPkg = allowAccessModification ? "" : pkg;
 
       verifier.assertLambdaGroups(
@@ -386,17 +386,17 @@
 
   @Test
   public void testTrivialJs() throws Exception {
-    final String mainClassName = "lambdas.jstyle.trivial.MainKt";
+    final String mainClassName = "lambdas_jstyle_trivial.MainKt";
     runTest("lambdas_jstyle_trivial", mainClassName, null, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/jstyle/trivial";
+      String pkg = "lambdas_jstyle_trivial";
       String grp = allowAccessModification ? "" : pkg;
 
-      String supplier = "Lambdas$Supplier";
-      String intSupplier = "Lambdas$IntSupplier";
-      String consumer = "Lambdas$Consumer";
-      String intConsumer = "Lambdas$IntConsumer";
-      String multiFunction = "Lambdas$MultiFunction";
+      String supplier = "lambdas_jstyle_trivial.Lambdas$Supplier";
+      String intSupplier = "lambdas_jstyle_trivial.Lambdas$IntSupplier";
+      String consumer = "lambdas_jstyle_trivial.Lambdas$Consumer";
+      String intConsumer = "lambdas_jstyle_trivial.Lambdas$IntConsumer";
+      String multiFunction = "lambdas_jstyle_trivial.Lambdas$MultiFunction";
 
       verifier.assertLambdaGroups(
           jstyle(grp, 0, intSupplier, 2),
@@ -434,10 +434,10 @@
 
   @Test
   public void testSingleton() throws Exception {
-    final String mainClassName = "lambdas.singleton.MainKt";
+    final String mainClassName = "lambdas_singleton.MainKt";
     runTest("lambdas_singleton", mainClassName, null, (app) -> {
       Verifier verifier = new Verifier(app);
-      String pkg = "lambdas/singleton";
+      String pkg = "lambdas_singleton";
       String grp = allowAccessModification ? "" : pkg;
 
       verifier.assertLambdaGroups(
diff --git a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/Lambdas.java b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/Lambdas.java
index 69e9a78..2352efd 100644
--- a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/Lambdas.java
+++ b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/Lambdas.java
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+package lambdas_jstyle_trivial;
+
 public class Lambdas {
   public interface IntConsumer {
     void put(int value);
diff --git a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner.kt b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner/inner.kt
similarity index 85%
rename from src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner.kt
rename to src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner/inner.kt
index 5da8884..b0afcc3 100644
--- a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner.kt
+++ b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/inner/inner.kt
@@ -2,11 +2,11 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.jstyle.trivial.inner
+package lambdas_jstyle_trivial.inner
 
-import Lambdas
-import lambdas.jstyle.trivial.next
-import lambdas.jstyle.trivial.nextInt
+import lambdas_jstyle_trivial.Lambdas
+import lambdas_jstyle_trivial.next
+import lambdas_jstyle_trivial.nextInt
 
 fun testInner() {
     testInner1(nextInt(), nextInt(), nextInt(), nextInt())
diff --git a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/main.kt b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/main.kt
index 39673af..6cdae60 100644
--- a/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/main.kt
+++ b/src/test/kotlinR8TestResources/lambdas_jstyle_trivial/main.kt
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.jstyle.trivial
+package lambdas_jstyle_trivial
 
-import Lambdas
-import lambdas.jstyle.trivial.inner.testInner
+import lambdas_jstyle_trivial.Lambdas
+import lambdas_jstyle_trivial.inner.testInner
 
 private var COUNT = 0
 
diff --git a/src/test/kotlinR8TestResources/lambdas_kstyle_captures/main.kt b/src/test/kotlinR8TestResources/lambdas_kstyle_captures/main.kt
index 3ee0bf8..62727bd 100644
--- a/src/test/kotlinR8TestResources/lambdas_kstyle_captures/main.kt
+++ b/src/test/kotlinR8TestResources/lambdas_kstyle_captures/main.kt
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.kstyle.captures
+package lambdas_kstyle_captures
 
 fun consume(l: () -> String) = l()
 
diff --git a/src/test/kotlinR8TestResources/lambdas_kstyle_generics/main.kt b/src/test/kotlinR8TestResources/lambdas_kstyle_generics/main.kt
index 7fb22eb..e2d044d 100644
--- a/src/test/kotlinR8TestResources/lambdas_kstyle_generics/main.kt
+++ b/src/test/kotlinR8TestResources/lambdas_kstyle_generics/main.kt
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.kstyle.generics
+package lambdas_kstyle_generics
 
 private var COUNT = 11
 
diff --git a/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner.kt b/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner/inner.kt
similarity index 79%
rename from src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner.kt
rename to src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner/inner.kt
index 00587a9..c22a3b8 100644
--- a/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner.kt
+++ b/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/inner/inner.kt
@@ -2,11 +2,11 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.kstyle.trivial.inner
+package lambdas_kstyle_trivial.inner
 
-import lambdas.kstyle.trivial.consumeEmpty
-import lambdas.kstyle.trivial.consumeOne
-import lambdas.kstyle.trivial.consumeTwo
+import lambdas_kstyle_trivial.consumeEmpty
+import lambdas_kstyle_trivial.consumeOne
+import lambdas_kstyle_trivial.consumeTwo
 
 fun testInner() {
     testInnerStateless()
diff --git a/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/main.kt b/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/main.kt
index 34ba194..42cce37 100644
--- a/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/main.kt
+++ b/src/test/kotlinR8TestResources/lambdas_kstyle_trivial/main.kt
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.kstyle.trivial
+package lambdas_kstyle_trivial
 
-import lambdas.kstyle.trivial.inner.testInner
+import lambdas_kstyle_trivial.inner.testInner
 
 private var COUNT = 11
 
diff --git a/src/test/kotlinR8TestResources/lambdas_singleton/main.kt b/src/test/kotlinR8TestResources/lambdas_singleton/main.kt
index 8e34a0c..f06904a 100644
--- a/src/test/kotlinR8TestResources/lambdas_singleton/main.kt
+++ b/src/test/kotlinR8TestResources/lambdas_singleton/main.kt
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package lambdas.singleton
+package lambdas_singleton
 
 private var COUNT = 0
 
