From 9fef67179acef10d15bad0b9cf1e66b91dfaf095 Mon Sep 17 00:00:00 2001 From: "hashicorp-vault-sonar-prod[bot]" <111297361+hashicorp-vault-sonar-prod[bot]@users.noreply.github.com> Date: Wed, 9 Sep 2026 14:38:00 +0000 Subject: [PATCH 1/3] ci-autofix: investigate failed CI run 102448842840 From 751b233538d8931f78f09c0e2cce5f02afdac102 Mon Sep 17 00:00:00 2001 From: Gitar Date: Wed, 9 Sep 2026 14:42:10 +0000 Subject: [PATCH 2/3] fix: avoid potential NPE in InternalCheckVerifier.assertComponentIssue Use Objects.equals instead of expectedMessage.equals to defensively guard against a null expectedMessage, addressing the SonarQube Reliability finding (S2259) that failed the master Quality Gate. --- .../java/checks/verifier/internal/InternalCheckVerifier.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java index ac3f8474c7d..17a269f5ccc 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java @@ -404,7 +404,7 @@ private void assertComponentIssue(Set issues) { || (expectations.expectIssueAtFileLevel() && !issue.getInputComponent().isFile())) { throw new AssertionError(String.format("Expected the issue to be raised at %s level, not at %s level", component, otherComponent)); } - if (!expectedMessage.equals(issue.getMessage())) { + if (!Objects.equals(expectedMessage, issue.getMessage())) { throw new AssertionError(String.format("Expected the issue message to be:%n\t\"%s\"%nbut was:%n\t\"%s\"", expectedMessage, issue.getMessage())); } } From f516b080aa96f7a97586ee438e9f5cc762ff9906 Mon Sep 17 00:00:00 2001 From: Gitar Date: Wed, 9 Sep 2026 14:44:44 +0000 Subject: [PATCH 3/3] fix: use null-safe equality in assertAttributeMatch Co-authored-by: hashicorp-vault-sonar-prod[bot] <111297361+hashicorp-vault-sonar-prod[bot]@users.noreply.github.com> --- .../java/checks/verifier/internal/InternalCheckVerifier.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java index 17a269f5ccc..4943505c3a6 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java @@ -484,7 +484,7 @@ private void assertSuperfluousFlows() { } private static void assertAttributeMatch(AnalyzerMessage issue, Object value, Map attributes, Expectations.IssueAttribute attribute) { - if (attributes.containsKey(attribute) && !value.equals(attribute.get(attributes))) { + if (attributes.containsKey(attribute) && !Objects.equals(value, attribute.get(attributes))) { throw new AssertionError( String.format("line %d attribute mismatch for '%s'. Expected: '%s', but was: '%s'", issue.getLine(),