Initial code for testing, WIP
This commit is contained in:
parent
2ec1bad8f6
commit
10bc847279
30
openscad_utils.py
Normal file
30
openscad_utils.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
import py, re
|
||||
|
||||
mod_re = (r"\bmodule\s+(", r")\s*\(\s*")
|
||||
func_re = (r"\bfunction\s+(", r")\s*\(")
|
||||
|
||||
def extract_mod_names(fpath, name_re=r"\w+"):
|
||||
regex = name_re.join(mod_re)
|
||||
print regex
|
||||
matcher = re.compile(regex)
|
||||
return (m.group(1) for m in matcher.finditer(fpath.read()))
|
||||
|
||||
def extract_func_names(fpath, name_re=r"\w+"):
|
||||
regex = name_re.join(func_re)
|
||||
print regex
|
||||
matcher = re.compile(regex)
|
||||
return (m.group(1) for m in matcher.finditer(fpath.read()))
|
||||
|
||||
def collect_test_modules():
|
||||
dirpath = py.path.local("./")
|
||||
print "Collecting openscad test module names"
|
||||
|
||||
test_files = {}
|
||||
for fpath in dirpath.visit('*.scad'):
|
||||
#print fpath
|
||||
modules = extract_mod_names(fpath, r"test\w*")
|
||||
#functions = extract_func_names(fpath, r"test\w*")
|
||||
test_files[fpath] = modules
|
||||
return test_files
|
||||
|
||||
collect_test_modules()
|
14
test_compile.py
Normal file
14
test_compile.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from openscad_utils import *
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
if "mod_name" in metafunc.funcargnames:
|
||||
for fpath, mod_names in collect_test_modules().items():
|
||||
for mod_name in mod_names:
|
||||
metafunc.addcall(funcargs=dict(mod_name=mod_name, mod_file=fpath))
|
||||
|
||||
temppath = py.test.ensuretemp('MCAD')
|
||||
|
||||
def test_func(mod_name, mod_file, capfd):
|
||||
fpath = temppath.join(mod_file.base_name)
|
||||
|
||||
call_openscad(path=fpath)
|
Loading…
Reference in a new issue