Update error about unsupported language and API versions

Set first supported version to 1.3
Add property for oldest depecated language version in order to control unsupported ones
Report error on attempts to manually disable language feature from unsupported versions
Update test data, drop compatibility tests for features from unsupported versions

KT-36146 In progress
This commit is contained in:
Pavel Kirpichenkov
2020-01-27 17:06:08 +03:00
parent 715e7e1a3c
commit 913ed71863
75 changed files with 337 additions and 305 deletions
+30 -10
View File
@@ -30,16 +30,16 @@ public class CliTestGenerated extends AbstractCliTest {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/cli/jvm"), Pattern.compile("^(.+)\\.args$"), null, false);
}
@TestMetadata("apiAndLanguageVersionsUnsupported.args")
public void testApiAndLanguageVersionsUnsupported() throws Exception {
runTest("compiler/testData/cli/jvm/apiAndLanguageVersionsUnsupported.args");
}
@TestMetadata("apiVersion.args")
public void testApiVersion() throws Exception {
runTest("compiler/testData/cli/jvm/apiVersion.args");
}
@TestMetadata("apiVersion1.0.args")
public void testApiVersion1_0() throws Exception {
runTest("compiler/testData/cli/jvm/apiVersion1.0.args");
}
@TestMetadata("apiVersionAndSinceNewerKotlin.args")
public void testApiVersionAndSinceNewerKotlin() throws Exception {
runTest("compiler/testData/cli/jvm/apiVersionAndSinceNewerKotlin.args");
@@ -65,6 +65,11 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/apiVersionLessThanLanguageUsingArgfile.args");
}
@TestMetadata("apiVersionUnsupported.args")
public void testApiVersionUnsupported() throws Exception {
runTest("compiler/testData/cli/jvm/apiVersionUnsupported.args");
}
@TestMetadata("argfileWithEmptyArgument.args")
public void testArgfileWithEmptyArgument() throws Exception {
runTest("compiler/testData/cli/jvm/argfileWithEmptyArgument.args");
@@ -160,6 +165,11 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/deprecatedApiVersion.args");
}
@TestMetadata("deprecatedLanguageUnsupportedApi.args")
public void testDeprecatedLanguageUnsupportedApi() throws Exception {
runTest("compiler/testData/cli/jvm/deprecatedLanguageUnsupportedApi.args");
}
@TestMetadata("deprecatedLanguageVersion.args")
public void testDeprecatedLanguageVersion() throws Exception {
runTest("compiler/testData/cli/jvm/deprecatedLanguageVersion.args");
@@ -170,6 +180,11 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/diagnosticsOrder.args");
}
@TestMetadata("disabledFeatureFromUnsupportedVersion.args")
public void testDisabledFeatureFromUnsupportedVersion() throws Exception {
runTest("compiler/testData/cli/jvm/disabledFeatureFromUnsupportedVersion.args");
}
@TestMetadata("duplicateSources.args")
public void testDuplicateSources() throws Exception {
runTest("compiler/testData/cli/jvm/duplicateSources.args");
@@ -480,6 +495,11 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/languageVersionInvalid.args");
}
@TestMetadata("languageVersionUnsupported.args")
public void testLanguageVersionUnsupported() throws Exception {
runTest("compiler/testData/cli/jvm/languageVersionUnsupported.args");
}
@TestMetadata("legacySmartCastsAfterTry.args")
public void testLegacySmartCastsAfterTry() throws Exception {
runTest("compiler/testData/cli/jvm/legacySmartCastsAfterTry.args");
@@ -645,16 +665,16 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/unknownExtraFlags.args");
}
@TestMetadata("unsupportedTypeAlias.args")
public void testUnsupportedTypeAlias() throws Exception {
runTest("compiler/testData/cli/jvm/unsupportedTypeAlias.args");
}
@TestMetadata("useMixedNamedArgumentsFlag.args")
public void testUseMixedNamedArgumentsFlag() throws Exception {
runTest("compiler/testData/cli/jvm/useMixedNamedArgumentsFlag.args");
}
@TestMetadata("variableInWhenSubject.args")
public void testVariableInWhenSubject() throws Exception {
runTest("compiler/testData/cli/jvm/variableInWhenSubject.args");
}
@TestMetadata("warningJdkWithNoJdk.args")
public void testWarningJdkWithNoJdk() throws Exception {
runTest("compiler/testData/cli/jvm/warningJdkWithNoJdk.args");