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
2019-09-13BLI: add some missing methods to Map and SetVectorJacques Lucke
2019-09-13BLI: new C++ hash table data structuresJacques Lucke
This commit adds some new hashing based data structures to blenlib. All of them use open addressing with probing currently. Furthermore, they support small object optimization, but it is not customizable yet. I'll add support for this when necessary. The following main data structures are included: **Set** A collection of values, where every value must exist at most once. This is similar to a Python `set`. **SetVector** A combination of a Set and a Vector. It supports fast search for elements and maintains insertion order when there are no deletes. All elements are stored in a continuous array. So they can be iterated over using a normal `ArrayRef`. **Map** A set of key-value-pairs, where every key must exist at most once. This is similar to a Python `dict`. **StringMap** A special map for the case when the keys are strings. This case is fairly common and allows for some optimizations. Most importantly, many unnecessary allocations can be avoided by storing strings in a single buffer. Furthermore, the interface of this class uses `StringRef` to avoid unnecessary conversions. This commit is a continuation of rB369d5e8ad2bb7.
2019-09-12BLI: new StringRef and StringRefNull data structuresJacques Lucke
These two data structures reference strings somewhere in memory. They do not own the referenced string. The string is considered const. A string referenced by StringRefNull can be expected to be null-terminated. That is not the case for StringRef. This commit is a continuation of rB369d5e8ad2bb7c2.
2019-09-12BLI: new C++ ArrayRef, Vector, Stack, ... data structuresJacques Lucke
Many generic C++ data structures have been developed in the functions branch. This commit merges a first chunk of them into master. The following new data structures are included: Array: Owns a memory buffer with a fixed size. It is different from std::array in that the size is not part of the type. ArrayRef: References an array owned by someone else. All elements in the referenced array are considered to be const. This should be the preferred parameter type for functions that take arrays as input. MutableArrayRef: References an array owned by someone else. The elements in the referenced array can be changed. IndexRange: Specifies a continuous range of integers with a start and end index. IntrusiveListBaseWrapper: A utility class that allows iterating over ListBase instances where the prev and next pointer are stored in the objects directly. Stack: A stack implemented on top of a vector. Vector: An array that can grow dynamically. Allocators: Three allocator types are included that can be used by the container types to support different use cases. The Stack and Vector support small object optimization. So when the amount of elements in them is below a certain threshold, no memory allocation is performed. Additionally, most methods have unit tests. I'm merging this without normal code review, after I checked the code roughly with Sergey, and after we talked about it with Brecht.
2019-09-11Depsgraph: Pass bmain to depsgraph object creationSergey Sharybin
Currently unused, but will allow to keep of an owner of the depsgraph. Could also simplify other APIs in the future by avoiding to pass bmain explicitly to relation update functions and things like that.
2019-09-08Fix script_load_modules test failure in power sequencerBrecht Van Lommel
2019-09-07Fix GTests failing on Windows buildbotBrecht Van Lommel
Run these tests from the install directory so they can find dlls.
2019-09-07Tests: run tests from install pathBrecht Van Lommel
Blender can only be run correctly from the install path since it requires Python scripts, dynamic libraries and other files to be present. By default the install path is the same as the build path, so it works anyway. But on the buildbot it isn't. There was a workaround but it failed on Windows and macOS. Now tests run from the install path. Detecting that path for ctest is more complicated than I would like, but I couldn't find a better solution. Ref T69541.
2019-09-07Fix two bugs in delaunay blenlib function.Howard Trickey
Bugs were: (1) needed an epsilon test in CCW test in order to handle new costraint edge that intersects an existing point but only within epsilon; (2) the "valid bmesh" output mode sometimes left a face that included outside frame point.
2019-09-07Cleanup: style, spellingCampbell Barton
2019-09-07EEVEE: Fix tests crashing if file is in edit modeClément Foucault
2019-09-06Eevee: Improve Test setupClément Foucault
- Remove use_screen_refraction as it conflict with SSR and SSS - Increase GTAO distance - Add a simple lightprobe setup that works well in most cases - Enable soft shadows Baking the lightprobes adds some overhead to the test time (+33%). Reviewers: brecht Differential Revision: https://developer.blender.org/D5507
2019-08-30Cleanup: remove debug printBrecht Van Lommel
2019-08-30Tests: reorder render tests so cycles/eevee/workbench are not interleavedBrecht Van Lommel
2019-08-26Fix render test Python error on crashesBrecht Van Lommel
2019-08-15Cleanup: clang-format, unused argCampbell Barton
2019-08-15Fix CDT bug causing crash with some output modes.Howard Trickey
Forgot to properly maintain the edge for faces while dissolving edges.
2019-08-14Cleanup: clang-format, sort structs & cmake filesCampbell Barton
2019-08-14Text editor: syntax highlighting + line numbers on by defaultSybren A. Stüvel
The most common use of the text editor seems to be for scripting. Having line numbers and syntax highlighting enabled by default seems sensible. Syntax highlighting is now enabled by default, but is automatically disabled when the datablock has a non-highlighted extension. Highlighting is enabled for filenames like: - Text - Text.001 - somefile.py and is automatically disabled when the datablock has an extension for which Blender has no syntax highlighter registered. Reviewers: billreynish, campbellbarton Subscribers: brecht, billreynish Differential Revision: https://developer.blender.org/D5472
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-08-10Cleanup: clang-formatCampbell Barton
2019-08-10Add Constrained Delaunay Triangulation routine to Blenlib.Howard Trickey
See Design task T68277, and patch D5423. This commit includes edits by @ideasman42 to patch in branch temp-D5423-update, plus responses to his comments.
2019-08-05GTest: test cases for polyfill2d bug T67109Campbell Barton
2019-08-02Tests: also don't fail on memory leaks for gtestsBrecht Van Lommel
2019-08-02Fix broken add_python_test after recent changesBrecht Van Lommel
2019-08-02Tests: don't fail on leaks detected by leak sanitizerBrecht Van Lommel
These often happen in external libraries that we can't fix. The leaks are still printed in the logs.
2019-08-02Cleanup: refactor tests executing Blender to use add_blender_test functionBrecht Van Lommel
2019-08-02Fix scene units test failure after recent changesBrecht Van Lommel
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Fix: test object_modifier_array is passing when it shouldn't.Habib Gahbiche
From D5253.
2019-07-01Tests: Point ffmpeg data to a new folderSergey Sharybin
2019-06-28Python tests: replaced `imp` with `importlib`Sybren A. Stüvel
The `imp` module has been deprecated since Python 3.4, and is replaced by `importlib`.
2019-06-28Tests: disable keymap hierarchy tests until they are fixedBrecht Van Lommel
This is not a critical issue, and it's important to have tests always passing. Ref T65963.
2019-06-27Tests: speed up render tests by running multiple in the same processBrecht Van Lommel
Blender startup time and shader compilation is a big factor when running hundreds of tests, so now all renders in the same ctest run in the same process. This was previously reverted due to skipping other tests when one test crashed. Now if a test crashes, Blender is re-run with the remaining tests so we get results from them still.
2019-06-26Tests: put output of IO tests in subdirectoryBrecht Van Lommel
2019-06-26Tests: add navigation links for HTML test reports, and other tweaksBrecht Van Lommel
2019-06-25Fix related to T65963: Ctest: Failing test script_load_keymap passes.Bastien Montagne
Fix things to make test actually fail as expected (one cannot compare functions to strings, so no more sorting for now). Not sure how to actually fix the test though, not even sure test make any sense anymore actually, with all those weirdo gizmos and tools keymaps thingy...
2019-06-22macOS: rename blender.app to Blender.appBrecht Van Lommel
Using a capitalized app name fits the platform guidelines. Since macOS file systems are case insensitive by default this should not break scripts that assume lowercase.
2019-06-05GTests: BLI_task: Add basic tests for BLI_task_parallel_listbase(), and some ↵Bastien Montagne
performances benchmarks. Nothing special to mention about regression test itself, it basically mimics the one for `BLI_task_parallel_mempool()`... Basic performances benchmarks do not tell us much, besides the fact that for very light processing of listbase, even with 100k items, single-thread remains an order of magnitude faster than threaded code. Synchronization is just way too expensive in that case with current code. This should be partially solvable with much bigger (and configurable) chunk sizes though (current ones are just ridiculous for such cases ;) )...
2019-06-04Fix (unreported) missing updates in scripts/docs after `scene.update()` removal.Bastien Montagne
This should really have been done together with API changes, simple usage of grep does the trick to catch most places needing updates.
2019-05-28Tests: make grease pencil tests part of OpenGL render testsBrecht Van Lommel
Otherwise tests fail on machines without OpenGL.
2019-05-21CTest: Fix Bli_task_test failing on windows.Ray Molenkamp
The task_scheduler was not being explicitly freed, leading to unpredictable behavior when the process was exiting. The test would pass, but would sometimes segfault at process shutdown.
2019-05-20Fix broken workbench tests after recent changesBrecht Van Lommel
2019-05-17Cycles/Eevee: unify depth of field settings for camerasJeroen Bakker
There is now a checkbox to enable/disable depth of field per camera. For Eevee this replace the scene level setting. For Cycles there is now only an F-Stop value, no longer a Radius. Existing files are converted based on Cycles or Eevee being set in the scene. Differential Revision: https://developer.blender.org/D4882
2019-05-17Eevee: Remove the Volumetric Render checkboxClément Foucault
This is to simplify the usage of Volumetrics. Now it automatically detect if there is any Volumetric material in the view and allocate the needed buffer if any.
2019-05-16Tests: add more descriptive messages when idiff is not availableBrecht Van Lommel
Based on patch contributed by Diana Picus in D4355.
2019-05-16Tweak API to support adding evaluated meshes to main databaseSergey Sharybin
One of the usecases is to create mesh from an object is a manner similar to how Apply Modifiers does it, and have it in the bmain so it can be referenced by other objects. This usecase is something what went unnoticed in the previous API changes, so here is a followup. Summary of changes: * bpy.meshes.new_from_object() behaves almost the same as before this change. The difference now is that it now ensures all referenced data-blocks are original (for example, materials referenced by the mesh). * object.to_mesh() now creates free-standing Mesh data-block which is outside of any bmain. The object owns it, which guarantees the memory never leaks. It is possible to force free memory by calling object.to_mesh_clear(). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4875
2019-05-16Revert "Tests: speed up render tests by running multiple in the same process"Brecht Van Lommel
This makes finding the crashing tests harder, reverting until there is a better solution. This reverts commit 93901e7f0a05ba471f3b4c0201500d9dfcd68c2c.
2019-05-16Dependency graph API changesSergey Sharybin
Main goal here is to make it obvious and predictable about what is going on. Summary of changes. - Access to dependency graph is now only possible to a fully evaluated graph. This is now done via context.evaluated_depsgraph_get(). The call will ensure both relations and datablocks are updated. This way we don't allow access to some known bad state of the graph, and also making explicit that getting update dependency graph is not cheap. - Access to evaluated ID is now possible via id.evaluated_get(). It was already possible to get evaluated ID via dependency graph, but that was a bit confusing why access to original is done via ID and to evaluated via depsgraph. If datablock is not covered by dependency graph it will be returned as-is. - Similarly, request for original from an ID which is not evaluated will return ID as-is. - Removed scene.update(). This is very expensive to update all the view layers. - Added depsgraph.update(). Now when temporary changes to objects are to be done, this is to happen on original object and then dependency graph is to be updated. - Changed object.to_mesh() to behave the following way: * When is used for original object modifiers are ignored. For meshes this acts similar to mesh-copy, not very useful but allows to keep code paths similar (i.e. for exporter which has Apply Modifiers option it's only matter choosing between original and evaluated object, the to_mesh() part can stay the same). For curves this gives a mesh which is constructed from displist without taking own modifiers and modifiers of bevel/taper objects into account. For metaballs this gives empty mesh. Polygonization of metaball is not possible from a single object. * When is used for evaluated object modifiers are always applied. In fact, no evaluation is happening, the mesh is either copied as-is, or constructed from current state of curve cache. Arguments to apply modifiers and calculate original coordinates (ORCO, aka undeformed coordinates) are removed. The ORCO is to be calculated as part of dependency graph evaluation. File used to regression-test (a packed Python script into .blend): {F7033464} Patch to make addons tests to pass: {F7033466} NOTE: I've included changes to FBX exporter, and those are addressing report T63689. NOTE: All the enabled-by-default addons are to be ported still, but first want to have agreement on this part of changes. NOTE: Also need to work on documentation for Python API, but, again, better be done after having agreement on this work. Reviewers: brecht, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D4834
2019-05-15Objects: new 3D cursor alignment option when adding objectsHans Goudey
The choices are now World, View and 3D Cursor. This breaks Python API compatibility, add-ons that add objects with this parameter will need to be updated. Differential Revision: https://developer.blender.org/D4706