Add sequencer transform tests

Tests files are based on test from D8393

Test files should be in `lib\tests\sequence_editing`
These are files, I will add few more tests including animation test.
{F9155273}

Using generic tool to compare rendered vs reference image as other render engines.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9394
This commit is contained in:
Richard Antalik 2020-11-01 21:33:38 +01:00 committed by Richard Antalik
parent ea1c5a6c15
commit c887a50f62
2 changed files with 86 additions and 0 deletions

@ -699,6 +699,30 @@ if(WITH_CODEC_FFMPEG)
)
endif()
# ------------------------------------------------------------------------------
# SEQUENCER RENDER TESTS
if(NOT OPENIMAGEIO_IDIFF)
MESSAGE(STATUS "Disabling sequencer render tests because OIIO idiff does not exist")
else()
set(render_tests
transform
)
foreach(render_test ${render_tests})
add_python_test(
sequencer_render_${render_test}
${CMAKE_CURRENT_LIST_DIR}/sequencer_render_tests.py
-blender "${TEST_BLENDER_EXE}"
-testdir "${TEST_SRC_DIR}/sequence_editing/${render_test}"
-idiff "${OPENIMAGEIO_IDIFF}"
-outdir "${TEST_OUT_DIR}/sequence_editing/${render_test}"
)
endforeach()
endif()
add_subdirectory(collada)
# TODO: disabled for now after collection unification

@ -0,0 +1,62 @@
#!/usr/bin/env python3
# Apache License, Version 2.0
import argparse
import os
import shlex
import shutil
import subprocess
import sys
from pathlib import Path
def get_arguments(filepath, output_filepath):
dirname = os.path.dirname(filepath)
basedir = os.path.dirname(dirname)
args = [
"--background",
"-noaudio",
"--factory-startup",
"--enable-autoexec",
"--debug-memory",
"--debug-exit-on-error",
filepath,
"-o", output_filepath,
"-f", "1",
"-F", "PNG"]
return args
def create_argparse():
parser = argparse.ArgumentParser()
parser.add_argument("-blender", nargs="+")
parser.add_argument("-testdir", nargs=1)
parser.add_argument("-outdir", nargs=1)
parser.add_argument("-idiff", nargs=1)
return parser
def main():
parser = create_argparse()
args = parser.parse_args()
blender = args.blender[0]
test_dir = args.testdir[0]
idiff = args.idiff[0]
output_dir = args.outdir[0]
from modules import render_report
report = render_report.Report("Sequencer", output_dir, idiff)
report.set_pixelated(True)
report.set_reference_dir("reference")
test_dir_name = Path(test_dir).name
ok = report.run(test_dir, blender, get_arguments, batch=True)
sys.exit(not ok)
if __name__ == "__main__":
main()