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
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2019-11-28 19:37:27 +0300
committerSybren A. Stüvel <sybren@blender.org>2019-11-28 19:41:32 +0300
commitf445f72ecadf21857a36b52b187620df158ef698 (patch)
tree728fdbc5a1fa22de2c7b115c461ff2663a949c40 /tests/gtests/blenloader/blendfile_load_test.cc
parenta8d29ad6e0628e315a1cb741b6136ad8823422dd (diff)
Tests: Blendfile-loading test class
This new test class minimally sets up Blender so that it can load blend files and construct a depsgraph without crashing. Note that it hasn't been tested on very complex blend files, so it may still crash when the loaded blend file references/requires uninitialised data structures. The test will certainly crash with Blend files created with Blender older than 2.80, as the versioning code requires space types to be registered. This is normally done by initialising the window manager, which is not done in this test. The WM requires Python to run, which in turn requires that Blender finds the release directory in the same directory that contains the running executable, which is not the case for GTest tests (they are written to `bin/tests/executablename`. Reviewed By: sergey, mont29 Differential Revision: https://developer.blender.org/D6246
Diffstat (limited to 'tests/gtests/blenloader/blendfile_load_test.cc')
-rw-r--r--tests/gtests/blenloader/blendfile_load_test.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/gtests/blenloader/blendfile_load_test.cc b/tests/gtests/blenloader/blendfile_load_test.cc
new file mode 100644
index 00000000000..2ba3e3fcd88
--- /dev/null
+++ b/tests/gtests/blenloader/blendfile_load_test.cc
@@ -0,0 +1,31 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2019 by Blender Foundation.
+ */
+#include "blendfile_loading_base_test.h"
+
+class BlendfileLoadingTest : public BlendfileLoadingBaseTest {
+};
+
+TEST_F(BlendfileLoadingTest, CanaryTest)
+{
+ /* Load the smallest blend file we have in the SVN lib/tests directory. */
+ if (!blendfile_load("modifier_stack/array_test.blend")) {
+ return;
+ }
+ depsgraph_create(DAG_EVAL_RENDER);
+ EXPECT_NE(nullptr, this->depsgraph);
+}