render: determine available tests from present save files
also, filter tests to run by regular expressions
This commit is contained in:
parent
c1bd3d7619
commit
c40bfde9c7
@ -5,6 +5,7 @@ import concurrent.futures
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
@ -13,17 +14,11 @@ imagecompare = f'{ROOT}/imagecompare'
|
|||||||
WORKDIR = f'{ROOT}/work'
|
WORKDIR = f'{ROOT}/work'
|
||||||
REPORT_ROOT = f'{ROOT}' # FIXME should be workdir?
|
REPORT_ROOT = f'{ROOT}' # FIXME should be workdir?
|
||||||
|
|
||||||
# TODO load all saves from the save/ dir
|
|
||||||
# TODO rename to <map>_<description>_<issue(opt)>
|
# TODO rename to <map>_<description>_<issue(opt)>
|
||||||
saves = [
|
saves = []
|
||||||
'brush2_01',
|
for (_, _, files) in os.walk(os.path.join(ROOT, 'save')):
|
||||||
'brush_01',
|
for file in files:
|
||||||
'brush_02',
|
saves.append(file.removesuffix('.sav').removeprefix('rendertest_'))
|
||||||
'c0a0d_emissive',
|
|
||||||
'light_01',
|
|
||||||
'additive_cullback',
|
|
||||||
'c1a3_fan_material_669',
|
|
||||||
]
|
|
||||||
|
|
||||||
channels = {
|
channels = {
|
||||||
'full': '',
|
'full': '',
|
||||||
@ -42,10 +37,12 @@ def test_list(arg: str) -> [str]:
|
|||||||
items = arg.split(',')
|
items = arg.split(',')
|
||||||
tests = []
|
tests = []
|
||||||
for item in items:
|
for item in items:
|
||||||
# TODO regex?
|
r = re.compile(item)
|
||||||
if not item in saves:
|
for save in saves:
|
||||||
raise argparse.ArgumentTypeError(f'Test {item} is not available. Available tests are: {saves}')
|
if r.match(save):
|
||||||
tests.append(item)
|
tests.append(save)
|
||||||
|
if not tests:
|
||||||
|
raise argparse.ArgumentTypeError(f'No tests match {item}. Available tests are: {saves}')
|
||||||
return tests
|
return tests
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description='Generate scripts and makefiles for rendertest')
|
parser = argparse.ArgumentParser(description='Generate scripts and makefiles for rendertest')
|
||||||
|
Loading…
Reference in New Issue
Block a user