1
0
mirror of https://github.com/ohwgiles/laminar.git synced 2026-03-02 03:40:21 +00:00

tests: reinstantiate laminar for each unit

reinstantiate Laminar and Server classes and clean the temporary
LAMINAR_HOME directory for each unit test via SetUp and TearDown.
This commit is contained in:
Oliver Giles
2022-01-22 08:05:54 +13:00
parent efafda16ff
commit 4a6f99a203
2 changed files with 25 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
///
/// Copyright 2018-2020 Oliver Giles
/// Copyright 2018-2022 Oliver Giles
///
/// This file is part of Laminar
///
@@ -28,12 +28,24 @@ class TempDir {
public:
TempDir() :
path(mkdtemp()),
fs(kj::newDiskFilesystem()->getRoot().openSubdir(path, kj::WriteMode::CREATE|kj::WriteMode::MODIFY))
fs(kj::newDiskFilesystem()->getRoot().openSubdir(path, kj::WriteMode::MODIFY))
{
}
~TempDir() noexcept {
kj::newDiskFilesystem()->getRoot().remove(path);
}
void init() {
// set up empty directory structure
fs->openSubdir(kj::Path{"cfg"}, kj::WriteMode::CREATE);
fs->openSubdir(kj::Path{"cfg", "jobs"}, kj::WriteMode::CREATE);
}
void clean() {
// rm -rf in config folder
for(kj::StringPtr name : fs->listNames()) {
fs->remove(kj::Path{name});
}
}
kj::Path path;
kj::Own<const kj::Directory> fs;
private: