func TestMain(m *testing.M) { … } func TestEditFile(t *testing.T) { … } // Edit a dependency on disk and expect a new diagnostic. func TestEditDependency(t *testing.T) { … } // Edit both the current file and one of its dependencies on disk and // expect diagnostic changes. func TestEditFileAndDependency(t *testing.T) { … } // Delete a dependency and expect a new diagnostic. func TestDeleteDependency(t *testing.T) { … } // Create a dependency on disk and expect the diagnostic to go away. func TestCreateDependency(t *testing.T) { … } // Create a new dependency and add it to the file on disk. // This is similar to what might happen if you switch branches. func TestCreateAndAddDependency(t *testing.T) { … } // Create a new file that defines a new symbol, in the same package. func TestCreateFile(t *testing.T) { … } // Add a new method to an interface and implement it. // Inspired by the structure of internal/golang and internal/cache. func TestCreateImplementation(t *testing.T) { … } // Tests golang/go#38498. Delete a file and then force a reload. // Assert that we no longer try to load the file. func TestDeleteFiles(t *testing.T) { … } // This change reproduces the behavior of switching branches, with multiple // files being created and deleted. The key change here is the movement of a // symbol from one file to another in a given package through a deletion and // creation. To reproduce an issue with metadata invalidation in batched // changes, the last change in the batch is an on-disk file change that doesn't // require metadata invalidation. func TestMoveSymbol(t *testing.T) { … } // Reproduce golang/go#40456. func TestChangeVersion(t *testing.T) { … } // Reproduces golang/go#40340. func TestSwitchFromGOPATHToModuleMode(t *testing.T) { … } // Reproduces golang/go#40487. func TestSwitchFromModulesToGOPATH(t *testing.T) { … } func TestNewSymbolInTestVariant(t *testing.T) { … }