Simplify AtomicFieldUpdater tests. Change-Id: Ia0d37dfe311a8607bffff8614adb7d19406e095f
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java index 986052c..ad6d308 100644 --- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java +++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java
@@ -3,18 +3,16 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.optimize.atomicfieldupdater; +import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import com.android.tools.r8.Diagnostic; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestShrinkerBuilder; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.utils.BooleanUtils; -import com.android.tools.r8.utils.StringUtils; import com.android.tools.r8.utils.codeinspector.CodeMatchers; import com.android.tools.r8.utils.codeinspector.MethodSubject; import com.google.common.collect.ImmutableList; @@ -62,34 +60,12 @@ .allowDiagnosticInfoMessages() .addKeepMainRule(testClass) .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate) - .compile() - .inspectDiagnosticMessages( + .compileWithExpectedDiagnostics( diagnostics -> { - assertEquals(3, diagnostics.getInfos().size()); - Diagnostic diagnostic = diagnostics.getInfos().get(0); - List<String> diagnosticLines = - StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can instrument': " + message, - message.contains("Can instrument")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(1); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(2); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can remove': " + message, message.contains("Can remove")); - } - assertEquals(1, diagnosticLines.size()); + diagnostics.assertInfosMatch( + diagnosticMessage(containsString("Can instrument")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can remove"))); }) .inspect( inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java index 3d8509b..c6acb99 100644 --- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java +++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java
@@ -3,20 +3,18 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.optimize.atomicfieldupdater; +import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage; import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import com.android.tools.r8.Diagnostic; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestShrinkerBuilder; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.synthesis.SyntheticItemsTestUtils; import com.android.tools.r8.utils.BooleanUtils; -import com.android.tools.r8.utils.StringUtils; import com.android.tools.r8.utils.codeinspector.ClassSubject; import com.android.tools.r8.utils.codeinspector.CodeMatchers; import com.android.tools.r8.utils.codeinspector.MethodSubject; @@ -65,34 +63,12 @@ .allowDiagnosticInfoMessages() .addKeepMainRule(testClass) .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate) - .compile() - .inspectDiagnosticMessages( + .compileWithExpectedDiagnostics( diagnostics -> { - assertEquals(3, diagnostics.getInfos().size()); - Diagnostic diagnostic = diagnostics.getInfos().get(0); - List<String> diagnosticLines = - StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can instrument': " + message, - message.contains("Can instrument")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(1); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(2); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can remove': " + message, message.contains("Can remove")); - } - assertEquals(1, diagnosticLines.size()); + diagnostics.assertInfosMatch( + diagnosticMessage(containsString("Can instrument")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can remove"))); }) .inspect( inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java index 07c8853..2b6fb92 100644 --- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java +++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java
@@ -3,18 +3,16 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.optimize.atomicfieldupdater; +import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import com.android.tools.r8.Diagnostic; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestShrinkerBuilder; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.utils.BooleanUtils; -import com.android.tools.r8.utils.StringUtils; import com.android.tools.r8.utils.codeinspector.CodeMatchers; import com.android.tools.r8.utils.codeinspector.MethodSubject; import com.google.common.collect.ImmutableList; @@ -62,34 +60,12 @@ .allowDiagnosticInfoMessages() .addKeepMainRule(testClass) .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate) - .compile() - .inspectDiagnosticMessages( + .compileWithExpectedDiagnostics( diagnostics -> { - assertEquals(3, diagnostics.getInfos().size()); - Diagnostic diagnostic = diagnostics.getInfos().get(0); - List<String> diagnosticLines = - StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can instrument': " + message, - message.contains("Can instrument")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(1); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(2); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can remove': " + message, message.contains("Can remove")); - } - assertEquals(1, diagnosticLines.size()); + diagnostics.assertInfosMatch( + diagnosticMessage(containsString("Can instrument")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can remove"))); }) .inspect( inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java index c3d6358..098a305 100644 --- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java +++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java
@@ -3,18 +3,16 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.optimize.atomicfieldupdater; +import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import com.android.tools.r8.Diagnostic; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestShrinkerBuilder; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.utils.BooleanUtils; -import com.android.tools.r8.utils.StringUtils; import com.android.tools.r8.utils.codeinspector.CodeMatchers; import com.android.tools.r8.utils.codeinspector.MethodSubject; import com.google.common.collect.ImmutableList; @@ -62,34 +60,12 @@ .allowDiagnosticInfoMessages() .addKeepMainRule(testClass) .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate) - .compile() - .inspectDiagnosticMessages( + .compileWithExpectedDiagnostics( diagnostics -> { - assertEquals(3, diagnostics.getInfos().size()); - Diagnostic diagnostic = diagnostics.getInfos().get(0); - List<String> diagnosticLines = - StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can instrument': " + message, - message.contains("Can instrument")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(1); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(2); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can remove': " + message, message.contains("Can remove")); - } - assertEquals(1, diagnosticLines.size()); + diagnostics.assertInfosMatch( + diagnosticMessage(containsString("Can instrument")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can remove"))); }) .inspect( inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java index ba52959..33eae1f 100644 --- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java +++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java
@@ -3,18 +3,16 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.optimize.atomicfieldupdater; +import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import com.android.tools.r8.Diagnostic; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestShrinkerBuilder; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.utils.BooleanUtils; -import com.android.tools.r8.utils.StringUtils; import com.android.tools.r8.utils.codeinspector.CodeMatchers; import com.android.tools.r8.utils.codeinspector.MethodSubject; import com.google.common.collect.ImmutableList; @@ -62,42 +60,13 @@ .allowDiagnosticInfoMessages() .addKeepMainRule(testClass) .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate) - .compile() - .inspectDiagnosticMessages( + .compileWithExpectedDiagnostics( diagnostics -> { - assertEquals(4, diagnostics.getInfos().size()); - Diagnostic diagnostic = diagnostics.getInfos().get(0); - List<String> diagnosticLines = - StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can instrument': " + message, - message.contains("Can instrument")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(1); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(2); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can optimize': " + message, - message.contains("Can optimize")); - } - assertEquals(1, diagnosticLines.size()); - diagnostic = diagnostics.getInfos().get(3); - diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage()); - for (String message : diagnosticLines) { - assertTrue( - "Does not contain 'Can remove': " + message, message.contains("Can remove")); - } - assertEquals(1, diagnosticLines.size()); + diagnostics.assertInfosMatch( + diagnosticMessage(containsString("Can instrument")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can optimize")), + diagnosticMessage(containsString("Can remove"))); }) .inspect( inspector -> {