diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/e2e/config/containers-journald.conf | 4 | ||||
-rw-r--r-- | test/e2e/containers_conf_test.go | 30 | ||||
-rw-r--r-- | test/system/065-cp.bats | 9 |
3 files changed, 37 insertions, 6 deletions
diff --git a/test/e2e/config/containers-journald.conf b/test/e2e/config/containers-journald.conf new file mode 100644 index 000000000..463f9a9fa --- /dev/null +++ b/test/e2e/config/containers-journald.conf @@ -0,0 +1,4 @@ +[containers] + +log_driver="journald" +log_tag="{{.ImageName}}" diff --git a/test/e2e/containers_conf_test.go b/test/e2e/containers_conf_test.go index a354de3b2..054454798 100644 --- a/test/e2e/containers_conf_test.go +++ b/test/e2e/containers_conf_test.go @@ -167,16 +167,34 @@ var _ = Describe("Podman run", func() { verifyNSHandling("/proc/self/ns/cgroup", "--cgroupns") }) + It("using journald for container with container log_tag", func() { + SkipIfInContainer("journalctl inside a container doesn't work correctly") + os.Setenv("CONTAINERS_CONF", "config/containers-journald.conf") + if IsRemote() { + podmanTest.RestartRemoteService() + } + logc := podmanTest.Podman([]string{"run", "-d", ALPINE, "sh", "-c", "echo podman; sleep 0.1; echo podman; sleep 0.1; echo podman"}) + logc.WaitWithDefaultTimeout() + Expect(logc.ExitCode()).To(Equal(0)) + cid := logc.OutputToString() + + wait := podmanTest.Podman([]string{"wait", cid}) + wait.WaitWithDefaultTimeout() + Expect(wait.ExitCode()).To(Equal(0)) + + cmd := exec.Command("journalctl", "--no-pager", "-o", "json", "--output-fields=CONTAINER_TAG", fmt.Sprintf("CONTAINER_ID_FULL=%s", cid)) + out, err := cmd.CombinedOutput() + Expect(err).To(BeNil()) + Expect(string(out)).To(ContainSubstring("alpine")) + }) + It("podman containers.conf additionalvolumes", func() { conffile := filepath.Join(podmanTest.TempDir, "container.conf") tempdir, err = CreateTempDirInTempDir() - if err != nil { - os.Exit(1) - } + Expect(err).To(BeNil()) + err := ioutil.WriteFile(conffile, []byte(fmt.Sprintf("[containers]\nvolumes=[\"%s:%s:Z\",]\n", tempdir, tempdir)), 0755) - if err != nil { - os.Exit(1) - } + Expect(err).To(BeNil()) os.Setenv("CONTAINERS_CONF", conffile) if IsRemote() { diff --git a/test/system/065-cp.bats b/test/system/065-cp.bats index 24ac8118e..eda04611f 100644 --- a/test/system/065-cp.bats +++ b/test/system/065-cp.bats @@ -272,6 +272,11 @@ load helpers run_podman rm -f cpcontainer done < <(parse_table "$tests") + run_podman create --name cpcontainer --workdir=/srv $cpimage sleep infinity + run_podman 125 cp $srcdir cpcontainer:/etc/os-release + is "$output" "Error: destination must be a directory when copying a directory" "cannot copy directory to file" + run_podman rm -f cpcontainer + run_podman rmi -f $cpimage } @@ -343,6 +348,10 @@ load helpers is "$(< $destdir$dest_fullname/containerfile1)" "${randomcontent[1]}" "$description" rm -rf $destdir/* done < <(parse_table "$tests") + + touch $destdir/testfile + run_podman 125 cp cpcontainer:/etc/ $destdir/testfile + is "$output" "Error: destination must be a directory when copying a directory" "cannot copy directory to file" run_podman rm -f cpcontainer run_podman rmi -f $cpimage |