aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManu Sridharan <msridhar@gmail.com>2024-01-13 18:16:58 -0800
committerGitHub <noreply@github.com>2024-01-14 02:16:58 +0000
commitc7007fd73405683ab089f766179a94c8cf98e692 (patch)
treed7e4f0f39b0419b485ee0341e226afbf7d0941be
parent9ff44a7fc9190ae493f58ff516a1f2ec54404aea (diff)
downloadnullaway-c7007fd73405683ab089f766179a94c8cf98e692.tar.gz
Downgrade to Checker Framework 3.40.0 (#895)
This fixes a regression where we were seeing a crash in CFG construction. Reported upstream as https://github.com/typetools/checker-framework/issues/6396.
-rwxr-xr-xgradle/dependencies.gradle2
-rw-r--r--nullaway/build.gradle3
-rw-r--r--nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java25
3 files changed, 29 insertions, 1 deletions
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 5962a7c..bada5ee 100755
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -40,7 +40,7 @@ if (project.hasProperty("epApiVersion")) {
def versions = [
asm : "9.3",
- checkerFramework : "3.41.0",
+ checkerFramework : "3.40.0",
// for comparisons in other parts of the build
errorProneLatest : latestErrorProneVersion,
// The version of Error Prone used to check NullAway's code.
diff --git a/nullaway/build.gradle b/nullaway/build.gradle
index 7d39adc..15327ae 100644
--- a/nullaway/build.gradle
+++ b/nullaway/build.gradle
@@ -65,6 +65,9 @@ dependencies {
testImplementation deps.test.mockito
testImplementation deps.test.javaxAnnotationApi
testImplementation deps.test.assertJ
+ // This is for a test exposing a CFG construction failure in the Checker Framework. We can probably remove it once
+ // the issue is fixed upstream and we update. See https://github.com/typetools/checker-framework/issues/6396.
+ testImplementation 'org.apache.spark:spark-sql_2.12:3.3.2'
errorProneOldest deps.build.errorProneCheckApiOld
errorProneOldest(deps.build.errorProneTestHelpersOld) {
diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java b/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java
index f8f3ed6..dd6e0d7 100644
--- a/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java
+++ b/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java
@@ -960,4 +960,29 @@ public class NullAwayCoreTests extends NullAwayTestsBase {
"}")
.doTest();
}
+
+ /**
+ * This test exposes a failure in CFG construction in Checker Framework 3.41.0 and above. Once a
+ * fix for this issue makes it to a Checker Framework release, we can probably remove this test.
+ * See https://github.com/typetools/checker-framework/issues/6396.
+ */
+ @Test
+ public void cfgConstructionSymbolCompletionFailure() {
+ defaultCompilationHelper
+ .addSourceLines(
+ "Test.java",
+ "package com.uber;",
+ "import org.apache.spark.sql.SparkSession;",
+ "class Test {",
+ " static class X {",
+ " X(SparkSession session) {}",
+ " }",
+ " X run() {",
+ " try (SparkSession session = SparkSession.builder().getOrCreate()) {",
+ " return new X(session);",
+ " }",
+ " }",
+ "}")
+ .doTest();
+ }
}