[jira] [Commented] (TINKERPOP-1832) TraversalHelper.replaceStep sets previousStep to the wrong step
[ https://issues.apache.org/jira/browse/TINKERPOP-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261477#comment-16261477 ] ASF GitHub Bot commented on TINKERPOP-1832: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/751 It is the same in 3.2.x and was actually testing the fix in `tp32` when the discussion first came up. VOTE: +1 (after retargeting) > TraversalHelper.replaceStep sets previousStep to the wrong step > --- > > Key: TINKERPOP-1832 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1832 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: pieter martin >Assignee: Daniel Kuppitz > > The bug is described over > [here|http://mail-archives.apache.org/mod_mbox/tinkerpop-dev/201710.mbox/browser] > I have tested [~dkuppitz] fix for it and all seems well. > {code:java} > public staticvoid replaceStep(final StepremoveStep, final > StepinsertStep, final Traversal.Admin traversal) { > final int i; > traversal.removeStep(i = stepIndex(removeStep, traversal)); > traversal.addStep(i, insertStep); > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #751: TINKERPOP-1832: TraversalHelper.replaceStep sets previ...
Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/751 It is the same in 3.2.x and was actually testing the fix in `tp32` when the discussion first came up. VOTE: +1 (after retargeting) ---
[jira] [Commented] (TINKERPOP-1784) Gremlin Language Test Suite
[ https://issues.apache.org/jira/browse/TINKERPOP-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261376#comment-16261376 ] ASF GitHub Bot commented on TINKERPOP-1784: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/747 VOTE: +1 > Gremlin Language Test Suite > --- > > Key: TINKERPOP-1784 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1784 > Project: TinkerPop > Issue Type: Improvement > Components: test-suite >Affects Versions: 3.2.6 >Reporter: stephen mallette >Assignee: stephen mallette > > Provide for a more language agnostic test framework for the Gremlin Language > so that we can properly test GLVs. The current test suite is completely tied > to the JVM. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #747: TINKERPOP-1784 GLV Test Framework
Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/747 VOTE: +1 ---
[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.
[ https://issues.apache.org/jira/browse/TINKERPOP-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261198#comment-16261198 ] stephen mallette commented on TINKERPOP-1839: - > I am not quite seeing how one would access the ScriptEngine or its context. I think that if you need this special level of integration which seems specific to JanusGraph you should create a {{Channelizer}} for JanusGraph that will allow you access to a number of core components of Gremlin Server (like the {{GremlinExecutor}}). > withRemote() gives access to a remote graph's traversal reference; is there a > similar story for getting access to a graph reference itself? No - for "remoting" you only deal with a {{TraversalSource}}. There is nothing that binds to a {{Graph}} on the client side. > We need a way to dynamically modify global bindings on the Gremlin Server. > -- > > Key: TINKERPOP-1839 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1839 > Project: TinkerPop > Issue Type: Improvement > Components: server >Affects Versions: 3.2.6 >Reporter: David Pitera > > This question on StackOverflow > https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728 > along with the fact that most language client's interact with the Gremlin > Server through the use of a variable bound to a graph of traversal reference, > i.e. `graph` is usually bound to a graph and `g` is usually bound to its > traversal > https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40 > mean that we need a way to bind these dynamically created graphs to the > script executor. > With JanusGraph's notion of dynamic graphs, there is no way to make use of > the `withRemote()` functionality or make use of language clients demanding > the traversal reference be bound to a variable. > Therefore, we need a way to dynamically modify the global bindings on the > gremlin script engine without having to restart the server. > Note; I answered the original stack overflow question above, however I am > pretty sure my answer is actually incorrect because the global binding will > be evaluated once at server start and the evaluated references will be stored > in the map and passed into the gremlin executor. Is this true? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI
[ https://issues.apache.org/jira/browse/TINKERPOP-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261043#comment-16261043 ] ASF GitHub Bot commented on TINKERPOP-1820: --- Github user FlorianHockmann commented on the issue: https://github.com/apache/tinkerpop/pull/752 The separate jobs are really useful. VOTE +1 > Include .NET GLV tests on TravisCI > -- > > Key: TINKERPOP-1820 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1820 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, python >Reporter: Jorge Bay >Assignee: Jorge Bay > > We can avoid the need of manual test runs by using TravisCI to run both GLVs. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job
Github user FlorianHockmann commented on the issue: https://github.com/apache/tinkerpop/pull/752 The separate jobs are really useful. VOTE +1 ---
[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.
[ https://issues.apache.org/jira/browse/TINKERPOP-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261026#comment-16261026 ] David Pitera commented on TINKERPOP-1839: - > Doesn't CGF have access to the Gremlin ScriptEngine? I think this is where there is a gap in our understanding. I am not quite seeing how one would access the ScriptEngine or its context. Also one more question: withRemote() gives access to a remote graph's traversal reference; is there a similar story for getting access to a graph reference itself? > We need a way to dynamically modify global bindings on the Gremlin Server. > -- > > Key: TINKERPOP-1839 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1839 > Project: TinkerPop > Issue Type: Improvement > Components: server >Affects Versions: 3.2.6 >Reporter: David Pitera > > This question on StackOverflow > https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728 > along with the fact that most language client's interact with the Gremlin > Server through the use of a variable bound to a graph of traversal reference, > i.e. `graph` is usually bound to a graph and `g` is usually bound to its > traversal > https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40 > mean that we need a way to bind these dynamically created graphs to the > script executor. > With JanusGraph's notion of dynamic graphs, there is no way to make use of > the `withRemote()` functionality or make use of language clients demanding > the traversal reference be bound to a variable. > Therefore, we need a way to dynamically modify the global bindings on the > gremlin script engine without having to restart the server. > Note; I answered the original stack overflow question above, however I am > pretty sure my answer is actually incorrect because the global binding will > be evaluated once at server start and the evaluated references will be stored > in the map and passed into the gremlin executor. Is this true? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI
[ https://issues.apache.org/jira/browse/TINKERPOP-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260967#comment-16260967 ] ASF GitHub Bot commented on TINKERPOP-1820: --- Github user spmallette commented on the issue: https://github.com/apache/tinkerpop/pull/752 VOTE +1 > Include .NET GLV tests on TravisCI > -- > > Key: TINKERPOP-1820 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1820 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, python >Reporter: Jorge Bay >Assignee: Jorge Bay > > We can avoid the need of manual test runs by using TravisCI to run both GLVs. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job
Github user spmallette commented on the issue: https://github.com/apache/tinkerpop/pull/752 VOTE +1 ---
[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI
[ https://issues.apache.org/jira/browse/TINKERPOP-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260791#comment-16260791 ] ASF GitHub Bot commented on TINKERPOP-1820: --- Github user jorgebay commented on the issue: https://github.com/apache/tinkerpop/pull/752 @spmallette Yes, the separate jobs run in parallel, so in a few minutes you can check if the module from the job is affected. VOTE +1 > Include .NET GLV tests on TravisCI > -- > > Key: TINKERPOP-1820 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1820 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, python >Reporter: Jorge Bay >Assignee: Jorge Bay > > We can avoid the need of manual test runs by using TravisCI to run both GLVs. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job
Github user jorgebay commented on the issue: https://github.com/apache/tinkerpop/pull/752 @spmallette Yes, the separate jobs run in parallel, so in a few minutes you can check if the module from the job is affected. VOTE +1 ---
[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.
[ https://issues.apache.org/jira/browse/TINKERPOP-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260698#comment-16260698 ] Robert Dale commented on TINKERPOP-1839: [~dpitera] I think this is a JanusGraph issue and can be solved there. There should be some component at the Gremlin Server level that intercepts or recognizes that a new graph has been created and will update the script context with a configured traversal name. See also [https://github.com/JanusGraph/janusgraph/issues/625]. The cluster-level component should be able to do something similarly. > We need a way to dynamically modify global bindings on the Gremlin Server. > -- > > Key: TINKERPOP-1839 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1839 > Project: TinkerPop > Issue Type: Improvement > Components: server >Affects Versions: 3.2.6 >Reporter: David Pitera > > This question on StackOverflow > https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728 > along with the fact that most language client's interact with the Gremlin > Server through the use of a variable bound to a graph of traversal reference, > i.e. `graph` is usually bound to a graph and `g` is usually bound to its > traversal > https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40 > mean that we need a way to bind these dynamically created graphs to the > script executor. > With JanusGraph's notion of dynamic graphs, there is no way to make use of > the `withRemote()` functionality or make use of language clients demanding > the traversal reference be bound to a variable. > Therefore, we need a way to dynamically modify the global bindings on the > gremlin script engine without having to restart the server. > Note; I answered the original stack overflow question above, however I am > pretty sure my answer is actually incorrect because the global binding will > be evaluated once at server start and the evaluated references will be stored > in the map and passed into the gremlin executor. Is this true? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.
[ https://issues.apache.org/jira/browse/TINKERPOP-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260650#comment-16260650 ] stephen mallette commented on TINKERPOP-1839: - Doesn't CGF have access to the Gremlin ScriptEngine? Why does it have to issue WS/HTTP calls - couldn't it just issue a script that registers the bindings to the context in the manner that I presented? To me, issuing the script is the "java code" way to set these values. Any reason why that doesn't work? > We need a way to dynamically modify global bindings on the Gremlin Server. > -- > > Key: TINKERPOP-1839 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1839 > Project: TinkerPop > Issue Type: Improvement > Components: server >Affects Versions: 3.2.6 >Reporter: David Pitera > > This question on StackOverflow > https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728 > along with the fact that most language client's interact with the Gremlin > Server through the use of a variable bound to a graph of traversal reference, > i.e. `graph` is usually bound to a graph and `g` is usually bound to its > traversal > https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40 > mean that we need a way to bind these dynamically created graphs to the > script executor. > With JanusGraph's notion of dynamic graphs, there is no way to make use of > the `withRemote()` functionality or make use of language clients demanding > the traversal reference be bound to a variable. > Therefore, we need a way to dynamically modify the global bindings on the > gremlin script engine without having to restart the server. > Note; I answered the original stack overflow question above, however I am > pretty sure my answer is actually incorrect because the global binding will > be evaluated once at server start and the evaluated references will be stored > in the map and passed into the gremlin executor. Is this true? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step
[ https://issues.apache.org/jira/browse/TINKERPOP-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260614#comment-16260614 ] ASF GitHub Bot commented on TINKERPOP-1834: --- GitHub user okram opened a pull request: https://github.com/apache/tinkerpop/pull/755 TINKERPOP-1834: Consider iterate() as a first class step https://issues.apache.org/jira/browse/TINKERPOP-1834 This is a re-issuing of a previously closed commit. In this model, a `NoneStep` was added as well as a `Traversal.none()`. `Traversal.iterate()` calls `Traversal.none()` if the traversal has not been fully compiled. The benefit of this is that `iterate()` will add a full filter and thus, for remote systems (non-embedded), all data is "iterated" server-side before being sent back to the client. This is a novel play in that `iterate()`, while being a terminal step, is now effecting the bytecode representation. cc/ @BrynCooke VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1834 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/755.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #755 commit 2a957bb586263b2dd70b4db36d1b3c6f87d5596f Author: Marko A. RodriguezDate: 2017-11-21T11:44:32Z Added NoneStep which simply filter(false). Traversal.none() was added which appends the NoneStep. Traversal.iterate() was updated such that if the traversal has not been compiled yet, then Traversal.none() is called to ensure that a full filter is propagated in the bytecode. > Consider iterate() as a first class step > > > Key: TINKERPOP-1834 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1834 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.6 >Reporter: stephen mallette >Assignee: Marko A. Rodriguez > > The {{iterate()}} terminator on a traversal returns no data. It simply > executes the traversal in full typically for the generation of side-effects. > Graph providers could optimize a traversal that is iterated should they be > able to detect that this method is called as they might avoid certain read > operations if the traversal is explicitly meant to just update the graph. > A possible solution for this would be some form of direct implementation of > an explicit {{IterateStep}} which providers could identify. Or perhaps, a > more generic {{NoOpStep}} would be better where the {{NoOpStep}} would > basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of > arbitrary configuration options). In this case, the configuration options > would simply have an "iterate" value in it which the provider could interpret > if they could optimize based on that. Other solutions? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop pull request #755: TINKERPOP-1834: Consider iterate() as a first c...
GitHub user okram opened a pull request: https://github.com/apache/tinkerpop/pull/755 TINKERPOP-1834: Consider iterate() as a first class step https://issues.apache.org/jira/browse/TINKERPOP-1834 This is a re-issuing of a previously closed commit. In this model, a `NoneStep` was added as well as a `Traversal.none()`. `Traversal.iterate()` calls `Traversal.none()` if the traversal has not been fully compiled. The benefit of this is that `iterate()` will add a full filter and thus, for remote systems (non-embedded), all data is "iterated" server-side before being sent back to the client. This is a novel play in that `iterate()`, while being a terminal step, is now effecting the bytecode representation. cc/ @BrynCooke VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1834 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/755.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #755 commit 2a957bb586263b2dd70b4db36d1b3c6f87d5596f Author: Marko A. RodriguezDate: 2017-11-21T11:44:32Z Added NoneStep which simply filter(false). Traversal.none() was added which appends the NoneStep. Traversal.iterate() was updated such that if the traversal has not been compiled yet, then Traversal.none() is called to ensure that a full filter is propagated in the bytecode. ---
[jira] [Commented] (TINKERPOP-1827) Gremlin .NET: Test Suite Runner
[ https://issues.apache.org/jira/browse/TINKERPOP-1827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260589#comment-16260589 ] ASF GitHub Bot commented on TINKERPOP-1827: --- GitHub user jorgebay opened a pull request: https://github.com/apache/tinkerpop/pull/754 TINKERPOP-1827 Gremlin .NET: Test Suite Runner https://issues.apache.org/jira/browse/TINKERPOP-1827 Adds support for Gherkin features for Gremlin.NET. Changes are made on top of #747, I'll rebase it once the GLV test suite is merged, in order to speed up reviewing (selecting the range of commits). Of a total of 302 scenarios, 28 are ignored mostly due to lambdas not being supported on C# (274 succeeds). I've included a mechanism to ignore scenarios manually, but a reason must be provided. Currently, there are 2 valid reasons for a scenario to be ignored: - `Scenario ignored because lambdas are not supported in Gremlin.NET` - `Scenario ignored because there is conversion issue for IDictionaryinstaces in Gremlin.NET (TINKERPOP-1837)` As there isn't a usable cucumber/gherkin runner for .NET Core, gherkin features evaluation are launched from a single xunit test (`GherkinTestRunner`), to avoid having another entry point to maintain. Currently, the output shows all scenarios executed and a number to identify failure, which is shown at the bottom. You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1827 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/754.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #754 commit 61e667ddb91eb96560793843054678d4c0a925de Author: Stephen Mallette Date: 2017-09-14T19:44:32Z TINKERPOP-1784 Initial implementation of a new language agnostic test suite Uses Gherkin to write test specifications that will be implemented by the various GLVs. Provided a basic implementation for gremlin-python. commit ce16228ea8780b0ff60f0ff1a11a4a127dde6744 Author: Stephen Mallette Date: 2017-09-20T17:32:54Z TINKERPOP-1784 Use python eval() to setup test traversals commit 2b92f5b20ba5e8c9f7e49f1e5ac7428c284d6603 Author: Stephen Mallette Date: 2017-09-20T17:39:00Z TINKERPOP-1784 Categorize feature by step type This matches he pattern of the java test suite. commit eb595a6c737fa0d49df3c0062c7c463088fecda6 Author: Stephen Mallette Date: 2017-09-20T22:38:49Z TINKERPOP-1784 Added coin() gherkin tests and refactored python commit 7aa1adcb3d1a719cb75b218bb9fa3a83112213de Author: Stephen Mallette Date: 2017-09-22T14:52:20Z TINKERPOP-1784 Expanded GLV test framework a bit further Developed methods for vertices/maps and a way to assert unordered results. commit b129ed30b02388710e9c39338026462d4cf88955 Author: Stephen Mallette Date: 2017-09-22T16:56:08Z TINKERPOP-1784 Added some basic support to convert vertex string to a vertex object This might be the pattern to use across the board. We'll see if there is a better idea floating about though so may not be final. commit de32b78efe432e6b57399ca9db673ddeead313ad Author: Stephen Mallette Date: 2017-09-22T17:49:50Z TINKERPOP-1784 Minor refactoring of python gherkin steps commit 35aca028cbc0ccd96823e842626169b7d7b7f1e7 Author: Stephen Mallette Date: 2017-09-22T18:43:13Z TINKERPOP-1784 Added support for numeric keys in glv tests commit 14b8d3bbeacf0ee1ec500174009c8487aa1238a6 Author: Stephen Mallette Date: 2017-09-23T11:12:07Z TINKERPOP-1784 Added test for select in GLV tests Included infrastructure for validating maps and refactored other related code. commit 17fd3b027effc0f7b055e1934307b2c4b90ed84b Author: Stephen Mallette Date: 2017-09-27T16:16:08Z TINKERPOP-1784 Provided translation for python specific syntax Included a way to specify element identifiers in feature files. commit 655377380654755fb031b9d92e10fd9376665b68 Author: Stephen Mallette Date: 2017-09-27T17:26:17Z TINKERPOP-1784 Added test to enforce implementation of process tests as features commit db6c8560d883891d0c3c53ab0fc7a9b40adca9d3 Author: Stephen Mallette Date: 2017-09-27T20:18:14Z TINKERPOP-1784 Added edge assertion support commit f33b2b8d588d68e0374958b5aa37b32c9dc59211 Author: Stephen Mallette Date: 2017-09-28T14:29:47Z TINKERPOP-1784 Added some more vertex tests commit
[GitHub] tinkerpop pull request #754: TINKERPOP-1827 Gremlin .NET: Test Suite Runner
GitHub user jorgebay opened a pull request: https://github.com/apache/tinkerpop/pull/754 TINKERPOP-1827 Gremlin .NET: Test Suite Runner https://issues.apache.org/jira/browse/TINKERPOP-1827 Adds support for Gherkin features for Gremlin.NET. Changes are made on top of #747, I'll rebase it once the GLV test suite is merged, in order to speed up reviewing (selecting the range of commits). Of a total of 302 scenarios, 28 are ignored mostly due to lambdas not being supported on C# (274 succeeds). I've included a mechanism to ignore scenarios manually, but a reason must be provided. Currently, there are 2 valid reasons for a scenario to be ignored: - `Scenario ignored because lambdas are not supported in Gremlin.NET` - `Scenario ignored because there is conversion issue for IDictionaryinstaces in Gremlin.NET (TINKERPOP-1837)` As there isn't a usable cucumber/gherkin runner for .NET Core, gherkin features evaluation are launched from a single xunit test (`GherkinTestRunner`), to avoid having another entry point to maintain. Currently, the output shows all scenarios executed and a number to identify failure, which is shown at the bottom. You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1827 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/754.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #754 commit 61e667ddb91eb96560793843054678d4c0a925de Author: Stephen Mallette Date: 2017-09-14T19:44:32Z TINKERPOP-1784 Initial implementation of a new language agnostic test suite Uses Gherkin to write test specifications that will be implemented by the various GLVs. Provided a basic implementation for gremlin-python. commit ce16228ea8780b0ff60f0ff1a11a4a127dde6744 Author: Stephen Mallette Date: 2017-09-20T17:32:54Z TINKERPOP-1784 Use python eval() to setup test traversals commit 2b92f5b20ba5e8c9f7e49f1e5ac7428c284d6603 Author: Stephen Mallette Date: 2017-09-20T17:39:00Z TINKERPOP-1784 Categorize feature by step type This matches he pattern of the java test suite. commit eb595a6c737fa0d49df3c0062c7c463088fecda6 Author: Stephen Mallette Date: 2017-09-20T22:38:49Z TINKERPOP-1784 Added coin() gherkin tests and refactored python commit 7aa1adcb3d1a719cb75b218bb9fa3a83112213de Author: Stephen Mallette Date: 2017-09-22T14:52:20Z TINKERPOP-1784 Expanded GLV test framework a bit further Developed methods for vertices/maps and a way to assert unordered results. commit b129ed30b02388710e9c39338026462d4cf88955 Author: Stephen Mallette Date: 2017-09-22T16:56:08Z TINKERPOP-1784 Added some basic support to convert vertex string to a vertex object This might be the pattern to use across the board. We'll see if there is a better idea floating about though so may not be final. commit de32b78efe432e6b57399ca9db673ddeead313ad Author: Stephen Mallette Date: 2017-09-22T17:49:50Z TINKERPOP-1784 Minor refactoring of python gherkin steps commit 35aca028cbc0ccd96823e842626169b7d7b7f1e7 Author: Stephen Mallette Date: 2017-09-22T18:43:13Z TINKERPOP-1784 Added support for numeric keys in glv tests commit 14b8d3bbeacf0ee1ec500174009c8487aa1238a6 Author: Stephen Mallette Date: 2017-09-23T11:12:07Z TINKERPOP-1784 Added test for select in GLV tests Included infrastructure for validating maps and refactored other related code. commit 17fd3b027effc0f7b055e1934307b2c4b90ed84b Author: Stephen Mallette Date: 2017-09-27T16:16:08Z TINKERPOP-1784 Provided translation for python specific syntax Included a way to specify element identifiers in feature files. commit 655377380654755fb031b9d92e10fd9376665b68 Author: Stephen Mallette Date: 2017-09-27T17:26:17Z TINKERPOP-1784 Added test to enforce implementation of process tests as features commit db6c8560d883891d0c3c53ab0fc7a9b40adca9d3 Author: Stephen Mallette Date: 2017-09-27T20:18:14Z TINKERPOP-1784 Added edge assertion support commit f33b2b8d588d68e0374958b5aa37b32c9dc59211 Author: Stephen Mallette Date: 2017-09-28T14:29:47Z TINKERPOP-1784 Added some more vertex tests commit 55145980b99ed78a1de82ecefe199062439ea573 Author: Stephen Mallette Date: 2017-09-28T18:54:40Z TINKERPOP-1784 Changed assertion logic and table formats in feature files commit bed1d7c5e7aa0d1cd7fbed9914c541c48c79df86 Author: Stephen
[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step
[ https://issues.apache.org/jira/browse/TINKERPOP-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260571#comment-16260571 ] ASF GitHub Bot commented on TINKERPOP-1834: --- Github user okram closed the pull request at: https://github.com/apache/tinkerpop/pull/748 > Consider iterate() as a first class step > > > Key: TINKERPOP-1834 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1834 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.6 >Reporter: stephen mallette >Assignee: Marko A. Rodriguez > > The {{iterate()}} terminator on a traversal returns no data. It simply > executes the traversal in full typically for the generation of side-effects. > Graph providers could optimize a traversal that is iterated should they be > able to detect that this method is called as they might avoid certain read > operations if the traversal is explicitly meant to just update the graph. > A possible solution for this would be some form of direct implementation of > an explicit {{IterateStep}} which providers could identify. Or perhaps, a > more generic {{NoOpStep}} would be better where the {{NoOpStep}} would > basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of > arbitrary configuration options). In this case, the configuration options > would simply have an "iterate" value in it which the provider could interpret > if they could optimize based on that. Other solutions? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step
[ https://issues.apache.org/jira/browse/TINKERPOP-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260570#comment-16260570 ] ASF GitHub Bot commented on TINKERPOP-1834: --- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/748 Closing. Going to provide a simpler solution. > Consider iterate() as a first class step > > > Key: TINKERPOP-1834 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1834 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.6 >Reporter: stephen mallette >Assignee: Marko A. Rodriguez > > The {{iterate()}} terminator on a traversal returns no data. It simply > executes the traversal in full typically for the generation of side-effects. > Graph providers could optimize a traversal that is iterated should they be > able to detect that this method is called as they might avoid certain read > operations if the traversal is explicitly meant to just update the graph. > A possible solution for this would be some form of direct implementation of > an explicit {{IterateStep}} which providers could identify. Or perhaps, a > more generic {{NoOpStep}} would be better where the {{NoOpStep}} would > basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of > arbitrary configuration options). In this case, the configuration options > would simply have an "iterate" value in it which the provider could interpret > if they could optimize based on that. Other solutions? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop issue #748: TINKERPOP-1834: Consider iterate() as a first class st...
Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/748 Closing. Going to provide a simpler solution. ---
[GitHub] tinkerpop pull request #748: TINKERPOP-1834: Consider iterate() as a first c...
Github user okram closed the pull request at: https://github.com/apache/tinkerpop/pull/748 ---
[jira] [Commented] (TINKERPOP-1784) Gremlin Language Test Suite
[ https://issues.apache.org/jira/browse/TINKERPOP-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260530#comment-16260530 ] ASF GitHub Bot commented on TINKERPOP-1784: --- Github user jorgebay commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/747#discussion_r152230125 --- Diff: gremlin-test/features/sideEffect/Sack.feature --- @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sack() + + Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack +Given the modern graph +And the traversal of + """ + g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack() + """ +When iterated to list +Then the result should be unordered + | result | + | created | + | knows | + | knows | + | created | + | created | + | created | + + Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[3.5].m | + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack() + """ +When iterated to list +Then the result should be unordered + | result | + | d[2.0].d | --- End diff -- These two are also big decimal... > Gremlin Language Test Suite > --- > > Key: TINKERPOP-1784 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1784 > Project: TinkerPop > Issue Type: Improvement > Components: test-suite >Affects Versions: 3.2.6 >Reporter: stephen mallette >Assignee: stephen mallette > > Provide for a more language agnostic test framework for the Gremlin Language > so that we can properly test GLVs. The current test suite is completely tied > to the JVM. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] tinkerpop pull request #747: TINKERPOP-1784 GLV Test Framework
Github user jorgebay commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/747#discussion_r152230125 --- Diff: gremlin-test/features/sideEffect/Sack.feature --- @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sack() + + Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack +Given the modern graph +And the traversal of + """ + g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack() + """ +When iterated to list +Then the result should be unordered + | result | + | created | + | knows | + | knows | + | created | + | created | + | created | + + Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[3.5].m | + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack() + """ +When iterated to list +Then the result should be unordered + | result | + | d[2.0].d | --- End diff -- These two are also big decimal... ---