summaryrefslogtreecommitdiff
path: root/unittests/config.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-07-28 13:21:33 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2019-07-28 13:21:33 +0100
commit801b1a160558ed8b862e683c7aaf5092b0c1adb2 (patch)
treecdfd96d7f5164195e722f2c0d6df70c1613fa357 /unittests/config.cpp
parentReplace hard-coded test values with properties (diff)
downloadnetfs-gitfs-801b1a160558ed8b862e683c7aaf5092b0c1adb2.tar.bz2
netfs-gitfs-801b1a160558ed8b862e683c7aaf5092b0c1adb2.tar.xz
netfs-gitfs-801b1a160558ed8b862e683c7aaf5092b0c1adb2.zip
Support working tree based on a commit, tag or branch
Diffstat (limited to 'unittests/config.cpp')
-rw-r--r--unittests/config.cpp37
1 files changed, 33 insertions, 4 deletions
diff --git a/unittests/config.cpp b/unittests/config.cpp
index 0cfc22c..460a35f 100644
--- a/unittests/config.cpp
+++ b/unittests/config.cpp
@@ -16,10 +16,10 @@ class IdsIce : public IceTray::DryIce {
public:
IdsIce(const char * uid, const char * gid) : IceTray::DryIce({
"--GitFS.testrepo.gitdir=%?"_fmt(rootDir.string()),
- "--GitFS.testrepo.authkey=%?"_fmt("testauth"),
- "--GitFS.testrepo.gid=%?"_fmt(gid),
- "--GitFS.testrepo.uid=%?"_fmt(uid),
- "--GitFS.testrepo.commit=7a0ccb40084c3ab31d9856e7f689c0514c28c930",
+ "--GitFS.testrepo.authkey=%?"_fmt("testauth"),
+ "--GitFS.testrepo.gid=%?"_fmt(gid),
+ "--GitFS.testrepo.uid=%?"_fmt(uid),
+ "--GitFS.testrepo.commitish=7a0ccb40084c3ab31d9856e7f689c0514c28c930",
})
{}
};
@@ -30,6 +30,13 @@ const auto DIRS = btdata::make({ "/", "/src", "/unittests/fixtures" });
const auto FILES = btdata::make({
"/Jamroot.jam", "/src/repo.cpp", "/unittests/fixtures/executable" });
const auto LINKS = btdata::make({ "/unittests/fixtures/symlink" });
+const auto COMMITISHS = btdata::make({
+ "",
+ "master",
+ "origin/master",
+ "testcommit",
+ "7a0ccb40084c3ab31d9856e7f689c0514c28c930"
+});
BOOST_DATA_TEST_CASE(uid_gid_override_getattr,
USERS * GROUPS * (DIRS + FILES + LINKS),
@@ -78,4 +85,26 @@ BOOST_DATA_TEST_CASE(uid_gid_override_list,
dir->close();
}
+BOOST_DATA_TEST_CASE(commitishs, COMMITISHS * (FILES + DIRS), commitish, path)
+{
+ IceTray::DryIce di({
+ "--GitFS.testrepo.gitdir=%?"_fmt(rootDir.string()),
+ "--GitFS.testrepo.authkey=%?"_fmt("testauth"),
+ "--GitFS.testrepo.commitish=%?"_fmt(commitish),
+ });
+ VolumeClient c;
+ BOOST_CHECK_NO_THROW(c.v->ice_ping());
+ BOOST_CHECK_NO_THROW(c.v->getattr(c.env, path));
+}
+
+BOOST_DATA_TEST_CASE(bad_commitishs, FILES, commitish) // File paths aren't commitishs
+{
+ IceTray::DryIce di({
+ "--GitFS.testrepo.gitdir=%?"_fmt(rootDir.string()),
+ "--GitFS.testrepo.authkey=%?"_fmt("testauth"),
+ "--GitFS.testrepo.commitish=%?"_fmt(commitish),
+ });
+ Client c;
+ BOOST_CHECK_THROW(c.s->connect("testrepo", "testauth"), NetFS::ConfigError);
+}