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/testing')
-rw-r--r--tests/gtests/testing/testing.h9
-rw-r--r--tests/gtests/testing/testing_main.cc25
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/gtests/testing/testing.h b/tests/gtests/testing/testing.h
index 32cb6e7f18a..34928035b7d 100644
--- a/tests/gtests/testing/testing.h
+++ b/tests/gtests/testing/testing.h
@@ -7,6 +7,15 @@
#include "glog/logging.h"
#include "gtest/gtest.h"
+namespace blender::tests {
+
+/* These strings are passed on the CLI with the --test-asset-dir and --test-release-dir arguments.
+ * The arguments are added automatically when invoking tests via `ctest`. */
+const std::string &flags_test_asset_dir(); /* ../lib/tests in the SVN directory. */
+const std::string &flags_test_release_dir(); /* bin/{blender version} in the build directory. */
+
+} // namespace blender::tests
+
#define EXPECT_V3_NEAR(a, b, eps) \
{ \
EXPECT_NEAR(a[0], b[0], eps); \
diff --git a/tests/gtests/testing/testing_main.cc b/tests/gtests/testing/testing_main.cc
index 6b3a8e5515d..0acdcf3a8a5 100644
--- a/tests/gtests/testing/testing_main.cc
+++ b/tests/gtests/testing/testing_main.cc
@@ -19,6 +19,31 @@
#include "testing/testing.h"
+DEFINE_string(test_assets_dir, "", "lib/tests directory from SVN containing the test assets.");
+DEFINE_string(test_release_dir, "", "bin/{blender version} directory of the current build.");
+
+namespace blender::tests {
+
+const std::string &flags_test_asset_dir()
+{
+ if (FLAGS_test_assets_dir.empty()) {
+ ADD_FAILURE()
+ << "Pass the flag --test-assets-dir and point to the lib/tests directory from SVN.";
+ }
+ return FLAGS_test_assets_dir;
+}
+
+const std::string &flags_test_release_dir()
+{
+ if (FLAGS_test_release_dir.empty()) {
+ ADD_FAILURE()
+ << "Pass the flag --test-release-dir and point to the bin/{blender version} directory.";
+ }
+ return FLAGS_test_release_dir;
+}
+
+} // namespace blender::tests
+
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);