[pve-devel] [PATCH container 1/3] use real days in setup tests
Dominik Csapak
d.csapak at proxmox.com
Thu Jun 21 14:14:26 CEST 2018
so that we can drop the special case in the real code,
use the real time in the tests
for that we replace the special string '@DAYS@' with
the correct value, and reset the file afterwards
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/PVE/LXC/Setup/Base.pm | 4 ----
src/test/run_setup_tests.pl | 11 ++++++++++-
src/test/test-debian-009/etc/shadow.exp | 2 +-
src/test/test-debian-014/etc/shadow.exp | 2 +-
4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/src/PVE/LXC/Setup/Base.pm b/src/PVE/LXC/Setup/Base.pm
index 62e37b9..5c69959 100644
--- a/src/PVE/LXC/Setup/Base.pm
+++ b/src/PVE/LXC/Setup/Base.pm
@@ -324,10 +324,6 @@ my $replacepw = sub {
my $last_change = int(time()/(60*60*24));
- if ($epw =~ m/^\$TEST\$/) { # for regression tests
- $last_change = 12345;
- }
-
while (defined (my $line = <$src>)) {
if ($shadow) {
$line =~ s/^${user}:[^:]*:[^:]*:/${user}:${epw}:${last_change}:/;
diff --git a/src/test/run_setup_tests.pl b/src/test/run_setup_tests.pl
index b103cfa..bae94e8 100755
--- a/src/test/run_setup_tests.pl
+++ b/src/test/run_setup_tests.pl
@@ -12,7 +12,16 @@ use PVE::LXC::Setup;
sub test_file {
my ($exp_fn, $real_fn) = @_;
- return if system("diff -u '$exp_fn' '$real_fn'") == 0;
+ # replace @DAYS@ with the current correct value
+ if ($exp_fn =~ m/shadow.exp$/) {
+ my $expecteddays = int(time()/(60*60*24));
+ system ("sed -i.bak 's/\@DAYS\@/$expecteddays/' $exp_fn");
+ my $ret = system("diff -u '$exp_fn' '$real_fn'");
+ system("mv '$exp_fn.bak' '$exp_fn'");
+ return if $ret == 0;
+ } else {
+ return if system("diff -u '$exp_fn' '$real_fn'") == 0;
+ }
die "files do not match\n";
}
diff --git a/src/test/test-debian-009/etc/shadow.exp b/src/test/test-debian-009/etc/shadow.exp
index deb9e2d..34768b5 100644
--- a/src/test/test-debian-009/etc/shadow.exp
+++ b/src/test/test-debian-009/etc/shadow.exp
@@ -1,4 +1,4 @@
-root:$TEST$ABCDEF:12345:0:99999:7:::
+root:$TEST$ABCDEF:@DAYS@:0:99999:7:::
daemon:*:15908:0:99999:7:::
bin:*:15908:0:99999:7:::
sys:*:15908:0:99999:7:::
diff --git a/src/test/test-debian-014/etc/shadow.exp b/src/test/test-debian-014/etc/shadow.exp
index deb9e2d..34768b5 100644
--- a/src/test/test-debian-014/etc/shadow.exp
+++ b/src/test/test-debian-014/etc/shadow.exp
@@ -1,4 +1,4 @@
-root:$TEST$ABCDEF:12345:0:99999:7:::
+root:$TEST$ABCDEF:@DAYS@:0:99999:7:::
daemon:*:15908:0:99999:7:::
bin:*:15908:0:99999:7:::
sys:*:15908:0:99999:7:::
--
2.11.0
More information about the pve-devel
mailing list