summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-08-16 16:29:06 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2025-08-16 16:29:06 +0100
commit0d97553a5e1d91edfc325f1d9f5cf8c8bdd6a496 (patch)
treea5869036a4b8109f7db71f8e3970d646622e5e8c /unittests
parentUpdate branch names from master to main (diff)
downloadnetfs-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.cpp3
-rw-r--r--unittests/core.cpp27
-rw-r--r--unittests/mockDefs.cpp5
-rw-r--r--unittests/mockDefs.h5
-rw-r--r--unittests/service.cpp2
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;