diff --git a/misc/testerina/modules/testerina-core/src/main/ballerina/execute.bal b/misc/testerina/modules/testerina-core/src/main/ballerina/execute.bal index 4b1d86a679f1..adda3d0293a8 100644 --- a/misc/testerina/modules/testerina-core/src/main/ballerina/execute.bal +++ b/misc/testerina/modules/testerina-core/src/main/ballerina/execute.bal @@ -293,13 +293,10 @@ function skipDataDrivenTest(TestFunction testFunction, string suffix, TestType t if (!suffixMatch) { string[] subTests = filterSubTests.get(functionKey); foreach string subFilter in subTests { - string updatedSubFilter = subFilter; if (testType == DATA_DRIVEN_MAP_OF_TUPLE) { if (subFilter.startsWith(SINGLE_QUOTE) && subFilter.endsWith(SINGLE_QUOTE)) { updatedSubFilter = subFilter.substring(1, subFilter.length() - 1); - } else { - continue; } } string|error decodedSubFilter = escapeSpecialCharacters(updatedSubFilter); diff --git a/tests/testerina-integration-test/src/test/java/org/ballerinalang/testerina/test/DataProviderTest.java b/tests/testerina-integration-test/src/test/java/org/ballerinalang/testerina/test/DataProviderTest.java index 606ffb07c369..b2497259b6ec 100644 --- a/tests/testerina-integration-test/src/test/java/org/ballerinalang/testerina/test/DataProviderTest.java +++ b/tests/testerina-integration-test/src/test/java/org/ballerinalang/testerina/test/DataProviderTest.java @@ -83,6 +83,15 @@ public void testValidDataProviderCase() throws BallerinaTestException, IOExcepti AssertionUtils.assertOutput("DataProviderTest-testValidDataProviderCase.txt", output); } + @Test (dependsOnMethods = "testValidDataProviderWithFail") + public void testValidDataProviderCaseWithoutQuotes() throws BallerinaTestException, IOException { + String[] args = mergeCoverageArgs(new String[]{"--tests", "dataproviders:jsonDataProviderTest#json1", + "data-providers"}); + String output = balClient.runMainAndReadStdOut("test", args, + new HashMap<>(), projectPath, false); + AssertionUtils.assertOutput("DataProviderTest-testValidDataProviderCase.txt", output); + } + @Test (dependsOnMethods = "testValidDataProviderCase") public void testDataProviderWithMixedType() throws BallerinaTestException, IOException { String[] args = mergeCoverageArgs(new String[]{"--tests", "testFunction1#'CaseNew*'", @@ -92,6 +101,15 @@ public void testDataProviderWithMixedType() throws BallerinaTestException, IOExc AssertionUtils.assertOutput("DataProviderTest-testDataProviderWithMixedType.txt", output); } + @Test (dependsOnMethods = "testValidDataProviderCase") + public void testDataProviderWithMixedTypeWithoutQuotes() throws BallerinaTestException, IOException { + String[] args = mergeCoverageArgs(new String[]{"--tests", "testFunction1#CaseNew*", + "data-providers"}); + String output = balClient.runMainAndReadStdOut("test", args, + new HashMap<>(), projectPath, false); + AssertionUtils.assertOutput("DataProviderTest-testDataProviderWithMixedType.txt", output); + } + @Test (dependsOnMethods = "testDataProviderWithMixedType") public void testWithSpecialKeys() throws BallerinaTestException, IOException { String[] args = mergeCoverageArgs(new String[]{"--tests", "testFunction2", diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/DataProviderTest-testDataProviderSingleFailure.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/DataProviderTest-testDataProviderSingleFailure.txt index 48139cc61cf4..67999415aec0 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/DataProviderTest-testDataProviderSingleFailure.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/DataProviderTest-testDataProviderSingleFailure.txt @@ -19,7 +19,7 @@ Running Tests with Coverage callableName: testDividingValuesNegative moduleName: intg_tests.dataproviders$test.0.tests.new-data-provider-tests fileName: tests/new-data-provider-tests.bal lineNumber: 191 callableName: testDividingValuesNegative$lambda14$ moduleName: intg_tests.dataproviders$test.0.tests.test_execute-generated_*****lineNumber: 18 ",functionName="testDividingValuesNegative") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider.txt index a27ffae1b440..8714477b5792 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider.txt @@ -13,7 +13,7 @@ Running Tests [fail data provider for the function testInvalidDataProvider] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(int)' cannot be passed to function expecting parameter list '(string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -21,7 +21,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test.bal lineNumber: 37 ",functionName="testInvalidDataProvider") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider2.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider2.txt index 921212fb9f70..4138232d0ce0 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider2.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidDataProvider2.txt @@ -15,7 +15,7 @@ Running Tests [fail data provider for the function testInvalidDataProvider2] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(int,int,int)' cannot be passed to function expecting parameter list '(string,string,string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -23,7 +23,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test2.bal lineNumber: 39 ",functionName="testInvalidDataProvider2") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt index 068ebba3b51e..5811136fd5b6 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/unix/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt @@ -12,7 +12,7 @@ Running Tests [fail data provider for the function testInvalidTupleDataProvider] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(string,int)' cannot be passed to function expecting parameter list '(string,string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -20,7 +20,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test3.bal lineNumber: 36 ",functionName="testInvalidTupleDataProvider") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/DataProviderTest-testDataProviderSingleFailure.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/DataProviderTest-testDataProviderSingleFailure.txt index c63c5bc8af00..08db5f4bd30c 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/DataProviderTest-testDataProviderSingleFailure.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/DataProviderTest-testDataProviderSingleFailure.txt @@ -19,7 +19,7 @@ Running Tests with Coverage callableName: testDividingValuesNegative moduleName: intg_tests.dataproviders$test.0.tests.new-data-provider-tests fileName: tests/new-data-provider-tests.bal lineNumber: 191 callableName: testDividingValuesNegative$lambda14$ moduleName: intg_tests.dataproviders$test.0.tests.test_execute-generated_*****lineNumber: 18 ",functionName="testDividingValuesNegative") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider.txt index ba73eb492805..b843eb1c0939 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider.txt @@ -13,7 +13,7 @@ Running Tests [fail data provider for the function testInvalidDataProvider] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(int)' cannot be passed to function expecting parameter list '(string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -21,7 +21,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test.bal lineNumber: 37 ",functionName="testInvalidDataProvider") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider2.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider2.txt index 95f28ab15b5a..76b7ee13ddf5 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider2.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidDataProvider2.txt @@ -15,7 +15,7 @@ Running Tests [fail data provider for the function testInvalidDataProvider2] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(int,int,int)' cannot be passed to function expecting parameter list '(string,string,string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -23,7 +23,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test2.bal lineNumber: 39 ",functionName="testInvalidDataProvider2") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 diff --git a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt index 43fb04a46c97..e1f62e2ac8ad 100644 --- a/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt +++ b/tests/testerina-integration-test/src/test/resources/command-outputs/windows/InvalidDataProviderTestCase-testInvalidTupleDataProvider.txt @@ -12,7 +12,7 @@ Running Tests [fail data provider for the function testInvalidTupleDataProvider] error {ballerina/test:0}ExecutionError ("error("{ballerina/lang.function}IncompatibleArguments",message="arguments of incompatible types: argument list '(string,int)' cannot be passed to function expecting parameter list '(string,string)'") callableName: call moduleName: ballerina.lang.function.0 fileName: function.bal lineNumber: 37 - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 339 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 336 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83 @@ -20,7 +20,7 @@ Running Tests callableName: startSuite moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 48 callableName: __execute__ fileName: invalid-data-provider-test3.bal lineNumber: 36 ",functionName="testInvalidTupleDataProvider") - callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 349 + callableName: executeTestFunction moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 346 callableName: executeDataDrivenTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 136 callableName: executeDataDrivenTestSet moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 123 callableName: executeTest moduleName: ballerina.test.0 fileName: execute.bal lineNumber: 83