diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-08-16 16:29:06 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-08-16 16:29:06 +0100 |
commit | 0d97553a5e1d91edfc325f1d9f5cf8c8bdd6a496 (patch) | |
tree | a5869036a4b8109f7db71f8e3970d646622e5e8c /unittests | |
parent | Update branch names from master to main (diff) | |
download | netfs-gitfs-0d97553a5e1d91edfc325f1d9f5cf8c8bdd6a496.tar.bz2 netfs-gitfs-0d97553a5e1d91edfc325f1d9f5cf8c8bdd6a496.tar.xz netfs-gitfs-0d97553a5e1d91edfc325f1d9f5cf8c8bdd6a496.zip |
Fix-up all the clang-tidy warnings
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/config.cpp | 3 | ||||
-rw-r--r-- | unittests/core.cpp | 27 | ||||
-rw-r--r-- | unittests/mockDefs.cpp | 5 | ||||
-rw-r--r-- | unittests/mockDefs.h | 5 | ||||
-rw-r--r-- | unittests/service.cpp | 2 |
5 files changed, 33 insertions, 9 deletions
diff --git a/unittests/config.cpp b/unittests/config.cpp index b84304b..72d7d31 100644 --- a/unittests/config.cpp +++ b/unittests/config.cpp @@ -7,11 +7,10 @@ #include <definedDirs.h> #include <dryice.h> #include <filesystem> -#include <map> -#include <memory> #include <service.h> #include <string> #include <volume.h> + namespace NetFS { class ConfigError; } diff --git a/unittests/core.cpp b/unittests/core.cpp index fb2f477..960b491 100644 --- a/unittests/core.cpp +++ b/unittests/core.cpp @@ -125,38 +125,46 @@ BOOST_DATA_TEST_CASE( { BOOST_CHECK_EQUAL(EACCES, v->access(env, path, W_OK)); } + BOOST_DATA_TEST_CASE(accessDirs, DIRPATHS, path) { BOOST_CHECK_EQUAL(0, v->access(env, path, R_OK)); BOOST_CHECK_EQUAL(0, v->access(env, path, X_OK)); } + BOOST_DATA_TEST_CASE(accessRead, REGPATHS, path) { BOOST_CHECK_EQUAL(0, v->access(env, path, R_OK)); BOOST_CHECK_EQUAL(EACCES, v->access(env, path, X_OK)); } + BOOST_DATA_TEST_CASE(accessLink, LINKPATHS, path) { BOOST_CHECK_EQUAL(0, v->access(env, path, R_OK)); BOOST_CHECK_EQUAL(0, v->access(env, path, X_OK)); } + BOOST_DATA_TEST_CASE(accessExec, EXECPATHS, path) { BOOST_CHECK_EQUAL(0, v->access(env, path, R_OK)); BOOST_CHECK_EQUAL(0, v->access(env, path, X_OK)); } + BOOST_DATA_TEST_CASE(accessInval, INVALIDPATHS * btdata::make({R_OK, X_OK}), path, mode) { BOOST_CHECK_EQUAL(EINVAL, v->access(env, path, mode)); } + BOOST_DATA_TEST_CASE(accessBad, BADPATHS * btdata::make({R_OK, X_OK}), path, mode) { BOOST_CHECK_EQUAL(ENOENT, v->access(env, path, mode)); } + BOOST_DATA_TEST_CASE(statInval, INVALIDPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->getattr(env, path), EINVAL); } + BOOST_DATA_TEST_CASE(statBad, BADPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->getattr(env, path), ENOENT); @@ -167,8 +175,8 @@ const auto FILEMODE = S_IFREG | S_IRUSR | S_IRGRP | S_IROTH; const auto EXECMODE = FILEMODE | S_IXUSR | S_IXGRP | S_IXOTH; const auto LINKMODE = S_IFLNK | S_IRUSR | S_IRGRP | S_IROTH; const time_t COMMIT_TIME = 1563621030; -const std::string USER = "root"; -const std::string GROUP = "root"; +constexpr std::string USER = "root"; +constexpr std::string GROUP = "root"; BOOST_DATA_TEST_CASE(statDirs, DIRPATHS, path) { @@ -181,6 +189,7 @@ BOOST_DATA_TEST_CASE(statDirs, DIRPATHS, path) BOOST_CHECK_EQUAL(USER, attr.uid); BOOST_CHECK_EQUAL(GROUP, attr.gid); } + BOOST_DATA_TEST_CASE(statFiles, REGPATHS, path) { const auto attr = v->getattr(env, path); @@ -192,6 +201,7 @@ BOOST_DATA_TEST_CASE(statFiles, REGPATHS, path) BOOST_CHECK_EQUAL(USER, attr.uid); BOOST_CHECK_EQUAL(GROUP, attr.gid); } + BOOST_DATA_TEST_CASE(statExecs, EXECPATHS, path) { const auto attr = v->getattr(env, path); @@ -203,6 +213,7 @@ BOOST_DATA_TEST_CASE(statExecs, EXECPATHS, path) BOOST_CHECK_EQUAL(USER, attr.uid); BOOST_CHECK_EQUAL(GROUP, attr.gid); } + BOOST_DATA_TEST_CASE(statSymlink, LINKPATHS, path) { const auto attr = v->getattr(env, path); @@ -219,10 +230,12 @@ BOOST_DATA_TEST_CASE(readlinkInval, INVALIDPATHS + DIRPATHS + REGPATHS + EXECPAT { BOOST_CHECK_THROW_SYSTEMERROR(v->readlink(env, path), EINVAL); } + BOOST_DATA_TEST_CASE(readlinkBad, BADPATHS + MISSINGPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->readlink(env, path), ENOENT); } + BOOST_DATA_TEST_CASE(readlink, LINKPATHS ^ btdata::make({"executable"}), path, target) { BOOST_CHECK_EQUAL(target, v->readlink(env, path)); @@ -232,14 +245,17 @@ BOOST_DATA_TEST_CASE(openDirInval, INVALIDPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->opendir(env, path), EINVAL); } + BOOST_DATA_TEST_CASE(openDirBad, BADPATHS + MISSINGPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->opendir(env, path), ENOENT); } + BOOST_DATA_TEST_CASE(openDirNotDir, REGPATHS + LINKPATHS + EXECPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->opendir(env, path), ENOTDIR); } + const auto DIRCONTENTS = btdata::make<std::vector<std::string>>({ {".gitignore", "Jamroot.jam", "src", "unittests"}, {"Jamfile.jam", "blob.cpp", "blob.h", "dir.cpp", "dir.h", "git.cpp", "git.h", "main.cpp", "repo.cpp", "repo.h", @@ -247,6 +263,7 @@ const auto DIRCONTENTS = btdata::make<std::vector<std::string>>({ {"Jamfile.jam", "core.cpp", "fixtures", "mockDefs.cpp", "mockDefs.h"}, {"executable", "symlink"}, }); + BOOST_DATA_TEST_CASE(openDirRead, DIRPATHS ^ DIRCONTENTS, path, contents) { auto dir = v->opendir(env, path); @@ -256,6 +273,7 @@ BOOST_DATA_TEST_CASE(openDirRead, DIRPATHS ^ DIRCONTENTS, path, contents) BOOST_CHECK_EQUAL_COLLECTIONS(names.begin(), names.end(), contents.begin(), contents.end()); dir->close(); } + const auto DIRCONTENTMODES = btdata::make<std::vector<std::tuple<std::string, int>>>({ {{".gitignore", FILEMODE}, {"Jamroot.jam", FILEMODE}, {"src", DIRMODE}, {"unittests", DIRMODE}}, {{"Jamfile.jam", FILEMODE}, {"blob.cpp", FILEMODE}, {"blob.h", FILEMODE}, {"dir.cpp", FILEMODE}, @@ -265,6 +283,7 @@ const auto DIRCONTENTMODES = btdata::make<std::vector<std::tuple<std::string, in {"mockDefs.h", FILEMODE}}, {{"executable", EXECMODE}, {"symlink", LINKMODE}}, }); + BOOST_DATA_TEST_CASE(openDirList, DIRPATHS ^ DIRCONTENTMODES, path, contents) { auto dir = v->opendir(env, path); @@ -291,18 +310,22 @@ BOOST_DATA_TEST_CASE(openInval, INVALIDPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->open(env, path, O_RDONLY), EINVAL); } + BOOST_DATA_TEST_CASE(openBad, BADPATHS + MISSINGPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->open(env, path, O_RDONLY), ENOENT); } + BOOST_DATA_TEST_CASE(openNotFileDir, DIRPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->open(env, path, O_RDONLY), EISDIR); } + BOOST_DATA_TEST_CASE(openNotFileLink, LINKPATHS, path) { BOOST_CHECK_THROW_SYSTEMERROR(v->open(env, path, O_RDONLY), ELOOP); } + BOOST_DATA_TEST_CASE(openFileROFSOps, REGPATHS + EXECPATHS, path) { auto f = v->open(env, path, O_RDONLY); diff --git a/unittests/mockDefs.cpp b/unittests/mockDefs.cpp index a144575..7856c2d 100644 --- a/unittests/mockDefs.cpp +++ b/unittests/mockDefs.cpp @@ -4,7 +4,6 @@ #include <definedDirs.h> #include <dryice.h> #include <filesystem> -#include <memory> #include <service.h> #include <string> #include <volume.h> @@ -24,13 +23,13 @@ GitFS::Test::Service::Service() : GitFS::Test::Client::Client() : s(getProxy<NetFS::ServicePrx>("Service")) { BOOST_TEST_REQUIRE(s); - s->ice_ping(); + BOOST_CHECK_NO_THROW(s->ice_ping()); } GitFS::Test::VolumeClient::VolumeClient() : v(s->connect("testrepo", "testauth")) { BOOST_TEST_REQUIRE(v); - v->ice_ping(); + BOOST_CHECK_NO_THROW(v->ice_ping()); } GitFS::Test::VolumeClient::~VolumeClient() diff --git a/unittests/mockDefs.h b/unittests/mockDefs.h index 9efe187..9fa3ab7 100644 --- a/unittests/mockDefs.h +++ b/unittests/mockDefs.h @@ -1,6 +1,7 @@ #ifndef GITFS_TEST_MOCKDEFS_H #define GITFS_TEST_MOCKDEFS_H +#include <c++11Helpers.h> #include <dryice.h> #include <service.h> #include <types.h> @@ -19,10 +20,12 @@ namespace GitFS::Test { const NetFS::ServicePrxPtr s; }; + class DLL_PUBLIC VolumeClient : public Client { public: VolumeClient(); - ~VolumeClient(); + ~VolumeClient() override; + SPECIAL_MEMBERS_DELETE(VolumeClient); const NetFS::ReqEnv env; const NetFS::VolumePrxPtr v; diff --git a/unittests/service.cpp b/unittests/service.cpp index e2829a6..f3e7a8c 100644 --- a/unittests/service.cpp +++ b/unittests/service.cpp @@ -7,9 +7,9 @@ #include <definedDirs.h> #include <dryice.h> #include <filesystem> -#include <memory> #include <service.h> #include <string> + namespace NetFS { class AuthError; class ConfigError; |