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 -> {