#!/usr/bin/perl # # tests for logformatter # (our $ME = $0) =~ s|^.*/||; use v5.14; use strict; use warnings; use FindBin; use File::Temp qw(tempdir); use Test::More; # # Read the test cases (see __END__ section below) # my @tests; my $context = ''; while (my $line = ) { chomp $line; if ($line =~ /^==\s+(.*)/) { push @tests, { name => $1, input => [], expect => [] }; $context = ''; } elsif ($line =~ /^<<>>/) { $context = 'expect'; } elsif (@tests && $line) { push @{ $tests[-1]{$context} }, $line; } } plan tests => scalar(@tests); my $tempdir = tempdir("logformatter-test.XXXXXX", TMPDIR => 1, CLEANUP => !$ENV{DEBUG}); chdir $tempdir or die "$ME: Could not cd $tempdir: $!\n"; for my $t (@tests) { my $name = $t->{name}; (my $fname = $name) =~ s/\s+/_/g; open my $fh_out, '>', "$fname.txt" or die "$ME: Cannot create $tempdir/$fname.txt: $!\n"; print { $fh_out } "$_\n" for @{$t->{input}}; close $fh_out or die "$ME: Error writing $tempdir/$fname.txt: $!\n"; system("$FindBin::Bin/logformatter $fname <$fname.txt >/dev/null"); open my $fh_in, '<', "$fname.log.html" or die "$ME: Fatal: $fname: logformatter did not create .log.html\n"; my @actual; while (my $line = <$fh_in>) { chomp $line; push @actual, $line if $line =~ / begin processed output / .. $line =~ / end processed output /; } close $fh_in; # Strip off leading and trailing "
"
    shift @actual; pop @actual;

    # For debugging: preserve expected results
    if ($ENV{DEBUG}) {
        open my $fh_out, '>', "$fname.expect";
        print { $fh_out } "$_\n" for @{$t->{expect}};
        close $fh_out;
    }

    is_deeply \@actual, $t->{expect}, $name;
}

chdir '/';



__END__

== simple bats

<<<
1..4
ok 1 hi
ok 2 bye # skip no reason
not ok 3 fail
# $ /path/to/podman foo -bar
# #| FAIL: exit code is 123; expected 321
ok 4 blah
>>>
1..4
ok 1 hi
ok 2 bye # skip no reason
not ok 3 fail
# $ podman foo -bar
# #| FAIL: exit code is 123; expected 321
ok 4 blah

