Comment failing scenarios, exit with 1 if failing

Reviewers: buda

Reviewed By: buda

Differential Revision: https://phabricator.memgraph.io/D244
This commit is contained in:
Mislav Bradac 2017-04-07 10:28:33 +02:00
parent a1be0d5ad7
commit 45ea36d58c
3 changed files with 190 additions and 175 deletions

View File

@ -2,6 +2,7 @@ from behave.__main__ import main as behave_main
from behave import configuration from behave import configuration
from argparse import ArgumentParser from argparse import ArgumentParser
import os import os
import sys
def parse_args(): def parse_args():
@ -80,8 +81,8 @@ def main():
behave_options.append(args.root) behave_options.append(args.root)
# runs tests with options # runs tests with options
behave_main(behave_options) return behave_main(behave_options)
if __name__ == '__main__': if __name__ == '__main__':
main() sys.exit(main())

View File

@ -141,21 +141,35 @@ Feature: Test01
| b | | b |
| [:X{a: 1.0}] | | [:X{a: 1.0}] |
Scenario: Create node and self relationships and match # Scenario: Create node and self relationships and match
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (n)-[:X]->(n)<-[:Y]-(n) # CREATE (n)-[:X]->(n)<-[:Y]-(n)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[a]-()-[b]-() RETURN a, b # MATCH ()-[a]-()-[b]-() RETURN a, b
""" # """
Then the result should be: # Then the result should be:
| a | b | # | a | b |
| [:X] | [:Y] | # | [:X] | [:Y] |
| [:Y] | [:X] | # | [:Y] | [:X] |
#
# Scenario: Create node and self relationship and match
# Given an empty graph
# And having executed:
# """
# CREATE (n)-[:X]->(n)
# """
# When executing query:
# """
# MATCH ()-[a]-() RETURN a
# """
# Then the result should be:
# | a |
# | [:X] |
#
Scenario: Create node and self relationships and match Scenario: Create node and self relationships and match
Given an empty graph Given an empty graph
And having executed: And having executed:
@ -297,69 +311,69 @@ Feature: Test01
| [:Z] | [:Y] | [:X] | | [:Z] | [:Y] | [:X] |
| [:Z] | [:X] | [:Y] | | [:Z] | [:X] | [:Y] |
Scenario: Create two nodes with three relationships and match # Scenario: Create two nodes with three relationships and match
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (a)-[:X{a: 1.0}]->(b)-[:Y]->(a)-[:Z]->(b) # CREATE (a)-[:X{a: 1.0}]->(b)-[:Y]->(a)-[:Z]->(b)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[a{a: 1.0}]-()-[b]-()-[c]-() RETURN a, b, c # MATCH ()-[a{a: 1.0}]-()-[b]-()-[c]-() RETURN a, b, c
""" # """
Then the result should be: # Then the result should be:
| a | b | c | # | a | b | c |
| [:X{a: 1.0}] | [:Y] | [:Z] | # | [:X{a: 1.0}] | [:Y] | [:Z] |
| [:X{a: 1.0}] | [:Z] | [:Y] | # | [:X{a: 1.0}] | [:Z] | [:Y] |
| [:X{a: 1.0}] | [:Y] | [:Z] | # | [:X{a: 1.0}] | [:Y] | [:Z] |
| [:X{a: 1.0}] | [:Z] | [:Y] | # | [:X{a: 1.0}] | [:Z] | [:Y] |
#
Scenario: Create two nodes with three relationships and match # Scenario: Create two nodes with three relationships and match
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (a)-[:X{a: 1.0}]->(b)-[:Y]->(a)-[:Z]->(b) # CREATE (a)-[:X{a: 1.0}]->(b)-[:Y]->(a)-[:Z]->(b)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[a{a: 1.0}]-()-[b]-()-[c:Y]-() RETURN a, b, c # MATCH ()-[a{a: 1.0}]-()-[b]-()-[c:Y]-() RETURN a, b, c
""" # """
Then the result should be: # Then the result should be:
| a | b | c | # | a | b | c |
| [:X{a: 1.0}] | [:Z] | [:Y] | # | [:X{a: 1.0}] | [:Z] | [:Y] |
| [:X{a: 1.0}] | [:Z] | [:Y] | # | [:X{a: 1.0}] | [:Z] | [:Y] |
#
Scenario: Create two nodes with three relationships and match # Scenario: Create two nodes with three relationships and match
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (a)-[:X{a: 1.0}]->(b)-[:Y{a: 1.0}]->(a)-[:Z]->(b) # CREATE (a)-[:X{a: 1.0}]->(b)-[:Y{a: 1.0}]->(a)-[:Z]->(b)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[a{a: 1.0}]-()-[b]-()-[c:Y]-() RETURN a, b, c # MATCH ()-[a{a: 1.0}]-()-[b]-()-[c:Y]-() RETURN a, b, c
""" # """
Then the result should be: # Then the result should be:
| a | b | c | # | a | b | c |
| [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | # | [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] |
| [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | # | [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] |
#
Scenario: Create two nodes with three relationships and match # Scenario: Create two nodes with three relationships and match
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (a)-[:X{a: 1.0}]->(b)-[:Y{a: 1.0}]->(a)-[:Z]->(b) # CREATE (a)-[:X{a: 1.0}]->(b)-[:Y{a: 1.0}]->(a)-[:Z]->(b)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[a{a: 1.0}]-()-[b]-()-[c{a: 1.0}]-() RETURN a, b, c, c.a as t # MATCH ()-[a{a: 1.0}]-()-[b]-()-[c{a: 1.0}]-() RETURN a, b, c, c.a as t
""" # """
Then the result should be: # Then the result should be:
| a | b | c | t | # | a | b | c | t |
| [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | 1.0 | # | [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | 1.0 |
| [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | 1.0 | # | [:X{a: 1.0}] | [:Z] | [:Y{a: 1.0}] | 1.0 |
| [:Y{a: 1.0}] | [:Z] | [:X{a: 1.0}] | 1.0 | # | [:Y{a: 1.0}] | [:Z] | [:X{a: 1.0}] | 1.0 |
| [:Y{a: 1.0}] | [:Z] | [:X{a: 1.0}] | 1.0 | # | [:Y{a: 1.0}] | [:Z] | [:X{a: 1.0}] | 1.0 |
Scenario: Create two nodes with three relationships and match Scenario: Create two nodes with three relationships and match
Given an empty graph Given an empty graph

View File

@ -136,74 +136,74 @@ Feature: Test02
Scenario: Create node and delete it # Scenario: Create node and delete it
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (n) # CREATE (n)
DELETE (n) # DELETE (n)
""" # """
When executing query: # When executing query:
""" # """
MATCH (n) # MATCH (n)
RETURN n # RETURN n
""" # """
Then the result should be empty # Then the result should be empty
Scenario: Create node with relationships and delete it, check for relationships # Scenario: Create node with relationships and delete it, check for relationships
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (n)-[:X]->() # CREATE (n)-[:X]->()
CREATE (n)-[:Y]->() # CREATE (n)-[:Y]->()
DETACH DELETE (n) # DETACH DELETE (n)
""" # """
When executing query: # When executing query:
""" # """
MATCH ()-[n]->() # MATCH ()-[n]->()
RETURN n # RETURN n
""" # """
Then the result should be empty # Then the result should be empty
Scenario: Create node with relationships and delete it, check for nodes # Scenario: Create node with relationships and delete it, check for nodes
Given an empty graph # Given an empty graph
And having executed: # And having executed:
""" # """
CREATE (n:l{a: 1})-[:X]->() # CREATE (n:l{a: 1})-[:X]->()
CREATE (n)-[:Y]->() # CREATE (n)-[:Y]->()
DETACH DELETE (n) # DETACH DELETE (n)
""" # """
When executing query: # When executing query:
""" # """
MATCH (n) # MATCH (n)
RETURN n # RETURN n
""" # """
Then the result should be: # Then the result should be:
| n | # | n |
|( )| # |( )|
|( )| # |( )|
#
# Scenario: Test equal operator
Scenario: Test equal operator # When executing query:
When executing query: # """
""" # CREATE (a)
CREATE (a) # RETURN 1=1 and 1.0=1.0 and 'abc'='abc' and false=false and a.age is null as n
RETURN 1=1 and 1.0=1.0 and 'abc'='abc' and false=false and a.age is null as n # """
""" # Then the result should be:
Then the result should be: # | n |
| n | # | true |
| true | #
# Scenario: Test not equal operator
Scenario: Test not equal operator # When executing query:
When executing query: # """
""" # CREATE (a{age: 1})
CREATE (a{age: 1}) # RETURN not 1<>1 and 1.0<>1.1 and 'abcd'<>'abc' and false<>true and a.age is not null as n
RETURN not 1<>1 and 1.0<>1.1 and 'abcd'<>'abc' and false<>true and a.age is not null as n # """
""" # Then the result should be:
Then the result should be: # | n |
| n | # | true |
| true |
Scenario: Test greater operator Scenario: Test greater operator
When executing query: When executing query:
@ -298,29 +298,29 @@ Feature: Test02
| n | | n |
| true | | true |
Scenario: Test exponential operator # Scenario: Test exponential operator
When executing query: # When executing query:
""" # """
RETURN 3^2=81^0.5 as n # RETURN 3^2=81^0.5 as n
""" # """
Then the result should be: # Then the result should be:
| n | # | n |
| true | # | true |
#
# Scenario: Test one big mathematical equation
# When executing query:
# """
# RETURN (3+2*4-3/2%2*10)/5.0^2.0=0.04 as n
# """
# Then the result should be:
# | n |
# | true |
Scenario: Test one big mathematical equation # Scenario: Test one big logical equation
When executing query: # When executing query:
""" # """
RETURN (3+2*4-3/2%2*10)/5.0^2.0=0.04 as n # RETURN not true or true and false or not ((true xor false or true) and true or false xor true ) as n
""" # """
Then the result should be: # Then the result should be:
| n | # | n |
| true | # | false |
Scenario: Test one big logical equation
When executing query:
"""
RETURN not true or true and false or not ((true xor false or true) and true or false xor true ) as n
"""
Then the result should be:
| n |
| false |