From: Martin Vidner Date: Tue, 15 Oct 2019 08:41:22 +0000 (+0200) Subject: Test preserving comments on setValue X-Git-Tag: v0.8.5^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b01185fe86a56b7667d28984e26e9939f60ca2b1;p=thirdparty%2Fsnapper.git Test preserving comments on setValue --- diff --git a/.gitignore b/.gitignore index 8d775c53..b087da50 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,5 @@ obs-package-from-git stamp-h1 py-compile test-driver +testsuite/*.txt.tmp /compile diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 5607a378..770237ca 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -17,7 +17,7 @@ TESTS = $(check_PROGRAMS) AM_DEFAULT_SOURCE_EXT = .cc -EXTRA_DIST = $(noinst_SCRIPTS) sysconfig-get1.txt +EXTRA_DIST = $(noinst_SCRIPTS) sysconfig-get1.txt sysconfig-set1.txt equal_date_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la diff --git a/testsuite/sysconfig-get1.cc b/testsuite/sysconfig-get1.cc index 6dd15e5e..1ec0c73c 100644 --- a/testsuite/sysconfig-get1.cc +++ b/testsuite/sysconfig-get1.cc @@ -47,3 +47,25 @@ BOOST_AUTO_TEST_CASE(sysconfig_get1) BOOST_CHECK(s.getValue("V6", tmp_vector)); BOOST_CHECK_EQUAL(boost::join(tmp_vector, "-"), "a-value-with-a-#-hash"); } + +BOOST_AUTO_TEST_CASE(sysconfig_set1) +{ + system("cp sysconfig-set1.txt sysconfig-set1.txt.tmp"); + SysconfigFile s("sysconfig-set1.txt.tmp"); + + string tmp_string; + + BOOST_CHECK(s.getValue("K2", tmp_string)); + BOOST_CHECK_EQUAL(tmp_string, "changeme"); + + s.setValue("K2", "all new"); + BOOST_CHECK(s.getValue("K2", tmp_string)); + BOOST_CHECK_EQUAL(tmp_string, "all new"); + + s.setValue("K2", "changeme"); + BOOST_CHECK(s.getValue("K2", tmp_string)); + BOOST_CHECK_EQUAL(tmp_string, "changeme"); + + s.save(); + BOOST_CHECK_EQUAL(system("diff -u sysconfig-set1.txt sysconfig-set1.txt.tmp"), 0); +} diff --git a/testsuite/sysconfig-set1.txt b/testsuite/sysconfig-set1.txt new file mode 100644 index 00000000..4e060c99 --- /dev/null +++ b/testsuite/sysconfig-set1.txt @@ -0,0 +1,3 @@ +K1="foo" +K2="changeme" # changing the value should preserve this comment +K3="bar"