Render tests: Use blocklist name for blocked tests
Pull Request: https://projects.blender.org/blender/blender/pulls/124960
This commit is contained in:
@@ -683,9 +683,9 @@ if(WITH_CYCLES OR WITH_GPU_RENDER_TESTS)
|
||||
|
||||
# Cycles
|
||||
if(WITH_CYCLES)
|
||||
set(_cycles_blacklist "")
|
||||
set(_cycles_blocklist "")
|
||||
if(NOT WITH_CYCLES_OSL)
|
||||
set(_cycles_blacklist OSL)
|
||||
set(_cycles_blocklist OSL)
|
||||
endif()
|
||||
foreach(_cycles_device ${CYCLES_TEST_DEVICES})
|
||||
string(TOLOWER "${_cycles_device}" _cycles_device_lower)
|
||||
@@ -699,7 +699,7 @@ if(WITH_CYCLES OR WITH_GPU_RENDER_TESTS)
|
||||
-testdir "${TEST_SRC_DIR}/render/${render_test}"
|
||||
-outdir "${TEST_OUT_DIR}/cycles"
|
||||
-device ${_cycles_device}
|
||||
-blacklist ${_cycles_blacklist}
|
||||
-blocklist ${_cycles_blocklist}
|
||||
)
|
||||
|
||||
if(NOT ("${_cycles_device_lower}" STREQUAL "cpu"))
|
||||
@@ -708,7 +708,7 @@ if(WITH_CYCLES OR WITH_GPU_RENDER_TESTS)
|
||||
unset(_cycles_test_name)
|
||||
endforeach()
|
||||
endforeach()
|
||||
unset(_cycles_blacklist)
|
||||
unset(_cycles_blocklist)
|
||||
endif()
|
||||
|
||||
if(WITH_GPU_RENDER_TESTS)
|
||||
|
||||
@@ -12,8 +12,8 @@ from pathlib import Path
|
||||
|
||||
# List of .blend files that are known to be failing and are not ready to be
|
||||
# tested, or that only make sense on some devices. Accepts regular expressions.
|
||||
BLACKLIST_ALL = [
|
||||
# Blacklisted due overlapping object differences between platforms.
|
||||
BLOCKLIST_ALL = [
|
||||
# Blocked due to overlapping object differences between platforms.
|
||||
"hair_geom_reflection.blend",
|
||||
"hair_geom_transmission.blend",
|
||||
"hair_instancer_uv.blend",
|
||||
@@ -21,30 +21,30 @@ BLACKLIST_ALL = [
|
||||
"visibility_particles.blend",
|
||||
]
|
||||
|
||||
BLACKLIST_OSL = [
|
||||
BLOCKLIST_OSL = [
|
||||
# OSL only supported on CPU.
|
||||
'.*_osl.blend',
|
||||
'osl_.*.blend',
|
||||
]
|
||||
|
||||
BLACKLIST_OPTIX = [
|
||||
BLOCKLIST_OPTIX = [
|
||||
# Ray intersection precision issues
|
||||
'T50164.blend',
|
||||
'T43865.blend',
|
||||
]
|
||||
|
||||
BLACKLIST_METAL = []
|
||||
BLOCKLIST_METAL = []
|
||||
|
||||
if platform.system() == "Darwin":
|
||||
version, _, _ = platform.mac_ver()
|
||||
major_version = version.split(".")[0]
|
||||
if int(major_version) < 13:
|
||||
BLACKLIST_METAL += [
|
||||
BLOCKLIST_METAL += [
|
||||
# MNEE only works on Metal with macOS >= 13
|
||||
"underwater_caustics.blend",
|
||||
]
|
||||
|
||||
BLACKLIST_GPU = [
|
||||
BLOCKLIST_GPU = [
|
||||
# Uninvestigated differences with GPU.
|
||||
'image_log.blend',
|
||||
'T40964.blend',
|
||||
@@ -113,7 +113,7 @@ def create_argparse():
|
||||
parser.add_argument("-outdir", nargs=1)
|
||||
parser.add_argument("-oiiotool", nargs=1)
|
||||
parser.add_argument("-device", nargs=1)
|
||||
parser.add_argument("-blacklist", nargs="*")
|
||||
parser.add_argument("-blocklist", nargs="*")
|
||||
parser.add_argument('--batch', default=False, action='store_true')
|
||||
return parser
|
||||
|
||||
@@ -128,18 +128,18 @@ def main():
|
||||
output_dir = args.outdir[0]
|
||||
device = args.device[0]
|
||||
|
||||
blacklist = BLACKLIST_ALL
|
||||
blocklist = BLOCKLIST_ALL
|
||||
if device != 'CPU':
|
||||
blacklist += BLACKLIST_GPU
|
||||
if device != 'CPU' or 'OSL' in args.blacklist:
|
||||
blacklist += BLACKLIST_OSL
|
||||
blocklist += BLOCKLIST_GPU
|
||||
if device != 'CPU' or 'OSL' in args.blocklist:
|
||||
blocklist += BLOCKLIST_OSL
|
||||
if device == 'OPTIX':
|
||||
blacklist += BLACKLIST_OPTIX
|
||||
blocklist += BLAOCKLIST_OPTIX
|
||||
if device == 'METAL':
|
||||
blacklist += BLACKLIST_METAL
|
||||
blocklist += BLOCKLIST_METAL
|
||||
|
||||
from modules import render_report
|
||||
report = render_report.Report('Cycles', output_dir, oiiotool, device, blacklist)
|
||||
report = render_report.Report('Cycles', output_dir, oiiotool, device, blocklist)
|
||||
report.set_pixelated(True)
|
||||
report.set_reference_dir("cycles_renders")
|
||||
if device == 'CPU':
|
||||
|
||||
@@ -12,10 +12,10 @@ from pathlib import Path
|
||||
|
||||
# List of .blend files that are known to be failing and are not ready to be
|
||||
# tested, or that only make sense on some devices. Accepts regular expressions.
|
||||
BLACKLIST = [
|
||||
# Blacklisted due to point cloud volume differences between platforms (to be fixed).
|
||||
BLOCKLIST = [
|
||||
# Blocked due to point cloud volume differences between platforms (to be fixed).
|
||||
"points_volume.blend",
|
||||
# Blacklisted dues to GBuffer encoding of small IOR difference between platforms (to be fixed).
|
||||
# Blocked due to GBuffer encoding of small IOR difference between platforms (to be fixed).
|
||||
"principled_thinfilm_transmission.blend",
|
||||
]
|
||||
|
||||
@@ -185,7 +185,7 @@ def main():
|
||||
reference_override_dir = "eevee_next_renders/amd"
|
||||
|
||||
from modules import render_report
|
||||
report = render_report.Report("Eevee Next", output_dir, oiiotool, blacklist=BLACKLIST)
|
||||
report = render_report.Report("Eevee Next", output_dir, oiiotool, blocklist=BLOCKLIST)
|
||||
report.set_pixelated(True)
|
||||
report.set_engine_name('eevee_next')
|
||||
report.set_reference_dir("eevee_next_renders")
|
||||
|
||||
@@ -18,7 +18,7 @@ from . import global_report
|
||||
from .colored_print import (print_message, use_message_colors)
|
||||
|
||||
|
||||
def blend_list(dirpath, device, blacklist):
|
||||
def blend_list(dirpath, device, blocklist):
|
||||
import re
|
||||
|
||||
for root, dirs, files in os.walk(dirpath):
|
||||
@@ -27,8 +27,8 @@ def blend_list(dirpath, device, blacklist):
|
||||
continue
|
||||
|
||||
skip = False
|
||||
for blacklist_entry in blacklist:
|
||||
if re.match(blacklist_entry, filename):
|
||||
for blocklist_entry in blocklist:
|
||||
if re.match(blocklist_entry, filename):
|
||||
skip = True
|
||||
break
|
||||
|
||||
@@ -92,10 +92,10 @@ class Report:
|
||||
'compare_tests',
|
||||
'compare_engine',
|
||||
'device',
|
||||
'blacklist',
|
||||
'blocklist',
|
||||
)
|
||||
|
||||
def __init__(self, title, output_dir, oiiotool, device=None, blacklist=[]):
|
||||
def __init__(self, title, output_dir, oiiotool, device=None, blocklist=[]):
|
||||
self.title = title
|
||||
self.output_dir = output_dir
|
||||
self.global_dir = os.path.dirname(output_dir)
|
||||
@@ -107,7 +107,7 @@ class Report:
|
||||
self.fail_percent = 1
|
||||
self.engine_name = self.title.lower().replace(" ", "_")
|
||||
self.device = device
|
||||
self.blacklist = [] if os.getenv('BLENDER_TEST_IGNORE_BLOCKLIST') is not None else blacklist
|
||||
self.blocklist = [] if os.getenv('BLENDER_TEST_IGNORE_BLOCKLIST') is not None else blocklist
|
||||
|
||||
if device:
|
||||
self.title = self._engine_title(title, device)
|
||||
@@ -542,7 +542,7 @@ class Report:
|
||||
passed_tests = []
|
||||
failed_tests = []
|
||||
silently_failed_tests = []
|
||||
all_files = list(blend_list(dirpath, self.device, self.blacklist))
|
||||
all_files = list(blend_list(dirpath, self.device, self.blocklist))
|
||||
all_files.sort()
|
||||
print_message("Running {} tests from 1 test case." .
|
||||
format(len(all_files)),
|
||||
|
||||
Reference in New Issue
Block a user