Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2022-11-10SVG: Add more sophisticated test suitSergey Sharybin
This test suit tests SVG on a big files, as opposite of testing one specific aspect of the standard by atomic files.
2022-11-03CMake: workaround unsupported cmake_path(IS_PREFIX ..) in v3.20Campbell Barton
Add a macro that implements something similar to cmake_path's IS_PREFIX which isn't supported in older versions of CMake. This caused the build-bot to fail.
2022-11-03Cleanup: cmake comment line lengthCampbell Barton
2022-11-03Tests: don't create byte-code cache when calling Python from SVNCampbell Barton
Creating `__pycache__` directories in SVN's lib/ directory can cause updating SVN to fail. Add the -B flag when TEST_PYTHON_EXE from LIBDIR is used so so Python doesn't generate this cache.
2022-10-12Cycles: Enable MNEE on Metal (macOS >= 13)Michael Jones
This patch enables MNEE on macOS >= 13. There was an inefficiency in the calculation of spill requirements, fixed as of macOS 13. This patch also adds a temporary inlining workaround for a Metal compiler bug which causes `mnee_compute_constraint_derivatives` to behave incorrectly. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16235
2022-10-12Cleanup: use function style casts for C++, format & spellingCampbell Barton
2022-10-11Fix SVG tests: Add missing fileSergey Sharybin
2022-10-11Beginning of automated SVG regression testSergey Sharybin
This commit contains the CTest integration. Starting with the very simple tests for the recent fixes in the io_corve_svg addon which were related on closing path. The idea is to use same framework as what we use for render tests to make it easily visible what aspect of SVG changed or broke. In order to achieve this both .blend and .svg files are used. The .svg file defines the exact subject of test, and the .blend file defines camera, and possibly material. The longer term idea is to have a number of atomic tests for a specific SVG features to help isolating problematic areas, as well as a more comprehensive tests to perform QA.
2022-09-29Cleanup: correct API usage for script accessCampbell Barton
In practice this didn't cause problems, but accessing scripts via bpy.utils.resource_path('USER') ignores the BLENDER_USER_SCRIPTS environment variable.
2022-09-29Sculpt: New Cavity Automasking ModeJoseph Eagar
Add new cavity automasking mode based on local mesh curvature. Cavity masking is a great way to quickly add detail in crevices and the like. It's meant to be used with the Paint brush in color attribute mode. It does work with other brushes but the results can be unpredictable. {F13131497} The old "dirty mask" operator has been replace with a new "mask from cavity" operator that shares the same code with cavity automasking. Differences from the sculpt-dev implementation: * It uses the word "cavity." When I first implemented this I wasn't aware this feature existed in other software (and other paint modes in Blender), and for reasons that escape me today I initially decided to call it a concave or concavity mask. * The cavity factor works a bit differently. It's no longer non-linear and functions as a simple scale around 0.5f. * Supports custom curves. * Supports blurring. Reviewed By: Julian Kaspar, Jeroen Bakker and Campbell Barton Differential Revision: https://developer.blender.org/D15122 Ref D15122
2022-09-28Fix Python module test failing with macOS + address sanitizerBrecht Van Lommel
Based on patch by Ankit Meel. Ref D10877
2022-09-27Cycles: add Path Guiding on CPU through Intel OpenPGLSebastian Herhoz
This adds path guiding features into Cycles by integrating Intel's Open Path Guiding Library. It can be enabled in the Sampling > Path Guiding panel in the render properties. This feature helps reduce noise in scenes where finding a path to light is difficult for regular path tracing. The current implementation supports guiding directional sampling decisions on surfaces, when the material contains a least one diffuse component, and in volumes with isotropic and anisotropic Henyey-Greenstein phase functions. On surfaces, the guided sampling decision is proportional to the product of the incident radiance and the normal-oriented cosine lobe and in volumes it is proportional to the product of the incident radiance and the phase function. The incident radiance field of a scene is learned and updated during rendering after each per-frame rendering iteration/progression. At the moment, path guiding is only supported by the CPU backend. Support for GPU backends will be added in future versions of OpenPGL. Ref T92571 Differential Revision: https://developer.blender.org/D15286
2022-09-23Cleanup: use lowercase function calls & macros in for CMakeCampbell Barton
This is already the case for most CMake usage. Although some find modules are an exception to this, as they were originally maintained externally they use some different conventions. Also corrected bad indentation in: intern/cycles/CMakeLists.txt
2022-09-19Cleanup: prefer 'arg' over 'params' for sphinx documentationCampbell Barton
While both are supported, 'arg' is in more common use so prefer it.
2022-09-15Python: fix failing tests when building bpy moduleBrecht Van Lommel
* Use Python executable from lib folder since it's not installed. * Make bpy module test work for portable install. * Disable gtests which don't work with different Python link flags and shared library locations. Ref D15957
2022-09-14Cleanup: remove redundant braces from assert & raiseCampbell Barton
autopep8 v1.7 added a space after assert & raise, remove the braces as they aren't needed.
2022-08-23Build: add system for shipping with dynamic libraries on Linux and macOSBrecht Van Lommel
PLATFORM_BUNDLED_LIBRARIES gathers shared libraries that will be installed to the lib/ folder. The Blender executable gets a relative rpath pointing to this folder as part of the install step. The build rpath is different and uses absolute paths, so that it works for executables like tests that are in different locations, and to support the case where the build and install folders are different. The system is already used for the OpenMP library on macOS. But on Linux it will only kick in once we start using shared libraries for dependencies. This also removes Mesa libraries from the old location, as these would cause Blender to start with software OpenGL. Ref T99618
2022-08-09Compositor: Rename compositor build optionOmar Emara
Currently, the compositor can be disabled using the WITH_COMPOSITOR build option. Since, we intent to always build the realtime compositor, we need to make the distinction between both compositors clear. So this patch renames the option to WITH_COMPOSITOR_CPU. Additionally, the check for the option was moved inside the compositor modules' own CMake file in preparation for the realtime compositor code. Differential Revision: https://developer.blender.org/D15622 Reviewed By: Jeroen Bakker, Ray Molenkamp
2022-08-09License headers: add missing license headersCampbell Barton
2022-08-04Cleanup: formatCampbell Barton
2022-08-03Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D15588
2022-08-03Tests: Remove deprecated/removed operators from testsHans Goudey
44aa9e40ffe40c0b222c2f4675545a5777e27059
2022-08-02Automated testing: Add operators testsPratik Borhade
Part of {T84999} This patch adds test for - `dissolve_limited` - `dissolve_mode` - `merge_normals` Updated blend file: {F13162744} Reviewed By: zazizizou, mont29 Differential Revision: https://developer.blender.org/D15187
2022-08-01RenderReport: Add option to add platform specific overrides.Jeroen Bakker
Reference images in the reference_override_dir will be chosen before images in reference_dir. This allows platform specific reference images, with a common base. Ignored when set to None. The caller is responsible of setting the reference override dir as the unit test is more aware what the definition of a platform is. Patch adds `gpu.platform.device_type_get` function to get the device type that blender has detected. Reviewed By: brecht Maniphest Tasks: T99046 Differential Revision: https://developer.blender.org/D15265
2022-07-12Tests: add test to ensure restricted py-driver execution is workingCampbell Barton
Add internal function (only used for testing at the moment) `_bpy._driver_secure_code_test`. Add test `script_pyapi_bpy_driver_secure_eval` to serves two purposes: - Ensure expressions that should be insecure remain so when upgrading Python or making any changes in this area. - Ensure new versions of Python don't introduce new byte-codes that prevent existing expressions from being executed (happened when upgrading from 3.7, see [0]). [0]: dfa52017638abdf59791e5588c439d3a558a191d
2022-07-05Cleanup: formatCampbell Barton
2022-06-30Fix (unreported) liboverride resync creating garbage data in some cases.Bastien Montagne
Regression caused by the introduction of partial resync in February 2022 (rB1695d38989fd482d3c). Code was missing adding some existing overrides to the mapping in some specific cases, causing resync to create 'new' ones instead of re-using existing ones. This commit also adds a basic resync testcase that illustrates this issue.
2022-06-30Cleanup: formatCampbell Barton
2022-06-29Benchmark: Add eevee viewport playback tests.Jeroen Bakker
This commit adds the ability to test Eevee viewport playback performance tests. Tests should be placed in `lib/benchmarks/eevee/*/*.blend`. {rBL62962} added initial test files. See https://wiki.blender.org/wiki/Tools/Tests/Performance how to set it up. To record the playback performance the test start the viewport playback, and adds a post frame change handler. This handler will go over the next steps: * Ensures the viewport is set to rendered mode. * Wait for shaders to be compiled. Utilizes `bpy.app.is_job_running` function when available (v3.3) to wait for shader compilation to finish. When not available will wait for one minute. * Draw several warmup frames * Record for 10 seconds tracking the number of frames drawn and performance counters. * When ready print the result to the console. The results will be extracted when the benchmark has run. ## Example report ``` master v3.0 v3.1 v3.2 T88219 0.0860s 0.0744s 0.0744s 0.0851s blender290-fox 1.3056s 0.8744s 0.7994s 1.2809s ``` {F13232387} Reviewed By: brecht, fclem Maniphest Tasks: T99136 Differential Revision: https://developer.blender.org/D15302
2022-06-28Cleanup: fix various typosluzpaz
Differential Revision: https://developer.blender.org/D15304
2022-06-24Workbench: Increase render tests fail threshold for hair.Jeroen Bakker
When running the render test cases on MacOS/Intel the hair render test fail. Most likely due to the dense geometry and the low resolution of the test image. This patch increases the fail threshold so these tests will pass. Note that I haven't been able to test whether this is also the case for Linux/Windows. If that is the case we should remove the platform specific test.
2022-06-24Test/Eevee: Increase failure threshold for image tests.Jeroen Bakker
Makes the current test cases pass on NVIDIA 1080Ti/515. The tests still fail on other platforms (AMD, Intel). Some are actual failures. Other require platform specific reference images. Original patch provided by Brecht van Lommel. Reviewed By: brecht Differential Revision: https://developer.blender.org/D15264
2022-06-14Render report: better wording for reference image updatingSybren A. Stüvel
The old text was suggesting to run `BLENDER_TEST_UPDATE=1 ctest` for failed tests. Now it's more clear that this is for the regeneration of reference (ground truth) images, and that it will not touch passing test cases. It now also mentions to commit the new reference images to SVN, driving the point home that this is for updating those, and not for making failing tests succeed in general. Over-the-shoulder reviewed by: @sergey
2022-06-04Cleanup: Use const, make formatHans Goudey
2022-06-03Tests: Add basic testing for boolean modifiers.Bastien Montagne
Test basic Difference operation with both a single Objetc and a collection of three objects as operands, using BMesh (aka 'FAST') mode.
2022-06-02Cleanup: remove "<pep8 compliant>" from headersCampbell Barton
It can be assumed that all scripts comply with basic pep8 formatting regarding white-space, indentation etc. Also remove note in best practices page & update `tests/python/pep8.py`. If we want to exclude some scripts from make format, this can be done by adding them to `ignore_files` in: source/tools/utils_maintenance/autopep8_format_paths.py Or using `# nopep8` for to ignore for individual lines. Ref T98554
2022-06-01Merge branch 'blender-v3.2-release'Brecht Van Lommel
2022-06-01Fix failing Cycles Metal MNEE test on buildbot, by disabling itBrecht Van Lommel
It appears that Metal and MNEE are still not working.
2022-05-31Merge branch 'blender-v3.2-release'Brecht Van Lommel
2022-05-31Fix Cycles MNEE not working for MetalBrecht Van Lommel
Move MNEE to own kernel, separate from shader ray-tracing. This does introduce the limitation that a shader can't use both MNEE and AO/bevel, but that seems like the better trade-off for now. We can experiment with bigger kernel organization changes later. Differential Revision: https://developer.blender.org/D15070
2022-05-17Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-17Update tests to account for Text.as_string not adding a trailing newlineCampbell Barton
Regression in tests from [0] tests were written to assume a newline was added to the result of Text.as_string which is no longer the case. [0]: f4ff36431ccfac2f0a99fc23c18fe0d9de38b36d
2022-05-17Cleanup: formatCampbell Barton
2022-05-16Fix broken unit test `bl_rigging_symmetrize`Sybren A. Stüvel
Fix parameters used in `self.assertAlmostEqual()` call; the code was passing the error message to the `places` parameter.
2022-04-26Cleanup: line length for Python scriptsCampbell Barton
2022-04-26Cleanup: autopep8Campbell Barton
2022-04-24Cleanup: various minor changesCampbell Barton
- Add missing doxy-section for Apply Parent Inverse Operator - Use identity for None comparison in Python. - Remove newline from operator doc-strings. - Use '*' prefix multi-line C comment blocks. - Separate filenames from doc-strings. - Remove break after return.
2022-04-20Cleanup: run autopep8 on tests/performance/benchmarkCampbell Barton
This file was skipped by source/tools/utils/autopep8_clean.py since it doesn't have a .py extension, running the autopep8 tool recursively detects Python scripts without extensions.
2022-04-19Cleanup: run autopep8 on tests/Campbell Barton
2022-04-14Tests: Change force disable render test messages to be warningsClément Foucault
These were easilly missable and took some effort to find why the test were disabled.