[ https://issues.apache.org/jira/browse/TINKERPOP-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946524#comment-17946524 ]
ASF GitHub Bot commented on TINKERPOP-3136: ------------------------------------------- spmallette closed pull request #3097: TINKERPOP-3136 Complete Gremlin test suite move to Gherkin URL: https://github.com/apache/tinkerpop/pull/3097 > Complete move to Gherkin for implementation testing > --------------------------------------------------- > > Key: TINKERPOP-3136 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3136 > Project: TinkerPop > Issue Type: Improvement > Components: test-suite > Affects Versions: 3.7.3 > Reporter: Stephen Mallette > Priority: Major > > TinkerPop is most of the way to testing Gremlin exclusively with Gherkin. By > 4.0 that move should be complete with whatever deprecations necessary for > Java tests along 3.x. Retain the Java test suite for embedded {{Graph}} tests > that only make sense in that case. > For 3.x - likely 3.8.x > * Create {{ProcessEmbeddedSuite}} and deprecate {{ProcessLimitedSuite}} to > make it clear what aspects of Gremlin are meant for embedded cases and > Java/Groovy sugar only. Update provider documentation to reflect these > changes and ensure Gherkin is clear as the primary test suite for Gremlin. > * Drop {{MergeVertexTest}} and {{MergeEdgeTest}} as remaining tests in there > seem to be covered by Gherkin already. > * Drop {{SubgraphTest}} since it should be able to be converted to feature > tests but will need to add a way to assert a {{Graph}} though. Ignore in > languages that don't have {{{}Graph{}}}. > * Drop {{TreeTest}} since it should be able to be converted to feature tests > but will need to add a way to assert a {{Tree}} though. Ignore in languages > that don't have {{{}Tree{}}}. > * Implement Gherkin tests for {{match()}} - do a limited and simple set to > minimally test the capability since that feature is a bit up in the air for > 4.x. Retain {{MatchTest}} as it is for the embedded suite for now. > * For {{{}ComplexTest{}}}: > ** {{cap('m')}} from {{classicRecommendation}} so that it can be asserted in > {{{}Recommendation.feature{}}}. > *** Figure out a way to assert the {{coworkerSummary}} tests in Gherkin. We > don't currently have a way to assert very complex {{{}Map{}}}. The basic test > could be run multiple times to try to break up the results to fit with the > assertion capabilities? > ** Move {{playlistPths}} to {{Paths.feature}} > ** Remove {{ComplexTest}} as all relevant tests will have been moved to > Gherkin. > * Remove {{PartitionStrategyProcessTest}} - seems to be covered in Gherkin at > this point. > * Convert {{TernaryBooleanLogicsTest}} to Gherkin - add it to the > {{/semantics}} directory. > * Remove all lambda based tests from Gherkin since they are not supported by > gremlin-language. Ensure that they all exist in the embedded tests. Perhaps > put them all in a {{LambdaStepTest}} and combine in other embedded tests > there so that they are all in once place. Remove all infrastructure for > processing lambdas in the Gherkin suite. Test lambdas in GLVs independently. > For 4.x > * Remove {{ProcessLimitedSuite}} in favor of {{ProcessEmbeddedSuite}} > * Since {{Tree}} and {{Graph}} will be present in 4.x for all languages, > ensure that test suites are updated in support of those assertions as these > tests will have been skipped prior. > h3. Open questions > * Make a decision about {{profile()}} and {{explain()}} in terms of how they > are tested. Leaning toward them remaining an embedded case as they have > implementation specific output potentially > * Examine "Given an unsupported test" definitions....can any be supported > now? what do we do with those that cant? > Note the linked JIRAs below as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)