40 lines
1,019 B
Python
40 lines
1,019 B
Python
|
|
from os import listdir
|
||
|
|
from pathlib import Path
|
||
|
|
from pytest import fixture, raises
|
||
|
|
|
||
|
|
|
||
|
|
doc = Path('doc')
|
||
|
|
tmp = Path('test', 'tmp')
|
||
|
|
|
||
|
|
|
||
|
|
scripts = {}
|
||
|
|
for filename in doc.glob('*/*.md'):
|
||
|
|
scripts[filename] = []
|
||
|
|
with open(filename) as fh:
|
||
|
|
yaml = False
|
||
|
|
redefine = False
|
||
|
|
for line in fh.readlines():
|
||
|
|
if line == '```\n':
|
||
|
|
if redefine:
|
||
|
|
scripts[filename][-1].append(new_script)
|
||
|
|
else:
|
||
|
|
scripts[filename].append([new_script])
|
||
|
|
yaml = False
|
||
|
|
redefine = False
|
||
|
|
if yaml:
|
||
|
|
if line.strip() == 'redefine: true':
|
||
|
|
redefine = True
|
||
|
|
new_script += line
|
||
|
|
if line == '```yml\n':
|
||
|
|
yaml = True
|
||
|
|
new_script = ''
|
||
|
|
|
||
|
|
|
||
|
|
@fixture(scope="module", params=scripts)
|
||
|
|
def test_dir(request):
|
||
|
|
return [(request.param, scripts_) for scripts_ in scripts[request.param]]
|
||
|
|
|
||
|
|
|
||
|
|
def test_scripts(test_dir):
|
||
|
|
print(test_dir)
|