Skip to content

Commit

Permalink
Rename test classes (#951)
Browse files Browse the repository at this point in the history
This is a pure refactoring PR that only touches test code and does the
following:

* Renames test classes to remove the `NullAway` prefix, which hinders
readability
* Moves JSpecify tests into their own package
* Remove
`nullaway/src/test/java/com/uber/nullaway/NullAwayTypeUseAnnotationTests.java`
and move its one test into
`nullaway/src/test/java/com/uber/nullaway/TypeUseAnnotationsTests.java`
(this must have been a typo before)
  • Loading branch information
msridhar committed Apr 22, 2024
1 parent 09db47a commit 719b167
Show file tree
Hide file tree
Showing 38 changed files with 82 additions and 81 deletions.
Expand Up @@ -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();

Expand Down
Expand Up @@ -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();

Expand Down
Expand Up @@ -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();

Expand Down
Expand Up @@ -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();

Expand Down
Expand Up @@ -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();

Expand Down
4 changes: 2 additions & 2 deletions nullaway/build.gradle
Expand Up @@ -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"
}
}
Expand Down
Expand Up @@ -2,7 +2,7 @@

import org.junit.Test;

public class NullAwayAccessPathsTests extends NullAwayTestsBase {
public class AccessPathsTests extends NullAwayTestsBase {

@Test
public void testConstantsInAccessPathsNegative() {
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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;
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -30,7 +30,7 @@
import org.junit.runners.JUnit4;

@RunWith(JUnit4.class)
public class NullAwayAutoSuggestNoCastTest {
public class AutoSuggestNoCastTest {

@Rule public TemporaryFolder temporaryFolder = new TemporaryFolder();

Expand Down
Expand Up @@ -35,7 +35,7 @@
import org.junit.runners.JUnit4;

@RunWith(JUnit4.class)
public class NullAwayAutoSuggestTest {
public class AutoSuggestTest {

@Rule public TemporaryFolder temporaryFolder = new TemporaryFolder();

Expand Down
Expand Up @@ -2,7 +2,7 @@

import org.junit.Test;

public class NullAwayBytecodeInteractionsTests extends NullAwayTestsBase {
public class BytecodeInteractionsTests extends NullAwayTestsBase {
@Test
public void typeUseJarReturn() {
defaultCompilationHelper
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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<String> args) {
// Adding directly to args will throw an UnsupportedOperationException, since that list is
Expand Down
Expand Up @@ -2,7 +2,7 @@

import org.junit.Test;

public class NullAwayEnsuresNonNullTests extends NullAwayTestsBase {
public class EnsuresNonNullTests extends NullAwayTestsBase {

@Test
public void requiresNonNullInterpretation() {
Expand Down
Expand Up @@ -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();
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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();
Expand Down
Expand Up @@ -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();
Expand Down
Expand Up @@ -2,7 +2,7 @@

import org.junit.Test;

public class NullAwayKeySetIteratorTests extends NullAwayTestsBase {
public class KeySetIteratorTests extends NullAwayTestsBase {

@Test
public void mapKeySetIteratorBasic() {
Expand Down

This file was deleted.

Expand Up @@ -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() {
Expand Down
Expand Up @@ -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<FixDisplay> fixDisplayFactory;
Expand All @@ -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(
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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() {
Expand Down Expand Up @@ -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 <R> @Nullable Supplier<@Nullable R> getNullableSupplierOfNullable() {",
" return new Supplier<R>() {",
" @Nullable",
" public R get() { return null; }",
" };",
" }",
" public static <R> Supplier<@Nullable R> getNonNullSupplierOfNullable() {",
" return new Supplier<R>() {",
" @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();
}
}
Expand Up @@ -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() {
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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() {
Expand Down
@@ -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() {
Expand Down
@@ -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")
Expand Down

0 comments on commit 719b167

Please sign in to comment.