summaryrefslogtreecommitdiff
path: root/libs/assimp/test/regression/settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/test/regression/settings.py')
-rw-r--r--libs/assimp/test/regression/settings.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/libs/assimp/test/regression/settings.py b/libs/assimp/test/regression/settings.py
new file mode 100644
index 0000000..9d0a036
--- /dev/null
+++ b/libs/assimp/test/regression/settings.py
@@ -0,0 +1,134 @@
+#!/usr/bin/env python3
+# -*- Coding: UTF-8 -*-
+
+# ---------------------------------------------------------------------------
+# Open Asset Import Library (ASSIMP)
+# ---------------------------------------------------------------------------
+#
+# Copyright (c) 2006-2020, ASSIMP Development Team
+#
+# All rights reserved.
+#
+# Redistribution and use of this software in source and binary forms,
+# with or without modification, are permitted provided that the following
+# conditions are met:
+#
+# * Redistributions of source code must retain the above
+# copyright notice, this list of conditions and the
+# following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the
+# following disclaimer in the documentation and/or other
+# materials provided with the distribution.
+#
+# * Neither the name of the ASSIMP team, nor the names of its
+# contributors may be used to endorse or promote products
+# derived from this software without specific prior
+# written permission of the ASSIMP Development Team.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# ---------------------------------------------------------------------------
+
+"""Shared settings for the regression suite (bold builder and
+test scripts rely on this)
+
+"""
+
+import os
+
+# -------------------------------------------------------------------------------
+# Files to ignore (with reason)
+#
+# pond.0.ply - loads with 40k identical triangles, causing postprocessing
+# to have quadratic runtime.
+# -------------------------------------------------------------------------------
+files_to_ignore = ["pond.0.ply"]
+
+# -------------------------------------------------------------------------------
+# List of file extensions to be excluded from the regression suite
+# File extensions are case insensitive
+# -------------------------------------------------------------------------------
+exclude_extensions = [
+ ".assbin", ".assxml", ".txt", ".md",
+ ".jpeg", ".jpg", ".png", ".gif", ".tga", ".bmp",
+ ".skeleton", ".skeleton.xml", ".license", ".mtl", ".material", ".pk3"
+]
+
+# -------------------------------------------------------------------------------
+# Post processing configurations to be included in the test. The
+# strings are parameters for assimp_cmd, see assimp_cmd's doxydoc
+# for more details.
+
+# The defaults are (validate-data-structure is always enabled, for
+# self-explanatory reasons :-):
+#
+# '-cfull' :apply all post processing except 'og' and 'ptv' (optimize-scenegraph)
+# '-og -om' :run optimize-scenegraph in combination with optimize-meshes.
+# '-vds -jiv' :join-identical-vertices alone. This is a hotspot where
+# floating-point inaccuracies can cause severe damage.
+# '-ptv': transform all meshes to world-space
+
+# As you can see, not all possible combinations of pp steps are covered -
+# but at least each step is executed at least once on each model.
+# -------------------------------------------------------------------------------
+pp_configs_to_test = [
+ "-cfull",
+ "-og -om -vds",
+ "-vds -jiv",
+ "-ptv -gsn -cts -db",
+
+ # this is especially important: if no failures are present with this
+ # preset, the regression is most likely caused by the post
+ # processing pipeline.
+ ""
+]
+# -------------------------------------------------------------------------------
+# Name of the regression database file to be used
+# gen_db.py writes to this directory, run.py checks against this directory.
+# If a zip file with the same name exists, its contents are favoured to a
+# normal directory, so in order to test against unzipped files the ZIP needs
+# to be deleted.
+# -------------------------------------------------------------------------------
+database_name = "db"
+
+# -------------------------------------------------------------------------------
+# List of directories to be processed. Paths are processed recursively.
+# -------------------------------------------------------------------------------
+model_directories = [
+ os.path.join("..","models"),
+ os.path.join("..","models-nonbsd")
+]
+
+# -------------------------------------------------------------------------------
+# Remove the original database files after the ZIP has been built?
+# -------------------------------------------------------------------------------
+remove_old = True
+
+# -------------------------------------------------------------------------------
+# Bytes to skip at the beginning of a dump. This skips the file header, which
+# is currently the same 500 bytes header for both assbin, assxml and minidumps.
+# -------------------------------------------------------------------------------
+dump_header_skip = 500
+
+# -------------------------------------------------------------------------------
+# Directory to write all results and logs to. The dumps pertaining to failed
+# tests are written to a subfolder of this directory ('tmp').
+# -------------------------------------------------------------------------------
+results = os.path.join("..","results")
+
+# Create results directory if it does not exist
+if not os.path.exists(results):
+ os.makedirs(results)
+
+# vim: ai ts=4 sts=4 et sw=4