more verbose tests; should run w/o hammer installed system-wide
This commit is contained in:
parent
656f4546dd
commit
62af9f6222
2 changed files with 25 additions and 17 deletions
|
|
@ -1,21 +1,23 @@
|
||||||
# -*- python -*-
|
# -*- python -*-
|
||||||
Import('env')
|
import os.path
|
||||||
|
Import('env libhammer_shared')
|
||||||
|
|
||||||
pythonenv = env.Clone(IMPLICIT_COMMAND_DEPENDENCIES = 0)
|
pythonenv = env.Clone(IMPLICIT_COMMAND_DEPENDENCIES = 0)
|
||||||
|
|
||||||
pythonenv.Append(CPPPATH = ['../../', '/usr/include/python2.7'])
|
pythonenv.Append(CPPPATH = ['../../', '/usr/include/python2.7'])
|
||||||
pythonenv.Append(CCFLAGS = ['-fpic', '-DSWIG', '-Wno-all', '-Wno-extra', '-Wno-error'])
|
pythonenv.Append(CCFLAGS = ['-fpic', '-DSWIG', '-Wno-all', '-Wno-extra', '-Wno-error'])
|
||||||
pythonenv.Append(LIBS = ['hammer'])
|
#pythonenv.Append(LIBS = ['hammer'])
|
||||||
pythonenv.Append(LIBPATH = ['../../'])
|
#pythonenv.Append(LIBPATH = ['../../'])
|
||||||
pythonenv.Append(SWIGFLAGS = ['-DHAMMER_INTERNAL__NO_STDARG_H', '-Isrc/', '-python'])
|
pythonenv.Append(SWIGFLAGS = ['-DHAMMER_INTERNAL__NO_STDARG_H', '-Isrc/', '-python'])
|
||||||
|
|
||||||
pythonenv.Command("hammer.i", "../swig/hammer.i", Copy("$TARGET", "$SOURCE"))
|
pythonenv.Command("hammer.i", "../swig/hammer.i", Copy("$TARGET", "$SOURCE"))
|
||||||
|
|
||||||
swig = ['hammer.i']
|
swig = ['hammer.i']
|
||||||
|
|
||||||
libhammer_python = pythonenv.SharedLibrary('hammer', swig, SHLIBPREFIX='_')
|
libhammer_python = pythonenv.SharedLibrary('hammer', libhammer_shared + swig, SHLIBPREFIX='_')
|
||||||
|
|
||||||
pytestenv = pythonenv.Clone()
|
pytestenv = pythonenv.Clone()
|
||||||
pytestenv.Command(None, 'hammer_tests.py', "nosetests -v $SOURCE")
|
pytestenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
|
||||||
|
pytestenv.Command(None, ['hammer_tests.py', libhammer_python], "nosetests -vv $SOURCE")
|
||||||
|
|
||||||
Clean('.', ['hammer.pyc', 'hammer_tests.py', 'hammer_tests.pyc'])
|
Clean('.', ['hammer.pyc', 'hammer_tests.py', 'hammer_tests.pyc'])
|
||||||
|
|
|
||||||
|
|
@ -477,18 +477,24 @@ class TestNot2(unittest.TestCase):
|
||||||
# # def test_failure(self):
|
# # def test_failure(self):
|
||||||
# # pass
|
# # pass
|
||||||
|
|
||||||
# class TestRightrec(unittest.TestCase):
|
class TestARightrec(unittest.TestCase):
|
||||||
# @classmethod
|
@classmethod
|
||||||
# def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
# cls.parser = h.h_indirect()
|
cls.parser = h.h_indirect()
|
||||||
# a = h.h_ch("a")
|
a = h.h_ch("a")
|
||||||
# h.h_bind_indirect(cls.parser, h.h_choice__a([h.h_sequence__a([a, cls.parser, None]), h.h_epsilon_p()]))
|
h.h_bind_indirect(cls.parser, h.h_choice__a([h.h_sequence__a([a, cls.parser, None]), h.h_epsilon_p(), None]))
|
||||||
# def test_success(self):
|
def test_success(self):
|
||||||
# self.assertEqual([x.token_data.uint for x in h.h_parse(self.parser, "a", 1).ast.token_data.seq], [ord(y) for y in ["a"]])
|
tree = h.h_parse(self.parser, "a", 1).ast.token_data.seq
|
||||||
# self.assertEqual([x.token_data.uint for x in h.h_parse(self.parser, "aa", 2).ast.token_data.seq], ["a", ["a"]])
|
self.assertEqual(tree[0].token_data.uint, ord("a"))
|
||||||
# self.assertEqual([x.token_data.uint for x in h.h_parse(self.parser, "aaa", 3).ast.token_data.seq], ["a", ["a", ["a"]]])
|
tree = h_parse(self.parser, "aa", 2).ast.token_data.seq
|
||||||
# def test_failure(self):
|
self.assertEqual(tree[0].token_data.uint, ord("a"))
|
||||||
# pass
|
self.assertEqual(tree[1].token_data.seq[0].token_data.uint, ord("a"))
|
||||||
|
tree = h_parse(self.parser, "aaa", 3).ast.token_data.seq
|
||||||
|
self.assertEqual(tree[0].token_data.uint, ord("a"))
|
||||||
|
self.assertEqual(tree[1].token_data.seq[0].token_data.uint, ord("a"))
|
||||||
|
self.assertEqual(tree[1].token_data.seq[1].token_data.seq[0].uint, ord("a"))
|
||||||
|
def test_failure(self):
|
||||||
|
pass
|
||||||
|
|
||||||
# ### this is just for GLR
|
# ### this is just for GLR
|
||||||
# #class TestAmbiguous(unittest.TestCase):
|
# #class TestAmbiguous(unittest.TestCase):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue