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:
Diffstat (limited to 'tests/gtests/blenloader')
-rw-r--r--tests/gtests/blenloader/CMakeLists.txt92
-rw-r--r--tests/gtests/blenloader/blendfile_load_test.cc31
-rw-r--r--tests/gtests/blenloader/blendfile_loading_base_test.cc162
-rw-r--r--tests/gtests/blenloader/blendfile_loading_base_test.h64
4 files changed, 0 insertions, 349 deletions
diff --git a/tests/gtests/blenloader/CMakeLists.txt b/tests/gtests/blenloader/CMakeLists.txt
deleted file mode 100644
index 5c071c614c6..00000000000
--- a/tests/gtests/blenloader/CMakeLists.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# 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.
-# ***** END GPL LICENSE BLOCK *****
-
-set(INC
- .
- ..
- ../../../source/blender/blenkernel
- ../../../source/blender/blenlib
- ../../../source/blender/blenloader
- ../../../source/blender/depsgraph
- ../../../source/blender/imbuf
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/blender/windowmanager
- ../../../intern/guardedalloc
- ${GLOG_INCLUDE_DIRS}
- ${GFLAGS_INCLUDE_DIRS}
- ../../../extern/gtest/include
-)
-
-set(SRC
- blendfile_loading_base_test.cc
- blendfile_loading_base_test.h
-)
-
-set(LIB
-)
-
-blender_add_lib(bf_blenloader_test "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
-
-
-set(INC
- .
- ..
- ../../../source/blender/blenlib
- ../../../source/blender/blenloader
- ../../../source/blender/blenkernel
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/blender/depsgraph
- ../../../intern/guardedalloc
-)
-
-set(LIB
- bf_blenloader_test
- bf_blenloader
-
- # Should not be needed but gives windows linker errors if the ocio libs are linked before this:
- bf_intern_opencolorio
- bf_gpu
-)
-
-include_directories(${INC})
-
-setup_libdirs()
-get_property(BLENDER_SORTED_LIBS GLOBAL PROPERTY BLENDER_SORTED_LIBS_PROP)
-
-
-set(SRC
- blendfile_load_test.cc
-)
-if(WITH_BUILDINFO)
- list(APPEND SRC
- "$<TARGET_OBJECTS:buildinfoobj>"
- )
-endif()
-
-BLENDER_SRC_GTEST_EX(
- NAME blenloader
- SRC "${SRC}"
- EXTRA_LIBS "${LIB}"
- COMMAND_ARGS --test-assets-dir "${CMAKE_SOURCE_DIR}/../lib/tests")
-
-unset(_buildinfo_src)
-
-setup_liblinks(blenloader_test)
diff --git a/tests/gtests/blenloader/blendfile_load_test.cc b/tests/gtests/blenloader/blendfile_load_test.cc
deleted file mode 100644
index 2ba3e3fcd88..00000000000
--- a/tests/gtests/blenloader/blendfile_load_test.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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);
-}
diff --git a/tests/gtests/blenloader/blendfile_loading_base_test.cc b/tests/gtests/blenloader/blendfile_loading_base_test.cc
deleted file mode 100644
index d74bab4b31c..00000000000
--- a/tests/gtests/blenloader/blendfile_loading_base_test.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * 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"
-
-#include "MEM_guardedalloc.h"
-
-#include "BKE_appdir.h"
-#include "BKE_blender.h"
-#include "BKE_context.h"
-#include "BKE_global.h"
-#include "BKE_idtype.h"
-#include "BKE_image.h"
-#include "BKE_main.h"
-#include "BKE_modifier.h"
-#include "BKE_node.h"
-#include "BKE_scene.h"
-
-#include "BLI_path_util.h"
-#include "BLI_threads.h"
-
-#include "BLO_readfile.h"
-
-#include "DEG_depsgraph.h"
-#include "DEG_depsgraph_build.h"
-
-#include "DNA_genfile.h" /* for DNA_sdna_current_init() */
-#include "DNA_windowmanager_types.h"
-
-#include "IMB_imbuf.h"
-
-#include "RNA_define.h"
-
-#include "WM_api.h"
-#include "wm.h"
-
-BlendfileLoadingBaseTest::~BlendfileLoadingBaseTest()
-{
-}
-
-void BlendfileLoadingBaseTest::SetUpTestCase()
-{
- testing::Test::SetUpTestCase();
-
- /* Minimal code to make loading a blendfile and constructing a depsgraph not crash, copied from
- * main() in creator.c. */
- BLI_threadapi_init();
-
- DNA_sdna_current_init();
- BKE_blender_globals_init();
-
- BKE_idtype_init();
- IMB_init();
- BKE_images_init();
- BKE_modifier_init();
- DEG_register_node_types();
- RNA_init();
- init_nodesystem();
-
- G.background = true;
- G.factory_startup = true;
-
- /* Allocate a dummy window manager. The real window manager will try and load Python scripts from
- * the release directory, which it won't be able to find. */
- ASSERT_EQ(G.main->wm.first, nullptr);
- G.main->wm.first = MEM_callocN(sizeof(wmWindowManager), __func__);
-}
-
-void BlendfileLoadingBaseTest::TearDownTestCase()
-{
- if (G.main->wm.first != nullptr) {
- MEM_freeN(G.main->wm.first);
- G.main->wm.first = nullptr;
- }
-
- /* Copied from WM_exit_ex() in wm_init_exit.c, and cherry-picked those lines that match the
- * allocation/initialization done in SetUpTestCase(). */
- BKE_blender_free();
- RNA_exit();
-
- DEG_free_node_types();
- DNA_sdna_current_free();
- BLI_threadapi_exit();
-
- BKE_blender_atexit();
-
- BKE_tempdir_session_purge();
-
- testing::Test::TearDownTestCase();
-}
-
-void BlendfileLoadingBaseTest::TearDown()
-{
- depsgraph_free();
- blendfile_free();
-
- testing::Test::TearDown();
-}
-
-bool BlendfileLoadingBaseTest::blendfile_load(const char *filepath)
-{
- const std::string &test_assets_dir = blender::tests::flags_test_asset_dir();
- if (test_assets_dir.empty()) {
- return false;
- }
-
- char abspath[FILENAME_MAX];
- BLI_path_join(abspath, sizeof(abspath), test_assets_dir.c_str(), filepath, NULL);
-
- bfile = BLO_read_from_file(abspath, BLO_READ_SKIP_NONE, NULL /* reports */);
- if (bfile == nullptr) {
- ADD_FAILURE() << "Unable to load file '" << filepath << "' from test assets dir '"
- << test_assets_dir << "'";
- return false;
- }
- return true;
-}
-
-void BlendfileLoadingBaseTest::blendfile_free()
-{
- if (bfile == nullptr) {
- return;
- }
-
- wmWindowManager *wm = static_cast<wmWindowManager *>(bfile->main->wm.first);
- if (wm != nullptr) {
- wm_close_and_free(NULL, wm);
- }
- BLO_blendfiledata_free(bfile);
- bfile = nullptr;
-}
-
-void BlendfileLoadingBaseTest::depsgraph_create(eEvaluationMode depsgraph_evaluation_mode)
-{
- depsgraph = DEG_graph_new(
- bfile->main, bfile->curscene, bfile->cur_view_layer, depsgraph_evaluation_mode);
- DEG_graph_build_from_view_layer(depsgraph, bfile->main, bfile->curscene, bfile->cur_view_layer);
- BKE_scene_graph_update_tagged(depsgraph, bfile->main);
-}
-
-void BlendfileLoadingBaseTest::depsgraph_free()
-{
- if (depsgraph == nullptr) {
- return;
- }
- DEG_graph_free(depsgraph);
- depsgraph = nullptr;
-}
diff --git a/tests/gtests/blenloader/blendfile_loading_base_test.h b/tests/gtests/blenloader/blendfile_loading_base_test.h
deleted file mode 100644
index a5e75ef6df8..00000000000
--- a/tests/gtests/blenloader/blendfile_loading_base_test.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.
- */
-#ifndef __BLENDFILE_LOADING_BASE_TEST_H__
-#define __BLENDFILE_LOADING_BASE_TEST_H__
-
-#include "DEG_depsgraph.h"
-#include "testing/testing.h"
-
-struct BlendFileData;
-struct Depsgraph;
-
-class BlendfileLoadingBaseTest : public testing::Test {
- protected:
- struct BlendFileData *bfile = nullptr;
- struct Depsgraph *depsgraph = nullptr;
-
- public:
- virtual ~BlendfileLoadingBaseTest();
-
- /* Sets up Blender just enough to not crash on loading
- * a blendfile and constructing a depsgraph. */
- static void SetUpTestCase();
- static void TearDownTestCase();
-
- protected:
- /* Frees the depsgraph & blendfile. */
- virtual void TearDown();
-
- /* Loads a blend file from the lib/tests directory from SVN.
- * Returns 'ok' flag (true=good, false=bad) and sets this->bfile.
- * Fails the test if the file cannot be loaded (still returns though).
- * Requires the CLI argument --test-asset-dir to point to ../../lib/tests.
- *
- * WARNING: only files saved with Blender 2.80+ can be loaded. Since Blender
- * is only partially initialized (most importantly, without window manager),
- * the space types are not registered, so any versioning code that handles
- * those will SEGFAULT.
- */
- bool blendfile_load(const char *filepath);
- /* Free bfile if it is not nullptr. */
- void blendfile_free();
-
- /* Create a depsgraph. Assumes a blend file has been loaded to this->bfile. */
- void depsgraph_create(eEvaluationMode depsgraph_evaluation_mode);
- /* Free the depsgraph if it's not nullptr. */
- void depsgraph_free();
-};
-
-#endif /* __BLENDFILE_LOADING_BASE_TEST_H__ */