diff options
| author | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2022-04-14 10:44:42 +0100 |
|---|---|---|
| committer | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2022-04-14 10:44:46 +0100 |
| commit | fb57563f701c985ff6e9c3624cdfc2b6afc3e6f8 (patch) | |
| tree | 5f80b0ef0ab1e3292059713b1df5a9e7e93aa33c /netfs/unittests/testGlacier.cpp | |
| parent | Add missing override (diff) | |
| download | netfs-fb57563f701c985ff6e9c3624cdfc2b6afc3e6f8.tar.bz2 netfs-fb57563f701c985ff6e9c3624cdfc2b6afc3e6f8.tar.xz netfs-fb57563f701c985ff6e9c3624cdfc2b6afc3e6f8.zip | |
Fix Glacier tests
Creates a class which is usable as a global fixture for handling a
Glacier instance. Fixes the issue in the previous version where flock
was used, but in conjunction with --daemon and a pidfile, so it only
prevented concurrent startup, not concurrent execution.
Diffstat (limited to 'netfs/unittests/testGlacier.cpp')
| -rw-r--r-- | netfs/unittests/testGlacier.cpp | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/netfs/unittests/testGlacier.cpp b/netfs/unittests/testGlacier.cpp index 5467c41..afe3475 100644 --- a/netfs/unittests/testGlacier.cpp +++ b/netfs/unittests/testGlacier.cpp @@ -1,35 +1,22 @@ #define BOOST_TEST_MODULE TestNetFSGlacier +#include <boost/test/unit_test.hpp> + #include "mockDaemon.h" #include "mockFuse.h" -#include <boost/scope_exit.hpp> -#include <boost/test/unit_test.hpp> +#include "mockGlacier.h" #include <definedDirs.h> const std::string testEndpoint("tcp -h localhost -p 12013"); -#define PID "/tmp/glacier.pid" + +BOOST_TEST_GLOBAL_FIXTURE(Glacier); BOOST_AUTO_TEST_CASE(withRouter) { - std::filesystem::remove(PID); - BOOST_REQUIRE_EQUAL(0, - system("flock /tmp/glacier.lock /usr/bin/glacier2router --Glacier2.Client.Endpoints='tcp -p 14063' " - "--Glacier2.PermissionsVerifier=Glacier2/NullPermissionsVerifier --daemon --pidfile " PID)); - sleep(1); - - BOOST_SCOPE_EXIT(void) - { - BOOST_REQUIRE_EQUAL(0, system("kill $(cat " PID ")")); - std::filesystem::remove(PID); - } - BOOST_SCOPE_EXIT_END; - - { - MockDaemonHost daemon(testEndpoint, {"--NetFSD.ConfigPath=" + (rootDir / "defaultDaemon.xml").string()}); - FuseMockHost fuse(testEndpoint, - {(rootDir / "defaultFuse.xml:testvol").string(), (rootDir / "test").string(), - "--Ice.Default.Router=Glacier2/router:tcp -h localhost -p 14063"}); + MockDaemonHost daemon(testEndpoint, {"--NetFSD.ConfigPath=" + (rootDir / "defaultDaemon.xml").string()}); + FuseMockHost fuse(testEndpoint, + {(rootDir / "defaultFuse.xml:testvol").string(), (rootDir / "test").string(), + "--Ice.Default.Router=Glacier2/router:tcp -h localhost -p 14063"}); - struct statvfs s { }; - BOOST_REQUIRE_EQUAL(0, fuse.fuse->statfs("/", &s)); - } + struct statvfs s { }; + BOOST_CHECK_EQUAL(0, fuse.fuse->statfs("/", &s)); } |
