[pve-devel] applied: [PATCH container 1/3] use real days in setup tests
Wolfgang Bumiller
w.bumiller at proxmox.com
Tue Aug 21 10:04:57 CEST 2018
applied series
On Thu, Jun 21, 2018 at 02:14:26PM +0200, Dominik Csapak wrote:
> 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");
Though I'm not a big fan of this one...
But then, mocking time() would probably be worse...
> + 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