summaryrefslogtreecommitdiff
path: root/src/unittest/test.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-05-08 00:05:08 -0400
committerkwolekr <kwolekr@minetest.net>2015-05-08 00:55:42 -0400
commit2dba29ebf20e95068872b758a9c16daeb4c74440 (patch)
tree67a202271b962916f43e4e110ce0a269865c8718 /src/unittest/test.cpp
parent33c11415bf9f05192c104c4bb38f579824addfa5 (diff)
downloadminetest-2dba29ebf20e95068872b758a9c16daeb4c74440.tar.gz
minetest-2dba29ebf20e95068872b758a9c16daeb4c74440.tar.bz2
minetest-2dba29ebf20e95068872b758a9c16daeb4c74440.zip
Tests: Add schematic unittests
Improve schematic file-saving interface Add ability to create temporary test files
Diffstat (limited to 'src/unittest/test.cpp')
-rw-r--r--src/unittest/test.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/unittest/test.cpp b/src/unittest/test.cpp
index 57843da5e..d0ffb423f 100644
--- a/src/unittest/test.cpp
+++ b/src/unittest/test.cpp
@@ -276,9 +276,35 @@ bool TestBase::testModule(IGameDef *gamedef)
<< " failures / " << num_tests_run << " tests) - " << tdiff
<< "ms" << std::endl;
+ if (!m_test_dir.empty())
+ fs::RecursiveDelete(m_test_dir);
+
return num_tests_failed == 0;
}
+std::string TestBase::getTestTempDirectory()
+{
+ if (!m_test_dir.empty())
+ return m_test_dir;
+
+ char buf[32];
+ snprintf(buf, sizeof(buf), "%08X", myrand());
+
+ m_test_dir = fs::TempPath() + DIR_DELIM "mttest_" + buf;
+ if (!fs::CreateDir(m_test_dir))
+ throw TestFailedException();
+
+ return m_test_dir;
+}
+
+std::string TestBase::getTestTempFile()
+{
+ char buf[32];
+ snprintf(buf, sizeof(buf), "%08X", myrand());
+
+ return getTestTempDirectory() + DIR_DELIM + buf + ".tmp";
+}
+
/*
NOTE: These tests became non-working then NodeContainer was removed.