diff --git a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayInstanceOfBindingTests.java b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/InstanceOfBindingTests.java similarity index 96% rename from jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayInstanceOfBindingTests.java rename to jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/InstanceOfBindingTests.java index 38079e5353..f80a08953b 100644 --- a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayInstanceOfBindingTests.java +++ b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/InstanceOfBindingTests.java @@ -8,7 +8,7 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; -public class NullAwayInstanceOfBindingTests { +public class InstanceOfBindingTests { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayModuleInfoTests.java b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/ModuleInfoTests.java similarity index 97% rename from jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayModuleInfoTests.java rename to jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/ModuleInfoTests.java index 64f0966369..a8dcbc9449 100644 --- a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayModuleInfoTests.java +++ b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/ModuleInfoTests.java @@ -8,7 +8,7 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; -public class NullAwayModuleInfoTests { +public class ModuleInfoTests { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayOptionalEmptyTests.java b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/OptionalEmptyTests.java similarity index 99% rename from jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayOptionalEmptyTests.java rename to jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/OptionalEmptyTests.java index 2e2ceee802..05f31de20b 100644 --- a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayOptionalEmptyTests.java +++ b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/OptionalEmptyTests.java @@ -10,7 +10,7 @@ import org.junit.rules.TemporaryFolder; /** Tests for support of the {@code Optional.isEmpty()} API. This API was introduced in JDK 11. */ -public class NullAwayOptionalEmptyTests { +public class OptionalEmptyTests { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayRecordTests.java b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/RecordTests.java similarity index 99% rename from jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayRecordTests.java rename to jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/RecordTests.java index 69047bac82..4e83490177 100644 --- a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwayRecordTests.java +++ b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/RecordTests.java @@ -8,7 +8,7 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; -public class NullAwayRecordTests { +public class RecordTests { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwaySwitchTests.java b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/SwitchTests.java similarity index 99% rename from jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwaySwitchTests.java rename to jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/SwitchTests.java index ab5ef6a1f6..f59bc3d6ac 100644 --- a/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/NullAwaySwitchTests.java +++ b/jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/SwitchTests.java @@ -30,7 +30,7 @@ import org.junit.rules.TemporaryFolder; /** NullAway unit tests involving language features available on JDK 17 but not JDK 11. */ -public class NullAwaySwitchTests { +public class SwitchTests { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/nullaway/build.gradle b/nullaway/build.gradle index 15327aed88..77cccedb30 100644 --- a/nullaway/build.gradle +++ b/nullaway/build.gradle @@ -124,9 +124,9 @@ def jdk8Test = tasks.register("testJdk8", Test) { jvmArgs "-Xbootclasspath/p:${configurations.errorproneJavac.asPath}" filter { // JDK 8 does not support diamonds on anonymous classes - excludeTestsMatching "com.uber.nullaway.NullAwayJSpecifyGenericsTests.overrideDiamondAnonymousClass" + excludeTestsMatching "com.uber.nullaway.jspecify.GenericsTests.overrideDiamondAnonymousClass" // tests cannot run on JDK 8 since Mockito version no longer supports it - excludeTestsMatching "com.uber.nullaway.NullAwaySerializationTest.initializationError" + excludeTestsMatching "com.uber.nullaway.SerializationTest.initializationError" excludeTestsMatching "com.uber.nullaway.handlers.contract.ContractUtilsTest.getEmptyAntecedent" } } diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAccessPathsTests.java b/nullaway/src/test/java/com/uber/nullaway/AccessPathsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAccessPathsTests.java rename to nullaway/src/test/java/com/uber/nullaway/AccessPathsTests.java index 7282e4e043..1061e9f7c6 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAccessPathsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/AccessPathsTests.java @@ -2,7 +2,7 @@ import org.junit.Test; -public class NullAwayAccessPathsTests extends NullAwayTestsBase { +public class AccessPathsTests extends NullAwayTestsBase { @Test public void testConstantsInAccessPathsNegative() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAcknowledgeRestrictiveAnnotationsTests.java b/nullaway/src/test/java/com/uber/nullaway/AcknowledgeRestrictiveAnnotationsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAcknowledgeRestrictiveAnnotationsTests.java rename to nullaway/src/test/java/com/uber/nullaway/AcknowledgeRestrictiveAnnotationsTests.java index e84016c37f..854ba18ac2 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAcknowledgeRestrictiveAnnotationsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/AcknowledgeRestrictiveAnnotationsTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayAcknowledgeRestrictiveAnnotationsTests extends NullAwayTestsBase { +public class AcknowledgeRestrictiveAnnotationsTests extends NullAwayTestsBase { @Test public void generatedAsUnannotatedPlusRestrictive() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAndroidTest.java b/nullaway/src/test/java/com/uber/nullaway/AndroidTest.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAndroidTest.java rename to nullaway/src/test/java/com/uber/nullaway/AndroidTest.java index 5a63cefbb0..c00de7f993 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAndroidTest.java +++ b/nullaway/src/test/java/com/uber/nullaway/AndroidTest.java @@ -11,7 +11,7 @@ /** Unit tests for {@link com.uber.nullaway.NullAway}. */ @RunWith(JUnit4.class) -public class NullAwayAndroidTest { +public class AndroidTest { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); private CompilationTestHelper compilationHelper; diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java b/nullaway/src/test/java/com/uber/nullaway/AssertionLibsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java rename to nullaway/src/test/java/com/uber/nullaway/AssertionLibsTests.java index 29674227a4..bd9cc1231a 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/AssertionLibsTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayAssertionLibsTests extends NullAwayTestsBase { +public class AssertionLibsTests extends NullAwayTestsBase { @Test public void supportTruthAssertThatIsNotNull_Object() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestNoCastTest.java b/nullaway/src/test/java/com/uber/nullaway/AutoSuggestNoCastTest.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestNoCastTest.java rename to nullaway/src/test/java/com/uber/nullaway/AutoSuggestNoCastTest.java index 1817d25f84..ccfed519b7 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestNoCastTest.java +++ b/nullaway/src/test/java/com/uber/nullaway/AutoSuggestNoCastTest.java @@ -30,7 +30,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) -public class NullAwayAutoSuggestNoCastTest { +public class AutoSuggestNoCastTest { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestTest.java b/nullaway/src/test/java/com/uber/nullaway/AutoSuggestTest.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestTest.java rename to nullaway/src/test/java/com/uber/nullaway/AutoSuggestTest.java index ba5eabea27..21c4b98bc7 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAutoSuggestTest.java +++ b/nullaway/src/test/java/com/uber/nullaway/AutoSuggestTest.java @@ -35,7 +35,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) -public class NullAwayAutoSuggestTest { +public class AutoSuggestTest { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayBytecodeInteractionsTests.java b/nullaway/src/test/java/com/uber/nullaway/BytecodeInteractionsTests.java similarity index 97% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayBytecodeInteractionsTests.java rename to nullaway/src/test/java/com/uber/nullaway/BytecodeInteractionsTests.java index 338bc721c2..ddc04f4718 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayBytecodeInteractionsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/BytecodeInteractionsTests.java @@ -2,7 +2,7 @@ import org.junit.Test; -public class NullAwayBytecodeInteractionsTests extends NullAwayTestsBase { +public class BytecodeInteractionsTests extends NullAwayTestsBase { @Test public void typeUseJarReturn() { defaultCompilationHelper diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayContractsBooleanTests.java b/nullaway/src/test/java/com/uber/nullaway/ContractsBooleanTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayContractsBooleanTests.java rename to nullaway/src/test/java/com/uber/nullaway/ContractsBooleanTests.java index 201b4fccde..2c80acab4b 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayContractsBooleanTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/ContractsBooleanTests.java @@ -4,7 +4,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayContractsBooleanTests extends NullAwayTestsBase { +public class ContractsBooleanTests extends NullAwayTestsBase { @Test public void nonNullCheckIsTrueIsNotNullable() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayContractsTests.java b/nullaway/src/test/java/com/uber/nullaway/ContractsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayContractsTests.java rename to nullaway/src/test/java/com/uber/nullaway/ContractsTests.java index d3849b041d..664dffaab8 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayContractsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/ContractsTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayContractsTests extends NullAwayTestsBase { +public class ContractsTests extends NullAwayTestsBase { @Test public void checkContractPositiveCases() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java b/nullaway/src/test/java/com/uber/nullaway/CoreTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java rename to nullaway/src/test/java/com/uber/nullaway/CoreTests.java index d8167564f9..14dbdea5c4 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayCoreTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/CoreTests.java @@ -29,7 +29,7 @@ /** Unit tests for {@link com.uber.nullaway.NullAway}. */ @RunWith(JUnit4.class) -public class NullAwayCoreTests extends NullAwayTestsBase { +public class CoreTests extends NullAwayTestsBase { @Test public void coreNullabilityPositiveCases() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayCustomLibraryModelsTests.java b/nullaway/src/test/java/com/uber/nullaway/CustomLibraryModelsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayCustomLibraryModelsTests.java rename to nullaway/src/test/java/com/uber/nullaway/CustomLibraryModelsTests.java index 098b98b6b3..830456b251 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayCustomLibraryModelsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/CustomLibraryModelsTests.java @@ -29,7 +29,7 @@ import java.util.List; import org.junit.Test; -public class NullAwayCustomLibraryModelsTests extends NullAwayTestsBase { +public class CustomLibraryModelsTests extends NullAwayTestsBase { private CompilationTestHelper makeLibraryModelsTestHelperWithArgs(List args) { // Adding directly to args will throw an UnsupportedOperationException, since that list is diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayEnsuresNonNullTests.java b/nullaway/src/test/java/com/uber/nullaway/EnsuresNonNullTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayEnsuresNonNullTests.java rename to nullaway/src/test/java/com/uber/nullaway/EnsuresNonNullTests.java index 1e9e09c851..dd94e36a5d 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayEnsuresNonNullTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/EnsuresNonNullTests.java @@ -2,7 +2,7 @@ import org.junit.Test; -public class NullAwayEnsuresNonNullTests extends NullAwayTestsBase { +public class EnsuresNonNullTests extends NullAwayTestsBase { @Test public void requiresNonNullInterpretation() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayFrameworkTests.java b/nullaway/src/test/java/com/uber/nullaway/FrameworkTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayFrameworkTests.java rename to nullaway/src/test/java/com/uber/nullaway/FrameworkTests.java index 5f46f7a901..b4e34a2533 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayFrameworkTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/FrameworkTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayFrameworkTests extends NullAwayTestsBase { +public class FrameworkTests extends NullAwayTestsBase { @Test public void lombokSupportTesting() { defaultCompilationHelper.addSourceFile("lombok/LombokBuilderInit.java").doTest(); diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayFunctionalInterfaceNullabilityTests.java b/nullaway/src/test/java/com/uber/nullaway/FunctionalInterfaceNullabilityTests.java similarity index 98% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayFunctionalInterfaceNullabilityTests.java rename to nullaway/src/test/java/com/uber/nullaway/FunctionalInterfaceNullabilityTests.java index 25e8846537..7540404bab 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayFunctionalInterfaceNullabilityTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/FunctionalInterfaceNullabilityTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayFunctionalInterfaceNullabilityTests extends NullAwayTestsBase { +public class FunctionalInterfaceNullabilityTests extends NullAwayTestsBase { @Test public void multipleTypeParametersInstantiation() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayGuavaAssertionsTests.java b/nullaway/src/test/java/com/uber/nullaway/GuavaAssertionsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayGuavaAssertionsTests.java rename to nullaway/src/test/java/com/uber/nullaway/GuavaAssertionsTests.java index 83ee0c94e5..8fb2ea61df 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayGuavaAssertionsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/GuavaAssertionsTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayGuavaAssertionsTests extends NullAwayTestsBase { +public class GuavaAssertionsTests extends NullAwayTestsBase { @Test public void checkNotNullTest() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayInitializationTests.java b/nullaway/src/test/java/com/uber/nullaway/InitializationTests.java similarity index 98% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayInitializationTests.java rename to nullaway/src/test/java/com/uber/nullaway/InitializationTests.java index f953d8c8be..2bd7af9f0e 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayInitializationTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/InitializationTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayInitializationTests extends NullAwayTestsBase { +public class InitializationTests extends NullAwayTestsBase { @Test public void initFieldPositiveCases() { defaultCompilationHelper.addSourceFile("CheckFieldInitPositiveCases.java").doTest(); diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJava8Tests.java b/nullaway/src/test/java/com/uber/nullaway/Java8Tests.java similarity index 96% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayJava8Tests.java rename to nullaway/src/test/java/com/uber/nullaway/Java8Tests.java index 72fe2a36e7..478d3e1275 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJava8Tests.java +++ b/nullaway/src/test/java/com/uber/nullaway/Java8Tests.java @@ -2,7 +2,7 @@ import org.junit.Test; -public class NullAwayJava8Tests extends NullAwayTestsBase { +public class Java8Tests extends NullAwayTestsBase { @Test public void java8PositiveCases() { defaultCompilationHelper.addSourceFile("NullAwayJava8PositiveCases.java").doTest(); diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayKeySetIteratorTests.java b/nullaway/src/test/java/com/uber/nullaway/KeySetIteratorTests.java similarity index 98% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayKeySetIteratorTests.java rename to nullaway/src/test/java/com/uber/nullaway/KeySetIteratorTests.java index 5b39012149..ea0d11fdcd 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayKeySetIteratorTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/KeySetIteratorTests.java @@ -2,7 +2,7 @@ import org.junit.Test; -public class NullAwayKeySetIteratorTests extends NullAwayTestsBase { +public class KeySetIteratorTests extends NullAwayTestsBase { @Test public void mapKeySetIteratorBasic() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationTests.java b/nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationTests.java deleted file mode 100644 index 06e13fe46e..0000000000 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationTests.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.uber.nullaway; - -import org.junit.Test; - -public class NullAwayTypeUseAnnotationTests extends NullAwayTestsBase { - @Test - public void typeParameterAnnotationIsDistinctFromMethodReturnAnnotation() { - defaultCompilationHelper - .addSourceLines( - "Test.java", - "package com.uber;", - "import org.jspecify.annotations.Nullable;", - "import java.util.function.Supplier;", - "public class Test {", - " public static @Nullable Supplier<@Nullable R> getNullableSupplierOfNullable() {", - " return new Supplier() {", - " @Nullable", - " public R get() { return null; }", - " };", - " }", - " public static Supplier<@Nullable R> getNonNullSupplierOfNullable() {", - " return new Supplier() {", - " @Nullable", - " public R get() { return null; }", - " };", - " }", - " public static String test1() {", - " // BUG: Diagnostic contains: dereferenced expression getNullableSupplierOfNullable() is @Nullable", - " return getNullableSupplierOfNullable().toString();", - " }", - " public static String test2() {", - " // The supplier contains null, but isn't itself nullable. Check against a past FP", - " return getNonNullSupplierOfNullable().toString();", - " }", - "}") - .doTest(); - } -} diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayOptionalEmptinessTests.java b/nullaway/src/test/java/com/uber/nullaway/OptionalEmptinessTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayOptionalEmptinessTests.java rename to nullaway/src/test/java/com/uber/nullaway/OptionalEmptinessTests.java index 32199f48d1..679652b63e 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayOptionalEmptinessTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/OptionalEmptinessTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayOptionalEmptinessTests extends NullAwayTestsBase { +public class OptionalEmptinessTests extends NullAwayTestsBase { @Test public void optionalEmptinessHandlerTest() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwaySerializationTest.java b/nullaway/src/test/java/com/uber/nullaway/SerializationTest.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwaySerializationTest.java rename to nullaway/src/test/java/com/uber/nullaway/SerializationTest.java index 86eff7ce20..1dc585a23a 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwaySerializationTest.java +++ b/nullaway/src/test/java/com/uber/nullaway/SerializationTest.java @@ -56,7 +56,7 @@ /** Unit tests for {@link com.uber.nullaway.NullAway}. */ @RunWith(JUnit4.class) -public class NullAwaySerializationTest extends NullAwayTestsBase { +public class SerializationTest extends NullAwayTestsBase { private String configPath; private Path root; private final DisplayFactory fixDisplayFactory; @@ -71,7 +71,7 @@ public class NullAwaySerializationTest extends NullAwayTestsBase { private static final String FIELD_INIT_FILE_NAME = "field_init.tsv"; private static final String FIELD_INIT_HEADER = FieldInitializationInfo.header(); - public NullAwaySerializationTest() { + public SerializationTest() { this.fixDisplayFactory = values -> { Preconditions.checkArgument( diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayThriftTests.java b/nullaway/src/test/java/com/uber/nullaway/ThriftTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayThriftTests.java rename to nullaway/src/test/java/com/uber/nullaway/ThriftTests.java index 9753a5586b..a3180f2fe6 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayThriftTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/ThriftTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayThriftTests extends NullAwayTestsBase { +public class ThriftTests extends NullAwayTestsBase { @Test public void testThriftIsSet() { defaultCompilationHelper diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationsTests.java b/nullaway/src/test/java/com/uber/nullaway/TypeUseAnnotationsTests.java similarity index 85% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationsTests.java rename to nullaway/src/test/java/com/uber/nullaway/TypeUseAnnotationsTests.java index 5e13b02313..79d4ea5c0e 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/TypeUseAnnotationsTests.java @@ -27,7 +27,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) -public class NullAwayTypeUseAnnotationsTests extends NullAwayTestsBase { +public class TypeUseAnnotationsTests extends NullAwayTestsBase { @Test public void annotationAppliedToTypeParameter() { @@ -230,4 +230,37 @@ public void typeUseAnnotationOnInnerMultiLevel() { "}") .doTest(); } + + @Test + public void typeParameterAnnotationIsDistinctFromMethodReturnAnnotation() { + defaultCompilationHelper + .addSourceLines( + "Test.java", + "package com.uber;", + "import org.jspecify.annotations.Nullable;", + "import java.util.function.Supplier;", + "public class Test {", + " public static @Nullable Supplier<@Nullable R> getNullableSupplierOfNullable() {", + " return new Supplier() {", + " @Nullable", + " public R get() { return null; }", + " };", + " }", + " public static Supplier<@Nullable R> getNonNullSupplierOfNullable() {", + " return new Supplier() {", + " @Nullable", + " public R get() { return null; }", + " };", + " }", + " public static String test1() {", + " // BUG: Diagnostic contains: dereferenced expression getNullableSupplierOfNullable() is @Nullable", + " return getNullableSupplierOfNullable().toString();", + " }", + " public static String test2() {", + " // The supplier contains null, but isn't itself nullable. Check against a past FP", + " return getNonNullSupplierOfNullable().toString();", + " }", + "}") + .doTest(); + } } diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayUnannotatedTests.java b/nullaway/src/test/java/com/uber/nullaway/UnannotatedTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayUnannotatedTests.java rename to nullaway/src/test/java/com/uber/nullaway/UnannotatedTests.java index 32e844ac5c..992cbff0d0 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayUnannotatedTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/UnannotatedTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayUnannotatedTests extends NullAwayTestsBase { +public class UnannotatedTests extends NullAwayTestsBase { @Test public void coreNullabilitySkipClass() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayUnsoundnessTests.java b/nullaway/src/test/java/com/uber/nullaway/UnsoundnessTests.java similarity index 95% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayUnsoundnessTests.java rename to nullaway/src/test/java/com/uber/nullaway/UnsoundnessTests.java index a765b1346b..150603262e 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayUnsoundnessTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/UnsoundnessTests.java @@ -6,7 +6,7 @@ import org.junit.Test; /** Unit tests showing cases where NullAway is unsound. Useful for documentation purposes. */ -public class NullAwayUnsoundnessTests extends NullAwayTestsBase { +public class UnsoundnessTests extends NullAwayTestsBase { @Before @Override diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayVarargsTests.java b/nullaway/src/test/java/com/uber/nullaway/VarargsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayVarargsTests.java rename to nullaway/src/test/java/com/uber/nullaway/VarargsTests.java index 63a6a9dfde..f404668695 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayVarargsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/VarargsTests.java @@ -3,7 +3,7 @@ import java.util.Arrays; import org.junit.Test; -public class NullAwayVarargsTests extends NullAwayTestsBase { +public class VarargsTests extends NullAwayTestsBase { @Test public void testNonNullVarargs() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyArrayTests.java b/nullaway/src/test/java/com/uber/nullaway/jspecify/ArrayTests.java similarity index 98% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyArrayTests.java rename to nullaway/src/test/java/com/uber/nullaway/jspecify/ArrayTests.java index e16420cce4..f4074ec686 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyArrayTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/jspecify/ArrayTests.java @@ -1,10 +1,11 @@ -package com.uber.nullaway; +package com.uber.nullaway.jspecify; import com.google.errorprone.CompilationTestHelper; +import com.uber.nullaway.NullAwayTestsBase; import java.util.Arrays; import org.junit.Test; -public class NullAwayJSpecifyArrayTests extends NullAwayTestsBase { +public class ArrayTests extends NullAwayTestsBase { @Test public void arrayTopLevelAnnotationDereference() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericMethodTests.java b/nullaway/src/test/java/com/uber/nullaway/jspecify/GenericMethodTests.java similarity index 90% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericMethodTests.java rename to nullaway/src/test/java/com/uber/nullaway/jspecify/GenericMethodTests.java index e46172fa94..26ecc8eca3 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericMethodTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/jspecify/GenericMethodTests.java @@ -1,11 +1,12 @@ -package com.uber.nullaway; +package com.uber.nullaway.jspecify; import com.google.errorprone.CompilationTestHelper; +import com.uber.nullaway.NullAwayTestsBase; import java.util.Arrays; import org.junit.Ignore; import org.junit.Test; -public class NullAwayJSpecifyGenericMethodTests extends NullAwayTestsBase { +public class GenericMethodTests extends NullAwayTestsBase { @Test @Ignore("requires generic method support") diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java b/nullaway/src/test/java/com/uber/nullaway/jspecify/GenericsTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java rename to nullaway/src/test/java/com/uber/nullaway/jspecify/GenericsTests.java index 91063e4160..1fac4d03a0 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/jspecify/GenericsTests.java @@ -1,11 +1,12 @@ -package com.uber.nullaway; +package com.uber.nullaway.jspecify; import com.google.errorprone.CompilationTestHelper; +import com.uber.nullaway.NullAwayTestsBase; import java.util.Arrays; import org.junit.Ignore; import org.junit.Test; -public class NullAwayJSpecifyGenericsTests extends NullAwayTestsBase { +public class GenericsTests extends NullAwayTestsBase { @Test public void basicTypeParamInstantiation() { diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyTests.java b/nullaway/src/test/java/com/uber/nullaway/jspecify/NullMarkednessTests.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyTests.java rename to nullaway/src/test/java/com/uber/nullaway/jspecify/NullMarkednessTests.java index 246d7e8a00..2024a8313f 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/jspecify/NullMarkednessTests.java @@ -1,9 +1,10 @@ -package com.uber.nullaway; +package com.uber.nullaway.jspecify; +import com.uber.nullaway.NullAwayTestsBase; import java.util.Arrays; import org.junit.Test; -public class NullAwayJSpecifyTests extends NullAwayTestsBase { +public class NullMarkednessTests extends NullAwayTestsBase { @Test public void nullMarkedPackageLevel() { diff --git a/nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/NullAwayGrpcTest.java b/nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/GrpcTest.java similarity index 99% rename from nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/NullAwayGrpcTest.java rename to nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/GrpcTest.java index cded75fbe9..256f8eddc9 100644 --- a/nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/NullAwayGrpcTest.java +++ b/nullaway/src/test/java/com/uber/nullaway/thirdpartylibs/GrpcTest.java @@ -35,7 +35,7 @@ /** Unit tests for {@link com.uber.nullaway.NullAway}. */ @RunWith(JUnit4.class) @SuppressWarnings("CheckTestExtendsBaseClass") -public class NullAwayGrpcTest { +public class GrpcTest { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); diff --git a/nullaway/src/test/resources/com/uber/nullaway/testdata/unannotated/MinimalUnannotatedClass.java b/nullaway/src/test/resources/com/uber/nullaway/testdata/unannotated/MinimalUnannotatedClass.java index e78330af7f..537a587cf1 100644 --- a/nullaway/src/test/resources/com/uber/nullaway/testdata/unannotated/MinimalUnannotatedClass.java +++ b/nullaway/src/test/resources/com/uber/nullaway/testdata/unannotated/MinimalUnannotatedClass.java @@ -22,8 +22,10 @@ package com.uber.nullaway.testdata.unannotated; +import com.uber.nullaway.SerializationTest; + /** - * A minimal class, used from {@link com.uber.nullaway.NullAwaySerializationTest} to avoid extra + * A minimal class, used from {@link SerializationTest} to avoid extra * fixes. */ public class MinimalUnannotatedClass {