diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-07-20 10:53:14 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-07-20 10:53:14 +0100 |
commit | 4c25da8a7ba7437657c3e2da592145113d3532f4 (patch) | |
tree | 40f0468135089ff4f9e967bf8ee74b020bee67f7 /unittests/core.cpp | |
download | netfs-gitfs-4c25da8a7ba7437657c3e2da592145113d3532f4.tar.bz2 netfs-gitfs-4c25da8a7ba7437657c3e2da592145113d3532f4.tar.xz netfs-gitfs-4c25da8a7ba7437657c3e2da592145113d3532f4.zip |
Initial commit
Not a lot of stuff, hard coded paths, tests against /usr/portage
Diffstat (limited to 'unittests/core.cpp')
-rw-r--r-- | unittests/core.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/unittests/core.cpp b/unittests/core.cpp new file mode 100644 index 0000000..9b38dfe --- /dev/null +++ b/unittests/core.cpp @@ -0,0 +1,69 @@ +#define BOOST_TEST_MODULE GitFS_Core +#include <boost/test/unit_test.hpp> + +#include "mockDefs.h" +#include "sys/stat.h" + +using namespace GitFS; +using namespace GitFS::Test; + +BOOST_TEST_GLOBAL_FIXTURE(Service); + +BOOST_FIXTURE_TEST_SUITE(client, Client) + + // TODO + +BOOST_AUTO_TEST_SUITE_END(); + +BOOST_FIXTURE_TEST_SUITE(volume, VolumeClient) + +BOOST_AUTO_TEST_CASE( access ) +{ + // Noting is writable + // Directories are all readable and executable + + BOOST_CHECK_EQUAL(EINVAL, v->access(env, "", R_OK)); + + BOOST_CHECK_EQUAL(0, v->access(env, "/", R_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/", W_OK)); + BOOST_CHECK_EQUAL(0, v->access(env, "/", X_OK)); + + BOOST_CHECK_EQUAL(0, v->access(env, "/metadata", R_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/metadata", W_OK)); + BOOST_CHECK_EQUAL(0, v->access(env, "/metadata", X_OK)); + + BOOST_CHECK_EQUAL(0, v->access(env, "/metadata/timestamp.chk", R_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/metadata/timestamp.chk", W_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/metadata/timestamp.chk", X_OK)); + + BOOST_CHECK_EQUAL(0, v->access(env, "/app-antivirus/skyldav/files/skyldav.initd", R_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/app-antivirus/skyldav/files/skyldav.initd", W_OK)); + BOOST_CHECK_EQUAL(0, v->access(env, "/app-antivirus/skyldav/files/skyldav.initd", X_OK)); + + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "/missing", R_OK)); + BOOST_CHECK_EQUAL(EACCES, v->access(env, "/missing", W_OK)); + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "/missing", X_OK)); + + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "/.", R_OK)); + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "/../", R_OK)); + BOOST_CHECK_EQUAL(ENOENT, v->access(env, ".", R_OK)); + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "..", R_OK)); + BOOST_CHECK_EQUAL(ENOENT, v->access(env, "../", R_OK)); +} + +BOOST_AUTO_TEST_CASE( statRoot ) +{ + //auto a = v->getattr(env, "/"); + //BOOST_CHECK_EQUAL(0170555, a.mode); + //BOOST_CHECK_EQUAL(1563566842, a.mtime); + //BOOST_CHECK_EQUAL(1563566842, a.ctime); + //BOOST_CHECK_EQUAL(1563566842, a.atime); +} + +BOOST_AUTO_TEST_CASE(stat_root) +{ + auto attr = v->getattr(env, ""); +} + +BOOST_AUTO_TEST_SUITE_END(); + |