icinga2/test
Julian Brost 0ebcd2662d No longer allow overriding the frozen attribute of containers
The Array, Dictionary, and Namespace types provide a Freeze() method that makes
them read-only. So far, there was the possibility to call some methods with
`overrideFrozen=true` which would then bypass the corresponding check and allow
modification of the data structures nonetheless.

With 24b57f0d3a, this possibility was already
removed from the Namespace type. However, for interface compatibility, it kept
the parameter and just ignores it, throwing an exception on any modification on
a frozen instance.

The only place using `overrideFrozen` was processing of the `-D`/`--define`
command line flag that allows setting additional variables in the DSL. At the
time it is evaluated, there are no user-created data structures yet that could
be frozen, so the only frozen objects that could be encountered are Namespaces
(Icinga doesn't freeze other types by itself) and for these, `overrideFrozen`
already has no effect.

Hence, there is no harm in removing `overrideFrozen` altogether. This
simplifies the code and also means that frozen objects are now indeed read-only
without exceptions, allowing further optimizations regarding locking in the
future.
2025-07-08 14:16:20 +02:00
..
config Remove unnecessary imports from unit test config 2016-08-28 10:41:46 +02:00
livestatus Livestatus: Fix "class" filter for log table 2015-11-26 19:15:54 +01:00
base-array.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-base64.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-convert.cpp Convert::ToString(double): handle integral values too large for long long correctly 2021-04-27 17:31:50 +02:00
base-dictionary.cpp Dictionary: Make sure underlaying map is ordered 2021-11-12 13:34:57 +01:00
base-fifo.cpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
base-io-engine.cpp Don't use removed boost::asio::spawn() overload if Boost >= v1.87 2025-04-14 17:30:19 +02:00
base-json.cpp JsonEncode(): encode non-[]/{} objects as strings, not null 2021-04-30 15:49:52 +02:00
base-match.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-netstring.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-object-packer.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-object.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-serialize.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-shellescape.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-stacktrace.cpp Stacktrace test: try to prevent inlining even harder 2021-03-01 16:08:06 +01:00
base-stream.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base-string.cpp Avoid undefined behavior in string/vector_move test 2025-03-10 09:28:33 +01:00
base-timer.cpp Use Timer::Create() instead of new Timer() 2023-04-04 10:35:20 +02:00
base-tlsutility.cpp VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid 2025-05-21 10:50:12 +02:00
base-type.cpp Add basic test cases for Type::GetConfigTypesSortedByLoadDependencies() 2024-09-20 16:18:12 +02:00
base-utility.cpp Ensure consistent mktime() DST behavior across different implementations 2025-04-28 13:38:55 +02:00
base-value.cpp Make base_value/format test easier to understand 2021-05-31 17:28:35 +02:00
CMakeLists.txt VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid 2025-05-21 10:50:12 +02:00
config-apply.cpp Tests: config_apply/gettargetservices_*: use BOOST_CHECK_EQUAL_COLLECTIONS() 2023-12-18 16:01:31 +01:00
config-ops.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
icinga-checkable-fixture.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
icinga-checkable-flapping.cpp Require to pass WaitGroup::Ptr to several methods 2025-05-23 14:53:58 +02:00
icinga-checkresult.cpp Require to pass WaitGroup::Ptr to several methods 2025-05-23 14:53:58 +02:00
icinga-dependencies.cpp Add basic unittests for bulk group registration 2025-03-19 16:28:00 +01:00
icinga-legacytimeperiod.cpp Merge pull request #9731 from Icinga/fix-compiler-warnings-by-copy-constructing-loop-variables-explicitly 2025-05-21 14:26:47 +02:00
icinga-macros.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
icinga-notification.cpp No longer allow overriding the frozen attribute of containers 2025-07-08 14:16:20 +02:00
icinga-perfdata.cpp Fix PerfdataValue Counter Parsing 2025-05-12 16:34:05 +02:00
icingaapplication-fixture.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
icingaapplication-fixture.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
livestatus-fixture.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
livestatus.cpp Require to pass WaitGroup::Ptr to several methods 2025-05-23 14:53:58 +02:00
methods-pluginnotificationtask.cpp No longer allow overriding the frozen attribute of containers 2025-07-08 14:16:20 +02:00
remote-configpackageutility.cpp De-couple package and stage name validation 2021-08-02 15:40:14 +02:00
remote-url.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
test-runner.cpp Tests: _Exit() in main() 2019-07-23 12:14:06 +02:00
utils.cpp tests: Move GlobalTimezoneFixture to utils file 2025-04-28 13:38:38 +02:00
utils.hpp tests: Move GlobalTimezoneFixture to utils file 2025-04-28 13:38:38 +02:00