From 801b1a160558ed8b862e683c7aaf5092b0c1adb2 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 28 Jul 2019 13:21:33 +0100 Subject: Support working tree based on a commit, tag or branch --- unittests/config.cpp | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'unittests/config.cpp') 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); +} -- cgit v1.2.3