From: Gregor Jasny Date: Tue, 7 Sep 2021 17:22:51 +0000 (+0200) Subject: fix: Always store configuration origin value (#928) X-Git-Tag: v4.4.1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0e0fb4323c302440aee0974d979193b34df2e67;p=thirdparty%2Fccache.git fix: Always store configuration origin value (#928) --- diff --git a/src/Config.cpp b/src/Config.cpp index 9e9b593ec..6169e61c4 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -1001,7 +1001,10 @@ Config::set_item(const std::string& key, break; } - m_origins.emplace(key, origin); + auto result = m_origins.emplace(key, origin); + if (!result.second) { + result.first->second = origin; + } } void diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fa8feb3ff..0015e4117 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,6 +25,7 @@ addtest(basedir) addtest(cache_levels) addtest(cleanup) addtest(color_diagnostics) +addtest(config) addtest(cpp1) addtest(debug_prefix_map) addtest(depend) diff --git a/test/suites/config.bash b/test/suites/config.bash new file mode 100644 index 000000000..aaa474786 --- /dev/null +++ b/test/suites/config.bash @@ -0,0 +1,11 @@ +SUITE_config() { + # ------------------------------------------------------------------------- + TEST "Environment origin" + + export CCACHE_MAXSIZE="40" + + $CCACHE --max-size "75" + $CCACHE --show-config > config.txt + + expect_contains config.txt "(environment) max_size = 40" +}