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-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.
2022-04-08PyAPI: use keyword only arguments for Text.region_{from/to} stringCampbell Barton
This is the convention for most parts of Blender Python API.
2022-04-07Text Editor: Get/Set region text APIMatheus Santos
Add the ability to get/set the selected text. **Calling the new methods:** - `bpy.data.texts["Text"].region_as_string()` - `bpy.data.texts["Text"].region_from_string("Replacement")`
2022-04-01Cycles: approximate shadow caustics using manifold next event estimationOlivier Maury
This adds support for selective rendering of caustics in shadows of refractive objects. Example uses are rendering of underwater caustics and eye caustics. This is based on "Manifold Next Event Estimation", a method developed for production rendering. The idea is to selectively enable shadow caustics on a few objects in the scene where they have a big visual impact, without impacting render performance for the rest of the scene. The Shadow Caustic option must be manually enabled on light, caustic receiver and caster objects. For such light paths, the Filter Glossy option will be ignored and replaced by sharp caustics. Currently this method has a various limitations: * Only caustics in shadows of refractive objects work, which means no caustics from reflection or caustics that outside shadows. Only up to 4 refractive caustic bounces are supported. * Caustic caster objects should have smooth normals. * Not currently support for Metal GPU rendering. In the future this method may be extended for more general caustics. TECHNICAL DETAILS This code adds manifold next event estimation through refractive surface(s) as a new sampling technique for direct lighting, i.e. finding the point on the refractive surface(s) along the path to a light sample, which satisfies Fermat's principle for a given microfacet normal and the path's end points. This technique involves walking on the "specular manifold" using a pseudo newton solver. Such a manifold is defined by the specular constraint matrix from the manifold exploration framework [2]. For each refractive interface, this constraint is defined by enforcing that the generalized half-vector projection onto the interface local tangent plane is null. The newton solver guides the walk by linearizing the manifold locally before reprojecting the linear solution onto the refractive surface. See paper [1] for more details about the technique itself and [3] for the half-vector light transport formulation, from which it is derived. [1] Manifold Next Event Estimation Johannes Hanika, Marc Droske, and Luca Fascione. 2015. Comput. Graph. Forum 34, 4 (July 2015), 87–97. https://jo.dreggn.org/home/2015_mnee.pdf [2] Manifold exploration: a Markov Chain Monte Carlo technique for rendering scenes with difficult specular transport Wenzel Jakob and Steve Marschner. 2012. ACM Trans. Graph. 31, 4, Article 58 (July 2012), 13 pages. https://www.cs.cornell.edu/projects/manifolds-sg12/ [3] The Natural-Constraint Representation of the Path Space for Efficient Light Transport Simulation. Anton S. Kaplanyan, Johannes Hanika, and Carsten Dachsbacher. 2014. ACM Trans. Graph. 33, 4, Article 102 (July 2014), 13 pages. https://cg.ivd.kit.edu/english/HSLT.php The code for this samping technique was inserted at the light sampling stage (direct lighting). If the walk is successful, it turns off path regularization using a specialized flag in the path state (PATH_MNEE_SUCCESS). This flag tells the integrator not to blur the brdf roughness further down the path (in a child ray created from BSDF sampling). In addition, using a cascading mechanism of flag values, we cull connections to caustic lights for this and children rays, which should be resolved through MNEE. This mechanism also cancels the MIS bsdf counter part at the casutic receiver depth, in essence leaving MNEE as the only sampling technique from receivers through refractive casters to caustic lights. This choice might not be optimal when the light gets large wrt to the receiver, though this is usually not when you want to use MNEE. This connection culling strategy removes a fair amount of fireflies, at the cost of introducing a slight bias. Because of the selective nature of the culling mechanism, reflective caustics still benefit from the native path regularization, which further removes fireflies on other surfaces (bouncing light off casters). Differential Revision: https://developer.blender.org/D13533
2022-03-11Fix T94121: PyAPI: ID property group returns wrong type with iter()Campbell Barton
Regression in 265d97556aa0f0f2a0e4dd7584e3b8573bbddd54. Where iterating directly on a property group failed, e.g.: `iter(group)`, tests missed this since only `group.keys()` was checked.
2022-03-04Cleanup: unused Python variables & importsCampbell Barton
2022-03-02Cleanup: remove all tweak events from key-map presetsCampbell Barton
2022-03-01Cleanup: remove check_deprecated.pyCampbell Barton
This was temporarily added back as the build-bot was running it.
2022-02-24Tests: disable file output for bl_keymap_validate.pyCampbell Barton
Left on by accident but should only be used when debugging output.
2022-02-23Tests: temporarily add back tests/check_deprecated.pyCampbell Barton
The build-bot directly referenced this file and doesn't have publically available configuration. Add an empty file until this can be removed by the build scripts.
2022-02-22GNUmakefile: rename test_depracted to check_deprecatedCampbell Barton
Also move this utility into the source/tools repo.
2022-02-21Cleanup: use strict type checking for bl_keymap_validateCampbell Barton
2022-02-21Tests: add duplicate key-map test, also test multiple configurationsCampbell Barton
Duplicate key-map items (while harmless in most cases) may cause unexpected behavior or point to mistakes in the key-map, so best avoid these.
2022-02-15License headers: use SPDX for remaining CMake find modules & gtestsCampbell Barton
2022-02-11Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-11Tests: enable full Cycles Metal device regression tests on buildbotBrecht Van Lommel
Now that all tests are passing. This does add about 5 minutes to the macOS builds on buildbot. Ref T92212
2022-02-11File headers: add missing copyright, add MIT to SPDX licensesCampbell Barton
2022-02-11File headers: add license to Python scriptsCampbell Barton
2022-02-11File headers: use SPDX license for CMake filesCampbell Barton
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-09Cleanup: make file headers more consistentCampbell Barton
Also some descriptive text into doc-strings.
2022-02-04Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected ↵Sebastian Parborg
results The case where Y rotation is mapped to Y rotation was not handled. This is now fixed. Also added an automated test to make sure that the symmetrize operator functions as intended. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D9214
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-02Cleanup: spelling in commentsCampbell Barton