From: Thomas Lamprecht Date: Fri, 13 Mar 2020 10:01:01 +0000 (+0100) Subject: runtest: clone config before passing to write to avoid side effects X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=ffe0b0e0756c17e06735e0e8ef681f2317a555ef runtest: clone config before passing to write to avoid side effects write changes some parts of the config, if this is a reference to the config used for checking parsing it may lead to unexpected failures due to those side effects.. For me it was "cidr" and "cidr6" getting deleted, and thus upcomming tests for a compat change failing without any apparent reason.. :/ Signed-off-by: Thomas Lamprecht --- diff --git a/test/etc_network_interfaces/runtest.pl b/test/etc_network_interfaces/runtest.pl index c067dd1..b5277c3 100755 --- a/test/etc_network_interfaces/runtest.pl +++ b/test/etc_network_interfaces/runtest.pl @@ -8,6 +8,7 @@ use warnings; use Carp; use POSIX; use IO::Handle; +use Storable qw(dclone); use PVE::INotify; @@ -74,7 +75,9 @@ sub r($;$$) { # Turn the current network config into a string. sub w() { - return PVE::INotify::__write_etc_network_interfaces($config); + # write shouldn't be able to change a previously parsed config + my $config_clone = dclone($config); + return PVE::INotify::__write_etc_network_interfaces($config_clone); } ##