Render tests: Use blocklist name for blocked tests

Pull Request: https://projects.blender.org/blender/blender/pulls/124960
This commit is contained in:
Alaska
2024-07-18 17:31:52 +02:00
committed by Sergey Sharybin
parent efbdc4e1fa
commit 935c49f1cf
4 changed files with 30 additions and 30 deletions

View File

@@ -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)

View File

@@ -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':

View File

@@ -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")

View File

@@ -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)),