- Added tests

- Driver can test on pure python code



git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@266 014f5005-505e-4b48-8d0a-63407b615a7c
master
LtWorf 2010-12-23 10:11:14 +07:00
parent 19ac2aaacd
commit 3e2d33f1d5
9 changed files with 89 additions and 6 deletions

@ -59,6 +59,9 @@ def execute_tests():
q_bad=0
q_good=0
q_tot=0
ex_bad=0
ex_good=0
ex_tot=0
for i in os.listdir(tests_path):
@ -74,6 +77,12 @@ def execute_tests():
py_good+=1
else:
py_bad+=1
elif i.endswith('.exec'):
ex_tot+=1
if run_exec_test(i[:-5]):
ex_good+=1
else:
ex_bad+=1
print "\n\033[36;1mResume of the results\033[0m"
print "\n\033[35;1mQuery tests\033[0m"
@ -88,17 +97,62 @@ def execute_tests():
if py_bad>0:
print "\033[31;1mFailed tests count: %d\033[0m" % py_bad
print "\n\033[35;1mExecute Python tests\033[0m"
print "Total test count: %d" % ex_tot
print "Passed tests: %d" % ex_good
if ex_bad>0:
print "\033[31;1mFailed tests count: %d\033[0m" % ex_bad
print "\n\033[36;1mTotal results\033[0m"
if q_bad+py_bad==0:
if q_bad+py_bad+ex_bad==0:
print "\033[32;1mNo failed tests\033[0m"
else:
print "\033[31;1mThere are %d failed tests\033[0m" % (py_bad+q_bad)
print "\033[31;1mThere are %d failed tests\033[0m" % (py_bad+q_bad+ex_bad)
def run_py_test(testname):
def run_exec_test(testname):
'''Runs a python test, which executes code directly rather than queries'''
print "Running python test: \033[35;1m%s\033[0m" % testname
glob=rels.copy()
exp_result={}
try:
expr=readfile('%s%s.exec' % (tests_path,testname))
exec(expr,glob) #Evaluating the expression
expr=readfile('%s%s.exec' % (tests_path,testname))
exec(expr,glob) #Evaluating the expression
expr=readfile('%s%s.result' % (tests_path,testname))
exp_result=eval(expr,rels) #Evaluating the expression
if isinstance(exp_result,dict):
fields_ok=True
for i in exp_result:
fields_ok = fields_ok and glob[i]==exp_result[i]
if fields_ok:
print "\033[32;1mTest passed\033[0m"
return True
except:
pass
print "\033[31;1mERROR\033[0m"
print "\033[31;1m=====================================\033[0m"
print "Expected %s" % exp_result
#print "Got %s" % result
print "\033[31;1m=====================================\033[0m"
return False
def run_py_test(testname):
'''Runs a python test, which evaluates expressions directly rather than queries'''
print "Running expression python test: \033[35;1m%s\033[0m" % testname
try:
expr=readfile('%s%s.python' % (tests_path,testname))

@ -0,0 +1 @@
dates-πdate(σ d>date (ρdate➡d(dates)*dates))

@ -0,0 +1,2 @@
date
2008-12-12

@ -0,0 +1,7 @@
p1=people.rename({"id":"ido"})
people.insert((123,"lala",0,31))
print p1
print people
retval=people==p1
people.delete("id==123")

@ -0,0 +1 @@
{'retval':False}

@ -0,0 +1,7 @@
p1=people.rename({"id":"ido"})
p1.insert((123,"lala",0,31))
print p1
print people
retval=people==p1
people.delete("id==123")

@ -0,0 +1 @@
{'retval':False}

@ -0,0 +1 @@
people people ᑎ people

@ -0,0 +1,9 @@
id,name,chief,age
0,jack,0,22
1,carl,0,20
2,john,1,30
3,dean,1,33
4,eve,0,25
5,duncan,4,30
6,paul,4,30
7,alia,1,28