CTests: Initial work to cover Cycles nodes with OpenGL tests
Works similar to regular Cycles tests, just does OpenGL render to get output image. Seems to work fine with the only funny effect: Blender window will pop up for each of the tests. This is current limitation of our OpenGL context. Might be changed in the future.
This commit is contained in:
parent
e991af0934
commit
e33e58bf23
|
@ -445,6 +445,7 @@ option(WITH_BOOST "Enable features depending on boost" ON)
|
|||
|
||||
# Unit testsing
|
||||
option(WITH_GTESTS "Enable GTest unit testing" OFF)
|
||||
option(WITH_OPENGL_TESTS "Enable OpenGL related unit testing (Experimental)" OFF)
|
||||
|
||||
|
||||
# Documentation
|
||||
|
|
|
@ -418,6 +418,9 @@ if(WITH_CYCLES)
|
|||
)
|
||||
endif()
|
||||
endmacro()
|
||||
if(WITH_OPENGL_TESTS)
|
||||
add_cycles_render_test(opengl)
|
||||
endif()
|
||||
add_cycles_render_test(reports)
|
||||
add_cycles_render_test(render)
|
||||
add_cycles_render_test(shader)
|
||||
|
|
|
@ -47,20 +47,41 @@ def printMessage(type, status, message):
|
|||
|
||||
|
||||
def render_file(filepath):
|
||||
command = (
|
||||
BLENDER,
|
||||
"--background",
|
||||
"-noaudio",
|
||||
"--factory-startup",
|
||||
"--enable-autoexec",
|
||||
filepath,
|
||||
"-E", "CYCLES",
|
||||
# Run with OSL enabled
|
||||
# "--python-expr", "import bpy; bpy.context.scene.cycles.shading_system = True",
|
||||
"-o", TEMP_FILE_MASK,
|
||||
"-F", "PNG",
|
||||
"-f", "1",
|
||||
dirname = os.path.dirname(filepath)
|
||||
basedir = os.path.dirname(dirname)
|
||||
subject = os.path.basename(dirname)
|
||||
if subject == 'opengl':
|
||||
command = (
|
||||
BLENDER,
|
||||
"--window-geometry", "0", "0", "1", "1",
|
||||
"-noaudio",
|
||||
"--factory-startup",
|
||||
"--enable-autoexec",
|
||||
filepath,
|
||||
"-E", "CYCLES",
|
||||
# Run with OSL enabled
|
||||
# "--python-expr", "import bpy; bpy.context.scene.cycles.shading_system = True",
|
||||
"-o", TEMP_FILE_MASK,
|
||||
"-F", "PNG",
|
||||
'--python', os.path.join(basedir,
|
||||
"util",
|
||||
"render_opengl.py")
|
||||
)
|
||||
else:
|
||||
command = (
|
||||
BLENDER,
|
||||
"--background",
|
||||
"-noaudio",
|
||||
"--factory-startup",
|
||||
"--enable-autoexec",
|
||||
filepath,
|
||||
"-E", "CYCLES",
|
||||
# Run with OSL enabled
|
||||
# "--python-expr", "import bpy; bpy.context.scene.cycles.shading_system = True",
|
||||
"-o", TEMP_FILE_MASK,
|
||||
"-F", "PNG",
|
||||
"-f", "1",
|
||||
)
|
||||
try:
|
||||
output = subprocess.check_output(command)
|
||||
if VERBOSE:
|
||||
|
|
Loading…
Reference in New Issue