summaryrefslogtreecommitdiff
path: root/test/system/060-mount.bats
diff options
context:
space:
mode:
authorEd Santiago <santiago@redhat.com>2019-02-20 13:19:20 -0700
committerEd Santiago <santiago@redhat.com>2019-03-07 13:09:54 -0700
commit681eae9bcc856f8dad107765a97c29d0fe093d4a (patch)
treea8224181c5b01ebfece7e309117b9bc1d4e5a9a0 /test/system/060-mount.bats
parent1b253cf73a360557196213684cec63b37407ed7c (diff)
downloadpodman-681eae9bcc856f8dad107765a97c29d0fe093d4a.tar.gz
podman-681eae9bcc856f8dad107765a97c29d0fe093d4a.tar.bz2
podman-681eae9bcc856f8dad107765a97c29d0fe093d4a.zip
new system tests under BATS
Initial attempt at writing a framework for podman system tests. The idea is to define a useful set of primitives that will make it easy to write actual tests and to interpret results of failing ones. This is a proof-of-concept right now; only a small number of tests, by no means comprehensive. I am requesting review in order to find showstopper problems: reasons why this approach cannot work. Should there be none, we can work toward running these as gating tests for Fedora and RHEL8. Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/060-mount.bats')
-rw-r--r--test/system/060-mount.bats35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/system/060-mount.bats b/test/system/060-mount.bats
new file mode 100644
index 000000000..7e86c94dc
--- /dev/null
+++ b/test/system/060-mount.bats
@@ -0,0 +1,35 @@
+#!/usr/bin/env bats
+
+load helpers
+
+
+@test "podman mount - basic test" {
+ # Only works with root (FIXME: does it work with rootless + vfs?)
+ skip_if_rootless
+
+ f_path=/tmp/tmpfile_$(random_string 8)
+ f_content=$(random_string 30)
+
+ c_name=mount_test_$(random_string 5)
+ run_podman run --name $c_name $PODMAN_TEST_IMAGE_FQN \
+ sh -c "echo $f_content > $f_path"
+
+ run_podman mount $c_name
+ mount_path=$output
+
+ test -d $mount_path
+ test -e "$mount_path/$f_path"
+ is $(< "$mount_path/$f_path") "$f_content" "contents of file, as read via fs"
+
+ # Make sure that 'podman mount' (no args) returns the expected path
+ run_podman mount --notruncate
+ # FIXME: is it worth the effort to validate the CID ($1) ?
+ reported_mountpoint=$(echo "$output" | awk '{print $2}')
+ is $reported_mountpoint $mount_path "mountpoint reported by 'podman mount'"
+
+ # umount, and make sure files are gone
+ run_podman umount $c_name
+ if [ -e "$mount_path/$f_path" ]; then
+ die "Mounted file exists even after umount: $mount_path/$f_path"
+ fi
+}