Don't pollute users local state dir when running test cases
This commit is contained in:
parent
7a5b23db13
commit
011c6d26ce
@ -6,10 +6,8 @@ namespace bf = boost::filesystem;
|
|||||||
|
|
||||||
namespace cryfs {
|
namespace cryfs {
|
||||||
namespace {
|
namespace {
|
||||||
// TODO constexpr?
|
bf::path appDir() {
|
||||||
bf::path& appDir() {
|
return cpputils::system::HomeDirectory::get() / ".cryfs";
|
||||||
static bf::path singleton = cpputils::system::HomeDirectory::get() / ".cryfs";
|
|
||||||
return singleton;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,8 +30,4 @@ namespace cryfs {
|
|||||||
bf::create_directories(path);
|
bf::create_directories(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocalStateDir::setAppDir(boost::filesystem::path path) {
|
|
||||||
appDir() = std::move(path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -13,10 +13,6 @@ namespace cryfs {
|
|||||||
static boost::filesystem::path forFilesystemId(const CryConfig::FilesystemID &filesystemId);
|
static boost::filesystem::path forFilesystemId(const CryConfig::FilesystemID &filesystemId);
|
||||||
static boost::filesystem::path forBasedirMetadata();
|
static boost::filesystem::path forBasedirMetadata();
|
||||||
|
|
||||||
// Use this from test cases to not pollute local config
|
|
||||||
// TODO Make test cases call this
|
|
||||||
static void setAppDir(boost::filesystem::path path);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
LocalStateDir(); // static functions only
|
LocalStateDir(); // static functions only
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include <cryfs/config/CryCipher.h>
|
#include <cryfs/config/CryCipher.h>
|
||||||
#include <cpp-utils/crypto/symmetric/ciphers.h>
|
#include <cpp-utils/crypto/symmetric/ciphers.h>
|
||||||
#include "../testutils/MockConsole.h"
|
#include "../testutils/MockConsole.h"
|
||||||
|
#include "../testutils/TestWithFakeHomeDirectory.h"
|
||||||
#include <cpp-utils/io/NoninteractiveConsole.h>
|
#include <cpp-utils/io/NoninteractiveConsole.h>
|
||||||
#include <gitversion/gitversion.h>
|
#include <gitversion/gitversion.h>
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ using ::testing::WithParamInterface;
|
|||||||
#define IGNORE_ASK_FOR_MISSINGBLOCKISINTEGRITYVIOLATION() \
|
#define IGNORE_ASK_FOR_MISSINGBLOCKISINTEGRITYVIOLATION() \
|
||||||
EXPECT_CALL(*console, askYesNo(HasSubstr("missing block"), false))
|
EXPECT_CALL(*console, askYesNo(HasSubstr("missing block"), false))
|
||||||
|
|
||||||
class CryConfigCreatorTest: public ::testing::Test {
|
class CryConfigCreatorTest: public ::testing::Test, TestWithFakeHomeDirectory {
|
||||||
public:
|
public:
|
||||||
CryConfigCreatorTest()
|
CryConfigCreatorTest()
|
||||||
: console(make_shared<MockConsole>()),
|
: console(make_shared<MockConsole>()),
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <cryfs/config/CryConfigLoader.h>
|
#include <cryfs/config/CryConfigLoader.h>
|
||||||
#include "../testutils/MockConsole.h"
|
#include "../testutils/MockConsole.h"
|
||||||
|
#include "../testutils/TestWithFakeHomeDirectory.h"
|
||||||
#include <cpp-utils/tempfile/TempFile.h>
|
#include <cpp-utils/tempfile/TempFile.h>
|
||||||
#include <cpp-utils/random/Random.h>
|
#include <cpp-utils/random/Random.h>
|
||||||
#include <cpp-utils/crypto/symmetric/ciphers.h>
|
#include <cpp-utils/crypto/symmetric/ciphers.h>
|
||||||
@ -34,7 +35,7 @@ namespace boost {
|
|||||||
}
|
}
|
||||||
#include <boost/optional/optional_io.hpp>
|
#include <boost/optional/optional_io.hpp>
|
||||||
|
|
||||||
class CryConfigLoaderTest: public ::testing::Test, public TestWithMockConsole {
|
class CryConfigLoaderTest: public ::testing::Test, public TestWithMockConsole, TestWithFakeHomeDirectory {
|
||||||
public:
|
public:
|
||||||
CryConfigLoaderTest(): file(false) {
|
CryConfigLoaderTest(): file(false) {
|
||||||
console = mockConsole();
|
console = mockConsole();
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include <cryfs/localstate/LocalStateDir.h>
|
#include <cryfs/localstate/LocalStateDir.h>
|
||||||
#include <cryfs/config/CryConfig.h>
|
#include <cryfs/config/CryConfig.h>
|
||||||
#include <cpp-utils/tempfile/TempDir.h>
|
#include <cpp-utils/tempfile/TempDir.h>
|
||||||
|
#include "../testutils/TestWithFakeHomeDirectory.h"
|
||||||
|
|
||||||
using cpputils::TempDir;
|
using cpputils::TempDir;
|
||||||
using cryfs::BasedirMetadata;
|
using cryfs::BasedirMetadata;
|
||||||
@ -11,7 +12,7 @@ using std::ofstream;
|
|||||||
namespace bf = boost::filesystem;
|
namespace bf = boost::filesystem;
|
||||||
using FilesystemID = cryfs::CryConfig::FilesystemID ;
|
using FilesystemID = cryfs::CryConfig::FilesystemID ;
|
||||||
|
|
||||||
class BasedirMetadataTest : public ::testing::Test {
|
class BasedirMetadataTest : public ::testing::Test, TestWithFakeHomeDirectory {
|
||||||
public:
|
public:
|
||||||
TempDir tempdir;
|
TempDir tempdir;
|
||||||
bf::path basedir1;
|
bf::path basedir1;
|
||||||
@ -26,8 +27,6 @@ public:
|
|||||||
, id1(FilesystemID::FromString("1491BB4932A389EE14BC7090AC772972"))
|
, id1(FilesystemID::FromString("1491BB4932A389EE14BC7090AC772972"))
|
||||||
, id2(FilesystemID::FromString("A1491BB493214BC7090C772972A389EE"))
|
, id2(FilesystemID::FromString("A1491BB493214BC7090C772972A389EE"))
|
||||||
{
|
{
|
||||||
// Use temporary local state dir to not pollute local state
|
|
||||||
cryfs::LocalStateDir::setAppDir(tempdir.path() / "appdir");
|
|
||||||
// Create basedirs so bf::canonical() works
|
// Create basedirs so bf::canonical() works
|
||||||
bf::create_directories(basedir1);
|
bf::create_directories(basedir1);
|
||||||
bf::create_directories(basedir2);
|
bf::create_directories(basedir2);
|
||||||
|
Loading…
Reference in New Issue
Block a user