[K/JS TESTS] Migrate generating and running of invalidation tests to JUnit 5

This commit is contained in:
Artem Kobzar
2023-04-11 07:25:56 +00:00
committed by Space Team
parent ab892037df
commit 96a25b7b7d
7 changed files with 274 additions and 59 deletions
@@ -466,6 +466,17 @@ class KotlinCoreEnvironment private constructor(
return KotlinCoreEnvironment(projectEnv, configuration, extensionConfigs) return KotlinCoreEnvironment(projectEnv, configuration, extensionConfigs)
} }
@TestOnly
@JvmStatic
fun createForParallelTests(
parentDisposable: Disposable, initialConfiguration: CompilerConfiguration, extensionConfigs: EnvironmentConfigFiles
): KotlinCoreEnvironment {
val configuration = initialConfiguration.copy()
val appEnv = getOrCreateApplicationEnvironmentForTests(parentDisposable, configuration)
val projectEnv = ProjectEnvironment(parentDisposable, appEnv, configuration)
return KotlinCoreEnvironment(projectEnv, configuration, extensionConfigs)
}
@TestOnly @TestOnly
@JvmStatic @JvmStatic
fun createForTests( fun createForTests(
+8 -7
View File
@@ -325,7 +325,7 @@ fun Test.setUpBoxTests() {
forwardProperties() forwardProperties()
} }
val test = projectTest(parallel = true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { val test = projectTest(jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = true, jsIrEnabled = true, firEnabled = true, es6Enabled = true) setUpJsBoxTests(jsEnabled = true, jsIrEnabled = true, firEnabled = true, es6Enabled = true)
inputs.dir(rootDir.resolve("compiler/cli/cli-common/resources")) // compiler.xml inputs.dir(rootDir.resolve("compiler/cli/cli-common/resources")) // compiler.xml
@@ -340,26 +340,26 @@ val test = projectTest(parallel = true, jUnitMode = JUnitMode.JUnit5, maxHeapSiz
configureTestDistribution() configureTestDistribution()
} }
val jsTest = projectTest("jsTest", parallel = true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { val jsTest = projectTest("jsTest", jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = true, jsIrEnabled = false, firEnabled = false, es6Enabled = false) setUpJsBoxTests(jsEnabled = true, jsIrEnabled = false, firEnabled = false, es6Enabled = false)
useJUnitPlatform() useJUnitPlatform()
} }
projectTest("jsIrTest", true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { projectTest("jsIrTest", jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = false, es6Enabled = false) setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = false, es6Enabled = false)
useJUnitPlatform() useJUnitPlatform()
} }
projectTest("jsIrES6Test", true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { projectTest("jsIrES6Test", jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = false, es6Enabled = true) setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = false, es6Enabled = true)
useJUnitPlatform() useJUnitPlatform()
} }
projectTest("jsFirTest", true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { projectTest("jsFirTest", jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = true, es6Enabled = false) setUpJsBoxTests(jsEnabled = false, jsIrEnabled = true, firEnabled = true, es6Enabled = false)
useJUnitPlatform() useJUnitPlatform()
} }
projectTest("quickTest", parallel = true, jUnitMode = JUnitMode.JUnit5, maxHeapSizeMb = 4096) { projectTest("quickTest", jUnitMode = JUnitMode.JUnit5) {
setUpJsBoxTests(jsEnabled = true, jsIrEnabled = false, firEnabled = false, es6Enabled = false) setUpJsBoxTests(jsEnabled = true, jsIrEnabled = false, firEnabled = false, es6Enabled = false)
systemProperty("kotlin.js.skipMinificationTest", "true") systemProperty("kotlin.js.skipMinificationTest", "true")
useJUnitPlatform() useJUnitPlatform()
@@ -432,13 +432,14 @@ val runMocha by tasks.registering {
finalizedBy(mochaTest) finalizedBy(mochaTest)
} }
projectTest("invalidationTest", jUnitMode = JUnitMode.JUnit4) { projectTest("invalidationTest", jUnitMode = JUnitMode.JUnit5) {
workingDir = rootDir workingDir = rootDir
useJsIrBoxTests(version = version, buildDir = "$buildDir/") useJsIrBoxTests(version = version, buildDir = "$buildDir/")
include("org/jetbrains/kotlin/incremental/*") include("org/jetbrains/kotlin/incremental/*")
dependsOn(":dist") dependsOn(":dist")
forwardProperties() forwardProperties()
useJUnitPlatform()
} }
tasks.named("check") { tasks.named("check") {
@@ -54,6 +54,17 @@ fun main(args: Array<String>) {
} }
} }
testGroup("js/js.tests/tests-gen", "compiler/testData/binaryCompatibility", testRunnerMethodName = "runTest0") {
testClass<AbstractClassicJsKlibEvolutionTest> {
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
}
testClass<AbstractFirJsKlibEvolutionTest> {
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
}
}
}
generateTestGroupSuiteWithJUnit5(args) {
testGroup("js/js.tests/tests-gen", "js/js.translator/testData") { testGroup("js/js.tests/tests-gen", "js/js.translator/testData") {
testClass<AbstractJsIrInvalidationTest> { testClass<AbstractJsIrInvalidationTest> {
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false) model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
@@ -68,17 +79,6 @@ fun main(args: Array<String>) {
} }
} }
testGroup("js/js.tests/tests-gen", "compiler/testData/binaryCompatibility", testRunnerMethodName = "runTest0") {
testClass<AbstractClassicJsKlibEvolutionTest> {
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
}
testClass<AbstractFirJsKlibEvolutionTest> {
model("klibEvolution", targetBackend = TargetBackend.JS_IR)
}
}
}
generateTestGroupSuiteWithJUnit5(args) {
testGroup("js/js.tests/tests-gen", "js/js.translator/testData", testRunnerMethodName = "runTest0") { testGroup("js/js.tests/tests-gen", "js/js.translator/testData", testRunnerMethodName = "runTest0") {
testClass<AbstractBoxJsTest> { testClass<AbstractBoxJsTest> {
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("closure/inlineAnonymousFunctions", "es6classes")) model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("closure/inlineAnonymousFunctions", "es6classes"))
@@ -10,6 +10,7 @@ import com.intellij.openapi.vfs.VirtualFileManager
import com.intellij.openapi.vfs.local.CoreLocalFileSystem import com.intellij.openapi.vfs.local.CoreLocalFileSystem
import com.intellij.psi.PsiManager import com.intellij.psi.PsiManager
import com.intellij.psi.SingleRootFileViewProvider import com.intellij.psi.SingleRootFileViewProvider
import com.intellij.testFramework.TestDataFile
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
import org.jetbrains.kotlin.backend.common.phaser.toPhaseMap import org.jetbrains.kotlin.backend.common.phaser.toPhaseMap
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
@@ -19,10 +20,12 @@ import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.ir.backend.js.* import org.jetbrains.kotlin.ir.backend.js.JsIrCompilerWithIC
import org.jetbrains.kotlin.ir.backend.js.ic.*
import org.jetbrains.kotlin.ir.backend.js.SourceMapsInfo import org.jetbrains.kotlin.ir.backend.js.SourceMapsInfo
import org.jetbrains.kotlin.ir.backend.js.WholeWorldStageController
import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
import org.jetbrains.kotlin.ir.backend.js.ic.*
import org.jetbrains.kotlin.ir.backend.js.jsPhases
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.CompilationOutputs import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.CompilationOutputs
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.safeModuleName import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.safeModuleName
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC
@@ -35,19 +38,17 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.serialization.js.ModuleKind import org.jetbrains.kotlin.serialization.js.ModuleKind
import org.jetbrains.kotlin.test.DebugMode import org.jetbrains.kotlin.test.DebugMode
import org.jetbrains.kotlin.test.builders.LanguageVersionSettingsBuilder
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment
import org.jetbrains.kotlin.test.TargetBackend import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.test.builders.LanguageVersionSettingsBuilder
import org.jetbrains.kotlin.test.util.JUnit4Assertions import org.jetbrains.kotlin.test.util.JUnit4Assertions
import org.jetbrains.kotlin.test.utils.TestDisposable
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
import org.junit.ComparisonFailure import org.junit.ComparisonFailure
import org.junit.jupiter.api.AfterEach
import java.io.File import java.io.File
import java.util.EnumSet import java.util.*
abstract class AbstractInvalidationTest( abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend, private val workingDirPath: String) {
private val targetBackend: TargetBackend,
private val workingDirPath: String
) : KotlinTestWithEnvironment() {
companion object { companion object {
private val OUT_DIR_PATH = System.getProperty("kotlin.js.test.root.out.dir") ?: error("'kotlin.js.test.root.out.dir' is not set") private val OUT_DIR_PATH = System.getProperty("kotlin.js.test.root.out.dir") ?: error("'kotlin.js.test.root.out.dir' is not set")
private val STDLIB_KLIB = File(System.getProperty("kotlin.js.stdlib.klib.path") ?: error("Please set stdlib path")).canonicalPath private val STDLIB_KLIB = File(System.getProperty("kotlin.js.stdlib.klib.path") ?: error("Please set stdlib path")).canonicalPath
@@ -63,14 +64,12 @@ abstract class AbstractInvalidationTest(
} }
private val zipAccessor = ZipFileSystemCacheableAccessor(2) private val zipAccessor = ZipFileSystemCacheableAccessor(2)
protected val environment =
KotlinCoreEnvironment.createForParallelTests(TestDisposable(), CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
override fun createEnvironment(): KotlinCoreEnvironment { @AfterEach
return KotlinCoreEnvironment.createForTests(TestDisposable(), CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES) protected fun clearZipAccessor() {
}
override fun tearDown() {
zipAccessor.reset() zipAccessor.reset()
super.tearDown()
} }
private fun parseProjectInfo(testName: String, infoFile: File): ProjectInfo { private fun parseProjectInfo(testName: String, infoFile: File): ProjectInfo {
@@ -84,13 +83,13 @@ abstract class AbstractInvalidationTest(
private val File.filesInDir private val File.filesInDir
get() = listFiles() ?: error("cannot retrieve the file list for $absolutePath directory") get() = listFiles() ?: error("cannot retrieve the file list for $absolutePath directory")
protected fun doTest(testPath: String) { protected fun runTest(@TestDataFile testPath: String) {
val testDirectory = File(testPath) val testDirectory = File(testPath)
val testName = testDirectory.name val testName = testDirectory.name
val projectInfoFile = File(testDirectory, PROJECT_INFO_FILE) val projectInfoFile = File(testDirectory, PROJECT_INFO_FILE)
val projectInfo = parseProjectInfo(testName, projectInfoFile) val projectInfo = parseProjectInfo(testName, projectInfoFile)
if (isIgnoredTest(projectInfo)){ if (isIgnoredTest(projectInfo)) {
return return
} }
@@ -6,12 +6,11 @@
package org.jetbrains.kotlin.incremental; package org.jetbrains.kotlin.incremental;
import com.intellij.testFramework.TestDataPath; import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil; import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend; import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata; import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.io.File; import java.io.File;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -20,376 +19,445 @@ import java.util.regex.Pattern;
@SuppressWarnings("all") @SuppressWarnings("all")
@TestMetadata("js/js.translator/testData/incremental/invalidation") @TestMetadata("js/js.translator/testData/incremental/invalidation")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTest { public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTest {
private void runTest(String testDataFilePath) throws Exception { @Test
KotlinTestUtils.runTest(this::doTest, TargetBackend.JS_IR, testDataFilePath);
}
@TestMetadata("addUpdateRemoveDependentFile") @TestMetadata("addUpdateRemoveDependentFile")
public void testAddUpdateRemoveDependentFile() throws Exception { public void testAddUpdateRemoveDependentFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
} }
@Test
@TestMetadata("addUpdateRemoveDependentModule") @TestMetadata("addUpdateRemoveDependentModule")
public void testAddUpdateRemoveDependentModule() throws Exception { public void testAddUpdateRemoveDependentModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
} }
@Test
public void testAllFilesPresentInInvalidation() throws Exception { public void testAllFilesPresentInInvalidation() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false); KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
} }
@Test
@TestMetadata("circleExportsUpdate") @TestMetadata("circleExportsUpdate")
public void testCircleExportsUpdate() throws Exception { public void testCircleExportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
} }
@Test
@TestMetadata("circleInlineImportsUpdate") @TestMetadata("circleInlineImportsUpdate")
public void testCircleInlineImportsUpdate() throws Exception { public void testCircleInlineImportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
} }
@Test
@TestMetadata("class") @TestMetadata("class")
public void testClass() throws Exception { public void testClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/class/"); runTest("js/js.translator/testData/incremental/invalidation/class/");
} }
@Test
@TestMetadata("classFunctionsAndFields") @TestMetadata("classFunctionsAndFields")
public void testClassFunctionsAndFields() throws Exception { public void testClassFunctionsAndFields() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
} }
@Test
@TestMetadata("companionFunction") @TestMetadata("companionFunction")
public void testCompanionFunction() throws Exception { public void testCompanionFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
} }
@Test
@TestMetadata("companionInlineFunction") @TestMetadata("companionInlineFunction")
public void testCompanionInlineFunction() throws Exception { public void testCompanionInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
} }
@Test
@TestMetadata("companionProperties") @TestMetadata("companionProperties")
public void testCompanionProperties() throws Exception { public void testCompanionProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/"); runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
} }
@Test
@TestMetadata("companionWithStdLibCall") @TestMetadata("companionWithStdLibCall")
public void testCompanionWithStdLibCall() throws Exception { public void testCompanionWithStdLibCall() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/"); runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
} }
@Test
@TestMetadata("constVals") @TestMetadata("constVals")
public void testConstVals() throws Exception { public void testConstVals() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/constVals/"); runTest("js/js.translator/testData/incremental/invalidation/constVals/");
} }
@Test
@TestMetadata("crossModuleReferences") @TestMetadata("crossModuleReferences")
public void testCrossModuleReferences() throws Exception { public void testCrossModuleReferences() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/"); runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
} }
@Test
@TestMetadata("eagerInitialization") @TestMetadata("eagerInitialization")
public void testEagerInitialization() throws Exception { public void testEagerInitialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/"); runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
} }
@Test
@TestMetadata("enum") @TestMetadata("enum")
public void testEnum() throws Exception { public void testEnum() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enum/"); runTest("js/js.translator/testData/incremental/invalidation/enum/");
} }
@Test
@TestMetadata("enumsInInlineFunctions") @TestMetadata("enumsInInlineFunctions")
public void testEnumsInInlineFunctions() throws Exception { public void testEnumsInInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
} }
@Test
@TestMetadata("exceptionsFromInlineFunction") @TestMetadata("exceptionsFromInlineFunction")
public void testExceptionsFromInlineFunction() throws Exception { public void testExceptionsFromInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
} }
@Test
@TestMetadata("exportsThroughInlineFunction") @TestMetadata("exportsThroughInlineFunction")
public void testExportsThroughInlineFunction() throws Exception { public void testExportsThroughInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideClassFunctionQualifiers") @TestMetadata("fakeOverrideClassFunctionQualifiers")
public void testFakeOverrideClassFunctionQualifiers() throws Exception { public void testFakeOverrideClassFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
} }
@Test
@TestMetadata("fakeOverrideInheritance") @TestMetadata("fakeOverrideInheritance")
public void testFakeOverrideInheritance() throws Exception { public void testFakeOverrideInheritance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
} }
@Test
@TestMetadata("fakeOverrideInlineExtension") @TestMetadata("fakeOverrideInlineExtension")
public void testFakeOverrideInlineExtension() throws Exception { public void testFakeOverrideInlineExtension() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
} }
@Test
@TestMetadata("fakeOverrideInlineFunction") @TestMetadata("fakeOverrideInlineFunction")
public void testFakeOverrideInlineFunction() throws Exception { public void testFakeOverrideInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideInlineProperty") @TestMetadata("fakeOverrideInlineProperty")
public void testFakeOverrideInlineProperty() throws Exception { public void testFakeOverrideInlineProperty() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
} }
@Test
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers") @TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception { public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
} }
@Test
@TestMetadata("fastPath1") @TestMetadata("fastPath1")
public void testFastPath1() throws Exception { public void testFastPath1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
} }
@Test
@TestMetadata("fastPath2") @TestMetadata("fastPath2")
public void testFastPath2() throws Exception { public void testFastPath2() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
} }
@Test
@TestMetadata("friendDependency") @TestMetadata("friendDependency")
public void testFriendDependency() throws Exception { public void testFriendDependency() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/"); runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
} }
@Test
@TestMetadata("functionDefaultParams") @TestMetadata("functionDefaultParams")
public void testFunctionDefaultParams() throws Exception { public void testFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
} }
@Test
@TestMetadata("functionSignature") @TestMetadata("functionSignature")
public void testFunctionSignature() throws Exception { public void testFunctionSignature() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/"); runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
} }
@Test
@TestMetadata("functionTypeInterface") @TestMetadata("functionTypeInterface")
public void testFunctionTypeInterface() throws Exception { public void testFunctionTypeInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
} }
@Test
@TestMetadata("functionTypeInterfaceReflect") @TestMetadata("functionTypeInterfaceReflect")
public void testFunctionTypeInterfaceReflect() throws Exception { public void testFunctionTypeInterfaceReflect() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
} }
@Test
@TestMetadata("genericFunctions") @TestMetadata("genericFunctions")
public void testGenericFunctions() throws Exception { public void testGenericFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
} }
@Test
@TestMetadata("genericInlineFunctions") @TestMetadata("genericInlineFunctions")
public void testGenericInlineFunctions() throws Exception { public void testGenericInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
} }
@Test
@TestMetadata("gettersAndSettersInlining") @TestMetadata("gettersAndSettersInlining")
public void testGettersAndSettersInlining() throws Exception { public void testGettersAndSettersInlining() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/"); runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
} }
@Test
@TestMetadata("inlineBecomeNonInline") @TestMetadata("inlineBecomeNonInline")
public void testInlineBecomeNonInline() throws Exception { public void testInlineBecomeNonInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/"); runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
} }
@Test
@TestMetadata("inlineFunctionAnnotations") @TestMetadata("inlineFunctionAnnotations")
public void testInlineFunctionAnnotations() throws Exception { public void testInlineFunctionAnnotations() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
} }
@Test
@TestMetadata("inlineFunctionAsFunctionReference") @TestMetadata("inlineFunctionAsFunctionReference")
public void testInlineFunctionAsFunctionReference() throws Exception { public void testInlineFunctionAsFunctionReference() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
} }
@Test
@TestMetadata("inlineFunctionAsParam") @TestMetadata("inlineFunctionAsParam")
public void testInlineFunctionAsParam() throws Exception { public void testInlineFunctionAsParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
} }
@Test
@TestMetadata("inlineFunctionCircleUsage") @TestMetadata("inlineFunctionCircleUsage")
public void testInlineFunctionCircleUsage() throws Exception { public void testInlineFunctionCircleUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
} }
@Test
@TestMetadata("inlineFunctionDefaultParams") @TestMetadata("inlineFunctionDefaultParams")
public void testInlineFunctionDefaultParams() throws Exception { public void testInlineFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
} }
@Test
@TestMetadata("inlineFunctionWithObject") @TestMetadata("inlineFunctionWithObject")
public void testInlineFunctionWithObject() throws Exception { public void testInlineFunctionWithObject() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
} }
@Test
@TestMetadata("interfaceSuperUsage") @TestMetadata("interfaceSuperUsage")
public void testInterfaceSuperUsage() throws Exception { public void testInterfaceSuperUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
} }
@Test
@TestMetadata("interfaceWithDefaultParams") @TestMetadata("interfaceWithDefaultParams")
public void testInterfaceWithDefaultParams() throws Exception { public void testInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
} }
@Test
@TestMetadata("jsCode") @TestMetadata("jsCode")
public void testJsCode() throws Exception { public void testJsCode() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCode/"); runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
} }
@Test
@TestMetadata("jsCodeWithConstString") @TestMetadata("jsCodeWithConstString")
public void testJsCodeWithConstString() throws Exception { public void testJsCodeWithConstString() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
} }
@Test
@TestMetadata("jsExport") @TestMetadata("jsExport")
public void testJsExport() throws Exception { public void testJsExport() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/"); runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
} }
@Test
@TestMetadata("jsModuleAnnotation") @TestMetadata("jsModuleAnnotation")
public void testJsModuleAnnotation() throws Exception { public void testJsModuleAnnotation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/"); runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
} }
@Test
@TestMetadata("languageVersionSettings") @TestMetadata("languageVersionSettings")
public void testLanguageVersionSettings() throws Exception { public void testLanguageVersionSettings() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/"); runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
} }
@Test
@TestMetadata("localInlineFunction") @TestMetadata("localInlineFunction")
public void testLocalInlineFunction() throws Exception { public void testLocalInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
} }
@Test
@TestMetadata("mainModuleInvalidation") @TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception { public void testMainModuleInvalidation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/"); runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
} }
@Test
@TestMetadata("moveAndModifyInlineFunction") @TestMetadata("moveAndModifyInlineFunction")
public void testMoveAndModifyInlineFunction() throws Exception { public void testMoveAndModifyInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
} }
@Test
@TestMetadata("moveExternalDeclarationsBetweenJsModules") @TestMetadata("moveExternalDeclarationsBetweenJsModules")
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception { public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
} }
@Test
@TestMetadata("moveFilesBetweenModules") @TestMetadata("moveFilesBetweenModules")
public void testMoveFilesBetweenModules() throws Exception { public void testMoveFilesBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
} }
@Test
@TestMetadata("moveInlineFunctionBetweenModules") @TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() throws Exception { public void testMoveInlineFunctionBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
} }
@Test
@TestMetadata("nestedClass") @TestMetadata("nestedClass")
public void testNestedClass() throws Exception { public void testNestedClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/"); runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
} }
@Test
@TestMetadata("nonInlineBecomeInline") @TestMetadata("nonInlineBecomeInline")
public void testNonInlineBecomeInline() throws Exception { public void testNonInlineBecomeInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/"); runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
} }
@Test
@TestMetadata("privateDeclarationLeakThroughDefaultParam") @TestMetadata("privateDeclarationLeakThroughDefaultParam")
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception { public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/"); runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
} }
@Test
@TestMetadata("privateInlineFunction1") @TestMetadata("privateInlineFunction1")
public void testPrivateInlineFunction1() throws Exception { public void testPrivateInlineFunction1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/"); runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
} }
@Test
@TestMetadata("removeFile") @TestMetadata("removeFile")
public void testRemoveFile() throws Exception { public void testRemoveFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
} }
@Test
@TestMetadata("removeModule") @TestMetadata("removeModule")
public void testRemoveModule() throws Exception { public void testRemoveModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeModule/"); runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
} }
@Test
@TestMetadata("removeUnusedFile") @TestMetadata("removeUnusedFile")
public void testRemoveUnusedFile() throws Exception { public void testRemoveUnusedFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
} }
@Test
@TestMetadata("renameFile") @TestMetadata("renameFile")
public void testRenameFile() throws Exception { public void testRenameFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameFile/"); runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
} }
@Test
@TestMetadata("renameModule") @TestMetadata("renameModule")
public void testRenameModule() throws Exception { public void testRenameModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameModule/"); runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
} }
@Test
@TestMetadata("simple") @TestMetadata("simple")
public void testSimple() throws Exception { public void testSimple() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/simple/"); runTest("js/js.translator/testData/incremental/invalidation/simple/");
} }
@Test
@TestMetadata("splitJoinModule") @TestMetadata("splitJoinModule")
public void testSplitJoinModule() throws Exception { public void testSplitJoinModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/"); runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
} }
@Test
@TestMetadata("suspendFunctions") @TestMetadata("suspendFunctions")
public void testSuspendFunctions() throws Exception { public void testSuspendFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
} }
@Test
@TestMetadata("suspendInterfaceWithDefaultParams") @TestMetadata("suspendInterfaceWithDefaultParams")
public void testSuspendInterfaceWithDefaultParams() throws Exception { public void testSuspendInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
} }
@Test
@TestMetadata("toplevelProperties") @TestMetadata("toplevelProperties")
public void testToplevelProperties() throws Exception { public void testToplevelProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/"); runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
} }
@Test
@TestMetadata("transitiveInlineFunction") @TestMetadata("transitiveInlineFunction")
public void testTransitiveInlineFunction() throws Exception { public void testTransitiveInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
} }
@Test
@TestMetadata("typeScriptExports") @TestMetadata("typeScriptExports")
public void testTypeScriptExports() throws Exception { public void testTypeScriptExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/"); runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
} }
@Test
@TestMetadata("unicodeSerializationAndDeserialization") @TestMetadata("unicodeSerializationAndDeserialization")
public void testUnicodeSerializationAndDeserialization() throws Exception { public void testUnicodeSerializationAndDeserialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/"); runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
} }
@Test
@TestMetadata("updateExports") @TestMetadata("updateExports")
public void testUpdateExports() throws Exception { public void testUpdateExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
} }
@Test
@TestMetadata("updateExportsAndInlineImports") @TestMetadata("updateExportsAndInlineImports")
public void testUpdateExportsAndInlineImports() throws Exception { public void testUpdateExportsAndInlineImports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
} }
@Test
@TestMetadata("variance") @TestMetadata("variance")
public void testVariance() throws Exception { public void testVariance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/variance/"); runTest("js/js.translator/testData/incremental/invalidation/variance/");
@@ -6,12 +6,11 @@
package org.jetbrains.kotlin.incremental; package org.jetbrains.kotlin.incremental;
import com.intellij.testFramework.TestDataPath; import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil; import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend; import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata; import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.io.File; import java.io.File;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -20,376 +19,445 @@ import java.util.regex.Pattern;
@SuppressWarnings("all") @SuppressWarnings("all")
@TestMetadata("js/js.translator/testData/incremental/invalidation") @TestMetadata("js/js.translator/testData/incremental/invalidation")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6InvalidationTest { public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6InvalidationTest {
private void runTest(String testDataFilePath) throws Exception { @Test
KotlinTestUtils.runTest(this::doTest, TargetBackend.JS_IR_ES6, testDataFilePath);
}
@TestMetadata("addUpdateRemoveDependentFile") @TestMetadata("addUpdateRemoveDependentFile")
public void testAddUpdateRemoveDependentFile() throws Exception { public void testAddUpdateRemoveDependentFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
} }
@Test
@TestMetadata("addUpdateRemoveDependentModule") @TestMetadata("addUpdateRemoveDependentModule")
public void testAddUpdateRemoveDependentModule() throws Exception { public void testAddUpdateRemoveDependentModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
} }
@Test
public void testAllFilesPresentInInvalidation() throws Exception { public void testAllFilesPresentInInvalidation() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR_ES6, false); KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR_ES6, false);
} }
@Test
@TestMetadata("circleExportsUpdate") @TestMetadata("circleExportsUpdate")
public void testCircleExportsUpdate() throws Exception { public void testCircleExportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
} }
@Test
@TestMetadata("circleInlineImportsUpdate") @TestMetadata("circleInlineImportsUpdate")
public void testCircleInlineImportsUpdate() throws Exception { public void testCircleInlineImportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
} }
@Test
@TestMetadata("class") @TestMetadata("class")
public void testClass() throws Exception { public void testClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/class/"); runTest("js/js.translator/testData/incremental/invalidation/class/");
} }
@Test
@TestMetadata("classFunctionsAndFields") @TestMetadata("classFunctionsAndFields")
public void testClassFunctionsAndFields() throws Exception { public void testClassFunctionsAndFields() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
} }
@Test
@TestMetadata("companionFunction") @TestMetadata("companionFunction")
public void testCompanionFunction() throws Exception { public void testCompanionFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
} }
@Test
@TestMetadata("companionInlineFunction") @TestMetadata("companionInlineFunction")
public void testCompanionInlineFunction() throws Exception { public void testCompanionInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
} }
@Test
@TestMetadata("companionProperties") @TestMetadata("companionProperties")
public void testCompanionProperties() throws Exception { public void testCompanionProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/"); runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
} }
@Test
@TestMetadata("companionWithStdLibCall") @TestMetadata("companionWithStdLibCall")
public void testCompanionWithStdLibCall() throws Exception { public void testCompanionWithStdLibCall() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/"); runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
} }
@Test
@TestMetadata("constVals") @TestMetadata("constVals")
public void testConstVals() throws Exception { public void testConstVals() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/constVals/"); runTest("js/js.translator/testData/incremental/invalidation/constVals/");
} }
@Test
@TestMetadata("crossModuleReferences") @TestMetadata("crossModuleReferences")
public void testCrossModuleReferences() throws Exception { public void testCrossModuleReferences() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/"); runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
} }
@Test
@TestMetadata("eagerInitialization") @TestMetadata("eagerInitialization")
public void testEagerInitialization() throws Exception { public void testEagerInitialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/"); runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
} }
@Test
@TestMetadata("enum") @TestMetadata("enum")
public void testEnum() throws Exception { public void testEnum() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enum/"); runTest("js/js.translator/testData/incremental/invalidation/enum/");
} }
@Test
@TestMetadata("enumsInInlineFunctions") @TestMetadata("enumsInInlineFunctions")
public void testEnumsInInlineFunctions() throws Exception { public void testEnumsInInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
} }
@Test
@TestMetadata("exceptionsFromInlineFunction") @TestMetadata("exceptionsFromInlineFunction")
public void testExceptionsFromInlineFunction() throws Exception { public void testExceptionsFromInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
} }
@Test
@TestMetadata("exportsThroughInlineFunction") @TestMetadata("exportsThroughInlineFunction")
public void testExportsThroughInlineFunction() throws Exception { public void testExportsThroughInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideClassFunctionQualifiers") @TestMetadata("fakeOverrideClassFunctionQualifiers")
public void testFakeOverrideClassFunctionQualifiers() throws Exception { public void testFakeOverrideClassFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
} }
@Test
@TestMetadata("fakeOverrideInheritance") @TestMetadata("fakeOverrideInheritance")
public void testFakeOverrideInheritance() throws Exception { public void testFakeOverrideInheritance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
} }
@Test
@TestMetadata("fakeOverrideInlineExtension") @TestMetadata("fakeOverrideInlineExtension")
public void testFakeOverrideInlineExtension() throws Exception { public void testFakeOverrideInlineExtension() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
} }
@Test
@TestMetadata("fakeOverrideInlineFunction") @TestMetadata("fakeOverrideInlineFunction")
public void testFakeOverrideInlineFunction() throws Exception { public void testFakeOverrideInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideInlineProperty") @TestMetadata("fakeOverrideInlineProperty")
public void testFakeOverrideInlineProperty() throws Exception { public void testFakeOverrideInlineProperty() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
} }
@Test
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers") @TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception { public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
} }
@Test
@TestMetadata("fastPath1") @TestMetadata("fastPath1")
public void testFastPath1() throws Exception { public void testFastPath1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
} }
@Test
@TestMetadata("fastPath2") @TestMetadata("fastPath2")
public void testFastPath2() throws Exception { public void testFastPath2() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
} }
@Test
@TestMetadata("friendDependency") @TestMetadata("friendDependency")
public void testFriendDependency() throws Exception { public void testFriendDependency() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/"); runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
} }
@Test
@TestMetadata("functionDefaultParams") @TestMetadata("functionDefaultParams")
public void testFunctionDefaultParams() throws Exception { public void testFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
} }
@Test
@TestMetadata("functionSignature") @TestMetadata("functionSignature")
public void testFunctionSignature() throws Exception { public void testFunctionSignature() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/"); runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
} }
@Test
@TestMetadata("functionTypeInterface") @TestMetadata("functionTypeInterface")
public void testFunctionTypeInterface() throws Exception { public void testFunctionTypeInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
} }
@Test
@TestMetadata("functionTypeInterfaceReflect") @TestMetadata("functionTypeInterfaceReflect")
public void testFunctionTypeInterfaceReflect() throws Exception { public void testFunctionTypeInterfaceReflect() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
} }
@Test
@TestMetadata("genericFunctions") @TestMetadata("genericFunctions")
public void testGenericFunctions() throws Exception { public void testGenericFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
} }
@Test
@TestMetadata("genericInlineFunctions") @TestMetadata("genericInlineFunctions")
public void testGenericInlineFunctions() throws Exception { public void testGenericInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
} }
@Test
@TestMetadata("gettersAndSettersInlining") @TestMetadata("gettersAndSettersInlining")
public void testGettersAndSettersInlining() throws Exception { public void testGettersAndSettersInlining() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/"); runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
} }
@Test
@TestMetadata("inlineBecomeNonInline") @TestMetadata("inlineBecomeNonInline")
public void testInlineBecomeNonInline() throws Exception { public void testInlineBecomeNonInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/"); runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
} }
@Test
@TestMetadata("inlineFunctionAnnotations") @TestMetadata("inlineFunctionAnnotations")
public void testInlineFunctionAnnotations() throws Exception { public void testInlineFunctionAnnotations() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
} }
@Test
@TestMetadata("inlineFunctionAsFunctionReference") @TestMetadata("inlineFunctionAsFunctionReference")
public void testInlineFunctionAsFunctionReference() throws Exception { public void testInlineFunctionAsFunctionReference() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
} }
@Test
@TestMetadata("inlineFunctionAsParam") @TestMetadata("inlineFunctionAsParam")
public void testInlineFunctionAsParam() throws Exception { public void testInlineFunctionAsParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
} }
@Test
@TestMetadata("inlineFunctionCircleUsage") @TestMetadata("inlineFunctionCircleUsage")
public void testInlineFunctionCircleUsage() throws Exception { public void testInlineFunctionCircleUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
} }
@Test
@TestMetadata("inlineFunctionDefaultParams") @TestMetadata("inlineFunctionDefaultParams")
public void testInlineFunctionDefaultParams() throws Exception { public void testInlineFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
} }
@Test
@TestMetadata("inlineFunctionWithObject") @TestMetadata("inlineFunctionWithObject")
public void testInlineFunctionWithObject() throws Exception { public void testInlineFunctionWithObject() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
} }
@Test
@TestMetadata("interfaceSuperUsage") @TestMetadata("interfaceSuperUsage")
public void testInterfaceSuperUsage() throws Exception { public void testInterfaceSuperUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
} }
@Test
@TestMetadata("interfaceWithDefaultParams") @TestMetadata("interfaceWithDefaultParams")
public void testInterfaceWithDefaultParams() throws Exception { public void testInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
} }
@Test
@TestMetadata("jsCode") @TestMetadata("jsCode")
public void testJsCode() throws Exception { public void testJsCode() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCode/"); runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
} }
@Test
@TestMetadata("jsCodeWithConstString") @TestMetadata("jsCodeWithConstString")
public void testJsCodeWithConstString() throws Exception { public void testJsCodeWithConstString() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
} }
@Test
@TestMetadata("jsExport") @TestMetadata("jsExport")
public void testJsExport() throws Exception { public void testJsExport() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/"); runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
} }
@Test
@TestMetadata("jsModuleAnnotation") @TestMetadata("jsModuleAnnotation")
public void testJsModuleAnnotation() throws Exception { public void testJsModuleAnnotation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/"); runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
} }
@Test
@TestMetadata("languageVersionSettings") @TestMetadata("languageVersionSettings")
public void testLanguageVersionSettings() throws Exception { public void testLanguageVersionSettings() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/"); runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
} }
@Test
@TestMetadata("localInlineFunction") @TestMetadata("localInlineFunction")
public void testLocalInlineFunction() throws Exception { public void testLocalInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
} }
@Test
@TestMetadata("mainModuleInvalidation") @TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception { public void testMainModuleInvalidation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/"); runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
} }
@Test
@TestMetadata("moveAndModifyInlineFunction") @TestMetadata("moveAndModifyInlineFunction")
public void testMoveAndModifyInlineFunction() throws Exception { public void testMoveAndModifyInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
} }
@Test
@TestMetadata("moveExternalDeclarationsBetweenJsModules") @TestMetadata("moveExternalDeclarationsBetweenJsModules")
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception { public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
} }
@Test
@TestMetadata("moveFilesBetweenModules") @TestMetadata("moveFilesBetweenModules")
public void testMoveFilesBetweenModules() throws Exception { public void testMoveFilesBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
} }
@Test
@TestMetadata("moveInlineFunctionBetweenModules") @TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() throws Exception { public void testMoveInlineFunctionBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
} }
@Test
@TestMetadata("nestedClass") @TestMetadata("nestedClass")
public void testNestedClass() throws Exception { public void testNestedClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/"); runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
} }
@Test
@TestMetadata("nonInlineBecomeInline") @TestMetadata("nonInlineBecomeInline")
public void testNonInlineBecomeInline() throws Exception { public void testNonInlineBecomeInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/"); runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
} }
@Test
@TestMetadata("privateDeclarationLeakThroughDefaultParam") @TestMetadata("privateDeclarationLeakThroughDefaultParam")
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception { public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/"); runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
} }
@Test
@TestMetadata("privateInlineFunction1") @TestMetadata("privateInlineFunction1")
public void testPrivateInlineFunction1() throws Exception { public void testPrivateInlineFunction1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/"); runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
} }
@Test
@TestMetadata("removeFile") @TestMetadata("removeFile")
public void testRemoveFile() throws Exception { public void testRemoveFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
} }
@Test
@TestMetadata("removeModule") @TestMetadata("removeModule")
public void testRemoveModule() throws Exception { public void testRemoveModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeModule/"); runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
} }
@Test
@TestMetadata("removeUnusedFile") @TestMetadata("removeUnusedFile")
public void testRemoveUnusedFile() throws Exception { public void testRemoveUnusedFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
} }
@Test
@TestMetadata("renameFile") @TestMetadata("renameFile")
public void testRenameFile() throws Exception { public void testRenameFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameFile/"); runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
} }
@Test
@TestMetadata("renameModule") @TestMetadata("renameModule")
public void testRenameModule() throws Exception { public void testRenameModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameModule/"); runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
} }
@Test
@TestMetadata("simple") @TestMetadata("simple")
public void testSimple() throws Exception { public void testSimple() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/simple/"); runTest("js/js.translator/testData/incremental/invalidation/simple/");
} }
@Test
@TestMetadata("splitJoinModule") @TestMetadata("splitJoinModule")
public void testSplitJoinModule() throws Exception { public void testSplitJoinModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/"); runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
} }
@Test
@TestMetadata("suspendFunctions") @TestMetadata("suspendFunctions")
public void testSuspendFunctions() throws Exception { public void testSuspendFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
} }
@Test
@TestMetadata("suspendInterfaceWithDefaultParams") @TestMetadata("suspendInterfaceWithDefaultParams")
public void testSuspendInterfaceWithDefaultParams() throws Exception { public void testSuspendInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
} }
@Test
@TestMetadata("toplevelProperties") @TestMetadata("toplevelProperties")
public void testToplevelProperties() throws Exception { public void testToplevelProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/"); runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
} }
@Test
@TestMetadata("transitiveInlineFunction") @TestMetadata("transitiveInlineFunction")
public void testTransitiveInlineFunction() throws Exception { public void testTransitiveInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
} }
@Test
@TestMetadata("typeScriptExports") @TestMetadata("typeScriptExports")
public void testTypeScriptExports() throws Exception { public void testTypeScriptExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/"); runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
} }
@Test
@TestMetadata("unicodeSerializationAndDeserialization") @TestMetadata("unicodeSerializationAndDeserialization")
public void testUnicodeSerializationAndDeserialization() throws Exception { public void testUnicodeSerializationAndDeserialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/"); runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
} }
@Test
@TestMetadata("updateExports") @TestMetadata("updateExports")
public void testUpdateExports() throws Exception { public void testUpdateExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
} }
@Test
@TestMetadata("updateExportsAndInlineImports") @TestMetadata("updateExportsAndInlineImports")
public void testUpdateExportsAndInlineImports() throws Exception { public void testUpdateExportsAndInlineImports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
} }
@Test
@TestMetadata("variance") @TestMetadata("variance")
public void testVariance() throws Exception { public void testVariance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/variance/"); runTest("js/js.translator/testData/incremental/invalidation/variance/");
@@ -6,12 +6,11 @@
package org.jetbrains.kotlin.incremental; package org.jetbrains.kotlin.incremental;
import com.intellij.testFramework.TestDataPath; import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil; import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend; import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata; import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.io.File; import java.io.File;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -20,376 +19,445 @@ import java.util.regex.Pattern;
@SuppressWarnings("all") @SuppressWarnings("all")
@TestMetadata("js/js.translator/testData/incremental/invalidation") @TestMetadata("js/js.translator/testData/incremental/invalidation")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest { public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest {
private void runTest(String testDataFilePath) throws Exception { @Test
KotlinTestUtils.runTest(this::doTest, TargetBackend.JS_IR, testDataFilePath);
}
@TestMetadata("addUpdateRemoveDependentFile") @TestMetadata("addUpdateRemoveDependentFile")
public void testAddUpdateRemoveDependentFile() throws Exception { public void testAddUpdateRemoveDependentFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
} }
@Test
@TestMetadata("addUpdateRemoveDependentModule") @TestMetadata("addUpdateRemoveDependentModule")
public void testAddUpdateRemoveDependentModule() throws Exception { public void testAddUpdateRemoveDependentModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/"); runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
} }
@Test
public void testAllFilesPresentInInvalidation() throws Exception { public void testAllFilesPresentInInvalidation() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false); KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
} }
@Test
@TestMetadata("circleExportsUpdate") @TestMetadata("circleExportsUpdate")
public void testCircleExportsUpdate() throws Exception { public void testCircleExportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
} }
@Test
@TestMetadata("circleInlineImportsUpdate") @TestMetadata("circleInlineImportsUpdate")
public void testCircleInlineImportsUpdate() throws Exception { public void testCircleInlineImportsUpdate() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/"); runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
} }
@Test
@TestMetadata("class") @TestMetadata("class")
public void testClass() throws Exception { public void testClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/class/"); runTest("js/js.translator/testData/incremental/invalidation/class/");
} }
@Test
@TestMetadata("classFunctionsAndFields") @TestMetadata("classFunctionsAndFields")
public void testClassFunctionsAndFields() throws Exception { public void testClassFunctionsAndFields() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
} }
@Test
@TestMetadata("companionFunction") @TestMetadata("companionFunction")
public void testCompanionFunction() throws Exception { public void testCompanionFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
} }
@Test
@TestMetadata("companionInlineFunction") @TestMetadata("companionInlineFunction")
public void testCompanionInlineFunction() throws Exception { public void testCompanionInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
} }
@Test
@TestMetadata("companionProperties") @TestMetadata("companionProperties")
public void testCompanionProperties() throws Exception { public void testCompanionProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/"); runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
} }
@Test
@TestMetadata("companionWithStdLibCall") @TestMetadata("companionWithStdLibCall")
public void testCompanionWithStdLibCall() throws Exception { public void testCompanionWithStdLibCall() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/"); runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
} }
@Test
@TestMetadata("constVals") @TestMetadata("constVals")
public void testConstVals() throws Exception { public void testConstVals() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/constVals/"); runTest("js/js.translator/testData/incremental/invalidation/constVals/");
} }
@Test
@TestMetadata("crossModuleReferences") @TestMetadata("crossModuleReferences")
public void testCrossModuleReferences() throws Exception { public void testCrossModuleReferences() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/"); runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
} }
@Test
@TestMetadata("eagerInitialization") @TestMetadata("eagerInitialization")
public void testEagerInitialization() throws Exception { public void testEagerInitialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/"); runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
} }
@Test
@TestMetadata("enum") @TestMetadata("enum")
public void testEnum() throws Exception { public void testEnum() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enum/"); runTest("js/js.translator/testData/incremental/invalidation/enum/");
} }
@Test
@TestMetadata("enumsInInlineFunctions") @TestMetadata("enumsInInlineFunctions")
public void testEnumsInInlineFunctions() throws Exception { public void testEnumsInInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
} }
@Test
@TestMetadata("exceptionsFromInlineFunction") @TestMetadata("exceptionsFromInlineFunction")
public void testExceptionsFromInlineFunction() throws Exception { public void testExceptionsFromInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
} }
@Test
@TestMetadata("exportsThroughInlineFunction") @TestMetadata("exportsThroughInlineFunction")
public void testExportsThroughInlineFunction() throws Exception { public void testExportsThroughInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideClassFunctionQualifiers") @TestMetadata("fakeOverrideClassFunctionQualifiers")
public void testFakeOverrideClassFunctionQualifiers() throws Exception { public void testFakeOverrideClassFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
} }
@Test
@TestMetadata("fakeOverrideInheritance") @TestMetadata("fakeOverrideInheritance")
public void testFakeOverrideInheritance() throws Exception { public void testFakeOverrideInheritance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
} }
@Test
@TestMetadata("fakeOverrideInlineExtension") @TestMetadata("fakeOverrideInlineExtension")
public void testFakeOverrideInlineExtension() throws Exception { public void testFakeOverrideInlineExtension() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
} }
@Test
@TestMetadata("fakeOverrideInlineFunction") @TestMetadata("fakeOverrideInlineFunction")
public void testFakeOverrideInlineFunction() throws Exception { public void testFakeOverrideInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
} }
@Test
@TestMetadata("fakeOverrideInlineProperty") @TestMetadata("fakeOverrideInlineProperty")
public void testFakeOverrideInlineProperty() throws Exception { public void testFakeOverrideInlineProperty() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
} }
@Test
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers") @TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception { public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/"); runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
} }
@Test
@TestMetadata("fastPath1") @TestMetadata("fastPath1")
public void testFastPath1() throws Exception { public void testFastPath1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
} }
@Test
@TestMetadata("fastPath2") @TestMetadata("fastPath2")
public void testFastPath2() throws Exception { public void testFastPath2() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/"); runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
} }
@Test
@TestMetadata("friendDependency") @TestMetadata("friendDependency")
public void testFriendDependency() throws Exception { public void testFriendDependency() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/"); runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
} }
@Test
@TestMetadata("functionDefaultParams") @TestMetadata("functionDefaultParams")
public void testFunctionDefaultParams() throws Exception { public void testFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
} }
@Test
@TestMetadata("functionSignature") @TestMetadata("functionSignature")
public void testFunctionSignature() throws Exception { public void testFunctionSignature() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/"); runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
} }
@Test
@TestMetadata("functionTypeInterface") @TestMetadata("functionTypeInterface")
public void testFunctionTypeInterface() throws Exception { public void testFunctionTypeInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
} }
@Test
@TestMetadata("functionTypeInterfaceReflect") @TestMetadata("functionTypeInterfaceReflect")
public void testFunctionTypeInterfaceReflect() throws Exception { public void testFunctionTypeInterfaceReflect() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/"); runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
} }
@Test
@TestMetadata("genericFunctions") @TestMetadata("genericFunctions")
public void testGenericFunctions() throws Exception { public void testGenericFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
} }
@Test
@TestMetadata("genericInlineFunctions") @TestMetadata("genericInlineFunctions")
public void testGenericInlineFunctions() throws Exception { public void testGenericInlineFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
} }
@Test
@TestMetadata("gettersAndSettersInlining") @TestMetadata("gettersAndSettersInlining")
public void testGettersAndSettersInlining() throws Exception { public void testGettersAndSettersInlining() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/"); runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
} }
@Test
@TestMetadata("inlineBecomeNonInline") @TestMetadata("inlineBecomeNonInline")
public void testInlineBecomeNonInline() throws Exception { public void testInlineBecomeNonInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/"); runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
} }
@Test
@TestMetadata("inlineFunctionAnnotations") @TestMetadata("inlineFunctionAnnotations")
public void testInlineFunctionAnnotations() throws Exception { public void testInlineFunctionAnnotations() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
} }
@Test
@TestMetadata("inlineFunctionAsFunctionReference") @TestMetadata("inlineFunctionAsFunctionReference")
public void testInlineFunctionAsFunctionReference() throws Exception { public void testInlineFunctionAsFunctionReference() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
} }
@Test
@TestMetadata("inlineFunctionAsParam") @TestMetadata("inlineFunctionAsParam")
public void testInlineFunctionAsParam() throws Exception { public void testInlineFunctionAsParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
} }
@Test
@TestMetadata("inlineFunctionCircleUsage") @TestMetadata("inlineFunctionCircleUsage")
public void testInlineFunctionCircleUsage() throws Exception { public void testInlineFunctionCircleUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
} }
@Test
@TestMetadata("inlineFunctionDefaultParams") @TestMetadata("inlineFunctionDefaultParams")
public void testInlineFunctionDefaultParams() throws Exception { public void testInlineFunctionDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
} }
@Test
@TestMetadata("inlineFunctionWithObject") @TestMetadata("inlineFunctionWithObject")
public void testInlineFunctionWithObject() throws Exception { public void testInlineFunctionWithObject() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/"); runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
} }
@Test
@TestMetadata("interfaceSuperUsage") @TestMetadata("interfaceSuperUsage")
public void testInterfaceSuperUsage() throws Exception { public void testInterfaceSuperUsage() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
} }
@Test
@TestMetadata("interfaceWithDefaultParams") @TestMetadata("interfaceWithDefaultParams")
public void testInterfaceWithDefaultParams() throws Exception { public void testInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
} }
@Test
@TestMetadata("jsCode") @TestMetadata("jsCode")
public void testJsCode() throws Exception { public void testJsCode() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCode/"); runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
} }
@Test
@TestMetadata("jsCodeWithConstString") @TestMetadata("jsCodeWithConstString")
public void testJsCodeWithConstString() throws Exception { public void testJsCodeWithConstString() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
} }
@Test
@TestMetadata("jsExport") @TestMetadata("jsExport")
public void testJsExport() throws Exception { public void testJsExport() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/"); runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
} }
@Test
@TestMetadata("jsModuleAnnotation") @TestMetadata("jsModuleAnnotation")
public void testJsModuleAnnotation() throws Exception { public void testJsModuleAnnotation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/"); runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
} }
@Test
@TestMetadata("languageVersionSettings") @TestMetadata("languageVersionSettings")
public void testLanguageVersionSettings() throws Exception { public void testLanguageVersionSettings() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/"); runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
} }
@Test
@TestMetadata("localInlineFunction") @TestMetadata("localInlineFunction")
public void testLocalInlineFunction() throws Exception { public void testLocalInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
} }
@Test
@TestMetadata("mainModuleInvalidation") @TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception { public void testMainModuleInvalidation() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/"); runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
} }
@Test
@TestMetadata("moveAndModifyInlineFunction") @TestMetadata("moveAndModifyInlineFunction")
public void testMoveAndModifyInlineFunction() throws Exception { public void testMoveAndModifyInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
} }
@Test
@TestMetadata("moveExternalDeclarationsBetweenJsModules") @TestMetadata("moveExternalDeclarationsBetweenJsModules")
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception { public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
} }
@Test
@TestMetadata("moveFilesBetweenModules") @TestMetadata("moveFilesBetweenModules")
public void testMoveFilesBetweenModules() throws Exception { public void testMoveFilesBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
} }
@Test
@TestMetadata("moveInlineFunctionBetweenModules") @TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() throws Exception { public void testMoveInlineFunctionBetweenModules() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
} }
@Test
@TestMetadata("nestedClass") @TestMetadata("nestedClass")
public void testNestedClass() throws Exception { public void testNestedClass() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/"); runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
} }
@Test
@TestMetadata("nonInlineBecomeInline") @TestMetadata("nonInlineBecomeInline")
public void testNonInlineBecomeInline() throws Exception { public void testNonInlineBecomeInline() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/"); runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
} }
@Test
@TestMetadata("privateDeclarationLeakThroughDefaultParam") @TestMetadata("privateDeclarationLeakThroughDefaultParam")
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception { public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/"); runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
} }
@Test
@TestMetadata("privateInlineFunction1") @TestMetadata("privateInlineFunction1")
public void testPrivateInlineFunction1() throws Exception { public void testPrivateInlineFunction1() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/"); runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
} }
@Test
@TestMetadata("removeFile") @TestMetadata("removeFile")
public void testRemoveFile() throws Exception { public void testRemoveFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
} }
@Test
@TestMetadata("removeModule") @TestMetadata("removeModule")
public void testRemoveModule() throws Exception { public void testRemoveModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeModule/"); runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
} }
@Test
@TestMetadata("removeUnusedFile") @TestMetadata("removeUnusedFile")
public void testRemoveUnusedFile() throws Exception { public void testRemoveUnusedFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/"); runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
} }
@Test
@TestMetadata("renameFile") @TestMetadata("renameFile")
public void testRenameFile() throws Exception { public void testRenameFile() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameFile/"); runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
} }
@Test
@TestMetadata("renameModule") @TestMetadata("renameModule")
public void testRenameModule() throws Exception { public void testRenameModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/renameModule/"); runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
} }
@Test
@TestMetadata("simple") @TestMetadata("simple")
public void testSimple() throws Exception { public void testSimple() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/simple/"); runTest("js/js.translator/testData/incremental/invalidation/simple/");
} }
@Test
@TestMetadata("splitJoinModule") @TestMetadata("splitJoinModule")
public void testSplitJoinModule() throws Exception { public void testSplitJoinModule() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/"); runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
} }
@Test
@TestMetadata("suspendFunctions") @TestMetadata("suspendFunctions")
public void testSuspendFunctions() throws Exception { public void testSuspendFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/"); runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
} }
@Test
@TestMetadata("suspendInterfaceWithDefaultParams") @TestMetadata("suspendInterfaceWithDefaultParams")
public void testSuspendInterfaceWithDefaultParams() throws Exception { public void testSuspendInterfaceWithDefaultParams() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/"); runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
} }
@Test
@TestMetadata("toplevelProperties") @TestMetadata("toplevelProperties")
public void testToplevelProperties() throws Exception { public void testToplevelProperties() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/"); runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
} }
@Test
@TestMetadata("transitiveInlineFunction") @TestMetadata("transitiveInlineFunction")
public void testTransitiveInlineFunction() throws Exception { public void testTransitiveInlineFunction() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/"); runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
} }
@Test
@TestMetadata("typeScriptExports") @TestMetadata("typeScriptExports")
public void testTypeScriptExports() throws Exception { public void testTypeScriptExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/"); runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
} }
@Test
@TestMetadata("unicodeSerializationAndDeserialization") @TestMetadata("unicodeSerializationAndDeserialization")
public void testUnicodeSerializationAndDeserialization() throws Exception { public void testUnicodeSerializationAndDeserialization() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/"); runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
} }
@Test
@TestMetadata("updateExports") @TestMetadata("updateExports")
public void testUpdateExports() throws Exception { public void testUpdateExports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
} }
@Test
@TestMetadata("updateExportsAndInlineImports") @TestMetadata("updateExportsAndInlineImports")
public void testUpdateExportsAndInlineImports() throws Exception { public void testUpdateExportsAndInlineImports() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/"); runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
} }
@Test
@TestMetadata("variance") @TestMetadata("variance")
public void testVariance() throws Exception { public void testVariance() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/variance/"); runTest("js/js.translator/testData/incremental/invalidation/variance/");