Summary: 2 Passed, 1 Failed, 1 Skipped. Total tests: 4 == simple ginkgo <<< $SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} [08:26:19] START - All [+xxxx] lines that follow are relative to right now. [+0002s] GO111MODULE=on go build -mod=vendor -gcflags 'all=-trimpath=/var/tmp/go/src/github.com/containers/podman' -asmflags 'all=-trimpath=/var/tmp/go/src/github.com/containers/podman' -ldflags '-X github.com/containers/podman/libpod/define.gitCommit=40f5d8b1becd381c4e8283ed3940d09193e4fe06 -X github.com/containers/podman/libpod/define.buildInfo=1582809981 -X github.com/containers/podman/libpod/config._installPrefix=/usr/local -X github.com/containers/podman/libpod/config._etcDir=/etc -extldflags ""' -tags " selinux systemd exclude_graphdriver_devicemapper seccomp varlink" -o bin/podman github.com/containers/podman/cmd/podman [+0103s] • [+0103s] ------------------------------ [+0103s] Podman pod restart [+0103s] podman pod restart single empty pod [+0103s] /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:41 [+0103s] [BeforeEach] Podman pod restart [+0103s] /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:18 [+0103s] [It] podman pod restart single empty pod [+0103s] /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:41 [+0103s] Running: /var/tmp/go/src/github.com/containers/podman/bin/podman --storage-opt vfs.imagestore=/tmp/podman/imagecachedir --root /tmp/podman_test553496330/crio --runroot /tmp/podman_test553496330/crio-run --runtime /usr/bin/runc --conmon /usr/bin/conmon --network-config-dir /etc/cni/net.d --cgroup-manager systemd --tmpdir /tmp/podman_test553496330 --events-backend file --storage-driver vfs pod create --infra=false --share [+0103s] 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 [+0103s] output: 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 [+0103s] Running: /var/tmp/go/src/github.com/containers/podman/bin/podman --storage-opt vfs.imagestore=/tmp/podman/imagecachedir --root /tmp/podman_test553496330/crio --runroot /tmp/podman_test553496330/crio-run --runtime /usr/bin/runc --conmon /usr/bin/conmon --network-config-dir /etc/cni/net.d --cgroup-manager systemd --tmpdir /tmp/podman_test553496330 --events-backend file --storage-driver vfs pod restart 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 [+0103s] Error: no containers in pod 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 have no dependencies, cannot start pod: no such container [+0103s] output: [+0103s] [AfterEach] Podman pod restart [+0103s] /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:28 [+0103s] Running: /var/tmp/go/src/github.com/containers/podman/bin/podman --storage-opt vfs.imagestore=/tmp/podman/imagecachedir --root /tmp/podman_test553496330/crio --runroot /tmp/podman_test553496330/crio-run --runtime /usr/bin/runc --conmon /usr/bin/conmon --network-config-dir /etc/cni/net.d --cgroup-manager systemd --tmpdir /tmp/podman_test553496330 --events-backend file --storage-driver vfs pod rm -fa [+0103s] 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 [+0104s] Running: /var/tmp/go/src/github.com/containers/libpod/bin/podman-remote --storage-opt vfs.imagestore=/tmp/podman/imagecachedir --root /tmp/podman_test553496330/crio --runroot /tmp/podman_test553496330/crio-run --runtime /usr/bin/runc --conmon /usr/bin/conmon --network-config-dir /etc/cni/net.d --cgroup-manager systemd --tmpdir /tmp/podman_test553496330 --events-backend file --storage-driver vfs --remote --url unix:/run/user/12345/podman-xyz.sock pod rm -fa [+0104s] 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 again [+0107s] • [+0523s] ------------------------------ [+0523s] Podman play kube with build [+0523s] --build should override image in store [+0523s] /var/tmp/go/src/github.com/containers/podman/test/e2e/play_build_test.go:215 [+0479s] • [+0479s] ------------------------------ [+0479s] Podman pod rm [+0479s] podman pod rm -a doesn't remove a running container [+0479s] /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_rm_test.go:119 [+1405s] • [+1405s] ------------------------------ [+1405s] Podman run entrypoint [+1405s] podman run entrypoint == [""] [+1405s] /var/tmp/go/src/github.com/containers/podman/test/e2e/run_entrypoint_test.go:47 [+0184s] S [SKIPPING] [3.086 seconds] [+1385s] S [SKIPPING] in Spec Setup (BeforeEach) [0.001 seconds] [+1512s] Summarizing 6 Failures: [+1512s] [+1512s] [Fail] Podman play kube with build [It] --build should override image in store [+1512s] /var/tmp/go/src/github.com/containers/podman/test/e2e/play_build_test.go:259 >>> $SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} [08:26:19] START - All [+xxxx] lines that follow are relative to right now. [+0002s] GO111MODULE=on go build -mod=vendor -gcflags 'all=-trimpath=/var/tmp/go/src/github.com/containers/podman' -asmflags 'all=-trimpath=/var/tmp/go/src/github.com/containers/podman' -ldflags '-X github.com/containers/podman/libpod/define.gitCommit=40f5d8b1becd381c4e8283ed3940d09193e4fe06 -X github.com/containers/podman/libpod/define.buildInfo=1582809981 -X github.com/containers/podman/libpod/config._installPrefix=/usr/local -X github.com/containers/podman/libpod/config._etcDir=/etc -extldflags ""' -tags " selinux systemd exclude_graphdriver_devicemapper seccomp varlink" -o bin/podman github.com/containers/podman/cmd/podman [+0103s]

[+0103s] Podman pod restart
         

podman pod restart single empty pod

/var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:41 [BeforeEach] Podman pod restart /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:18 [It] podman pod restart single empty pod /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:41 # podman [options] pod create --infra=false --share 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 # podman [options] pod restart 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 Error: no containers in pod 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 have no dependencies, cannot start pod: no such container output: [AfterEach] Podman pod restart /var/tmp/go/src/github.com/containers/podman/test/e2e/pod_restart_test.go:28 # podman [options] pod rm -fa 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 [+0104s] # podman-remote [options] pod rm -fa 4810be0cfbd42241e349dbe7d50fbc54405cd320a6637c65fd5323f34d64af89 again [+0107s]

[+0523s] Podman play kube with build
         

--build should override image in store

/var/tmp/go/src/github.com/containers/podman/test/e2e/play_build_test.go:215 [+0479s]

[+0479s] Podman pod rm
         

podman pod rm -a doesn't remove a running container

/var/tmp/go/src/github.com/containers/podman/test/e2e/pod_rm_test.go:119 [+1405s]

[+1405s] Podman run entrypoint
         

podman run entrypoint == [""]

/var/tmp/go/src/github.com/containers/podman/test/e2e/run_entrypoint_test.go:47 [+0184s] S [SKIPPING] [3.086 seconds] [+1385s] S [SKIPPING] in Spec Setup (BeforeEach) [0.001 seconds] [+1512s] Summarizing 6 Failures: [+1512s] [Fail] Podman play kube with build [It] --build should override image in store /var/tmp/go/src/github.com/containers/podman/test/e2e/play_build_test.go:259