mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Tests: exclude big-endian tests on macOS
In preparation for adding big-endian tests, disable them on macOS where many are failing, although it looks like the cause of failure may not relate to endian conversion, it needs further investigation.
This commit is contained in:
parent
4a9d67df0e
commit
16df642c2a
1 changed files with 30 additions and 3 deletions
|
|
@ -3,10 +3,12 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# ./blender.bin --background --python tests/python/bl_blendfile_versioning.py ..
|
||||
import bpy
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
import bpy
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
|
||||
from bl_blendfile_utils import TestHelper
|
||||
|
||||
|
|
@ -43,6 +45,21 @@ class TestBlendFileOpenAllTestFiles(TestHelper):
|
|||
"ram_glsl.blend",
|
||||
}
|
||||
|
||||
# Directories to exclude relative to `./tests/data/`.
|
||||
self.excluded_dirs = ()
|
||||
|
||||
if platform.system() == "Darwin":
|
||||
self.excluded_dirs = (
|
||||
*self.excluded_dirs,
|
||||
# The assert in `BKE_libblock_alloc_in_lib` often fails:
|
||||
# `BLI_assert(bmain->is_locked_for_linking == false || ELEM(type, ID_WS, ID_GR, ID_NT))`.
|
||||
# This needs to be investigated.
|
||||
"io_tests/blend_big_endian/",
|
||||
)
|
||||
|
||||
assert all(p.endswith("/") for p in self.excluded_dirs)
|
||||
self.excluded_dirs = tuple(p.replace("/", os.sep) for p in self.excluded_dirs)
|
||||
|
||||
# Generate the slice of blendfile paths that this instance of the test should process.
|
||||
blendfile_paths = [p for p in self.iter_blendfiles_from_directory(self.args.src_test_dir)]
|
||||
# `os.scandir()` used by `iter_blendfiles_from_directory` does not
|
||||
|
|
@ -73,16 +90,26 @@ class TestBlendFileOpenAllTestFiles(TestHelper):
|
|||
slice_indices = [(gen_indices(i), gen_indices(i + 1)) for i in range(slice_range)]
|
||||
return slice_indices[slice_index]
|
||||
|
||||
def skip_path_check(self, bfp):
|
||||
if os.path.basename(bfp) in self.excluded_paths:
|
||||
return True
|
||||
if self.excluded_dirs:
|
||||
assert bfp.startswith(self.args.src_test_dir)
|
||||
bfp_relative = bfp[len(self.args.src_test_dir):].rstrip(os.sep)
|
||||
if bfp_relative.startswith(*self.excluded_dirs):
|
||||
return True
|
||||
return False
|
||||
|
||||
def test_open(self):
|
||||
for bfp in self.blendfile_paths:
|
||||
if os.path.basename(bfp) in self.excluded_paths:
|
||||
if self.skip_path_check(bfp):
|
||||
continue
|
||||
bpy.ops.wm.read_homefile(use_empty=True, use_factory_startup=True)
|
||||
bpy.ops.wm.open_mainfile(filepath=bfp, load_ui=False)
|
||||
|
||||
def link_append(self, do_link):
|
||||
for bfp in self.blendfile_paths:
|
||||
if os.path.basename(bfp) in self.excluded_paths:
|
||||
if self.skip_path_check(bfp):
|
||||
continue
|
||||
bpy.ops.wm.read_homefile(use_empty=True, use_factory_startup=True)
|
||||
with bpy.data.libraries.load(bfp, link=do_link) as (lib_in, lib_out):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue