blender/tests/python/bl_io_curve_svg_test.py
Campbell Barton 4f1817cc18 Cleanup: declare __all__ for Python scripts
Declare all to make public public API's explicit and
help detect unused code.
2025-01-06 16:45:36 +11:00

67 lines
1.6 KiB
Python

#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2015-2022 Blender Authors
#
# SPDX-License-Identifier: Apache-2.0
__all__ = (
"main",
)
import argparse
import os
import sys
from pathlib import Path
def get_arguments(filepath, output_filepath):
dirname = os.path.dirname(filepath)
basedir = os.path.dirname(dirname)
args = [
"--background",
"--factory-startup",
"--enable-autoexec",
"--debug-memory",
"--debug-exit-on-error",
filepath,
"-E", "CYCLES",
"-o", output_filepath,
"-F", "PNG",
"--python", os.path.join(basedir, "util", "import_svg.py"),
"-f", "1",
]
return args
def create_argparse():
parser = argparse.ArgumentParser(
description="Run test script for each blend file in TESTDIR, comparing the render result with known output."
)
parser.add_argument("--blender", required=True)
parser.add_argument("--testdir", required=True)
parser.add_argument("--outdir", required=True)
parser.add_argument("--oiiotool", required=True)
parser.add_argument('--batch', default=False, action='store_true')
return parser
def main():
parser = create_argparse()
args = parser.parse_args()
from modules import render_report
report = render_report.Report('IO Curve SVG', args.outdir, args.oiiotool)
report.set_pixelated(True)
test_dir_name = Path(args.testdir).name
if test_dir_name == 'complex':
report.set_fail_percent(0.01)
ok = report.run(args.testdir, args.blender, get_arguments, batch=args.batch)
sys.exit(not ok)
if __name__ == "__main__":
main()