summaryrefslogtreecommitdiff
path: root/unittests/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/core.cpp')
-rw-r--r--unittests/core.cpp69
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();
+