+-------------------------------------------------------------------
+Fri Mar 19 10:30:06 CET 2021 - aschnell@suse.com
+
+- fixed creating root config (root prefix handling)
+ (gh#openSUSE/snapper#627)
+
-------------------------------------------------------------------
Wed Mar 10 09:53:11 CET 2021 - aschnell@suse.com
string
prepend_root_prefix(const string& root_prefix, const string& path)
{
- if (root_prefix == "/")
+ // TODO use std::filesystem (C++17)
+
+ if (root_prefix == "/" || root_prefix.empty())
return path;
else if (path == "/")
return root_prefix;
check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \
equal-date.test dbus-escape.test cmp-lt.test humanstring.test \
table.test table-formatter.test csv-formatter.test json-formatter.test \
- getopts.test scan-datetime.test
+ getopts.test scan-datetime.test root-prefix.test
if ENABLE_BTRFS_QUOTA
check_PROGRAMS += qgroup1.test
--- /dev/null
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE root_prefix
+
+#include <boost/test/unit_test.hpp>
+
+#include <snapper/AppUtil.h>
+
+using namespace snapper;
+
+
+BOOST_AUTO_TEST_CASE(root_prefix)
+{
+ BOOST_CHECK_EQUAL(prepend_root_prefix("", "/"), "/");
+ BOOST_CHECK_EQUAL(prepend_root_prefix("", "/home"), "/home");
+
+ BOOST_CHECK_EQUAL(prepend_root_prefix("/", "/"), "/");
+ BOOST_CHECK_EQUAL(prepend_root_prefix("/", "/home"), "/home");
+
+ BOOST_CHECK_EQUAL(prepend_root_prefix("/mnt", "/"), "/mnt");
+ BOOST_CHECK_EQUAL(prepend_root_prefix("/mnt", "/home"), "/mnt/home");
+}