Listing the "Blender Foundation" as copyright holder implied the Blender Foundation holds copyright to files which may include work from many developers. While keeping copyright on headers makes sense for isolated libraries, Blender's own code may be refactored or moved between files in a way that makes the per file copyright holders less meaningful. Copyright references to the "Blender Foundation" have been replaced with "Blender Authors", with the exception of `./extern/` since these this contains libraries which are more isolated, any changed to license headers there can be handled on a case-by-case basis. Some directories in `./intern/` have also been excluded: - `./intern/cycles/` it's own `AUTHORS` file is planned. - `./intern/opensubdiv/`. An "AUTHORS" file has been added, using the chromium projects authors file as a template. Design task: #110784 Ref !110783.
47 lines
1.5 KiB
C++
47 lines
1.5 KiB
C++
/* SPDX-FileCopyrightText: 2019 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
#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:
|
|
/* 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. */
|
|
virtual void depsgraph_create(eEvaluationMode depsgraph_evaluation_mode);
|
|
/* Free the depsgraph if it's not nullptr. */
|
|
virtual void depsgraph_free();
|
|
};
|