summaryrefslogtreecommitdiff
path: root/test/system/005-info.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/005-info.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/005-info.bats')
-rw-r--r--test/system/005-info.bats54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/system/005-info.bats b/test/system/005-info.bats
new file mode 100644
index 000000000..c3eb43063
--- /dev/null
+++ b/test/system/005-info.bats
@@ -0,0 +1,54 @@
+#!/usr/bin/env bats
+
+load helpers
+
+@test "podman info - basic test" {
+ run_podman info
+
+ expected_keys="
+BuildahVersion: *[0-9.]\\\+
+Conmon:\\\s\\\+package:
+Distribution:
+OCIRuntime:\\\s\\\+package:
+os:
+rootless:
+insecure registries:
+store:
+GraphDriverName:
+GraphRoot:
+GraphStatus:
+ImageStore:\\\s\\\+number: 1
+RunRoot:
+"
+ while read expect; do
+ is "$output" ".*$expect" "output includes '$expect'"
+ done < <(parse_table "$expected_keys")
+}
+
+@test "podman info - json" {
+ type -path jq >/dev/null || die "FAIL: please 'dnf -y install jq'"
+
+ run_podman info --format=json
+
+ expr_nvr="[a-z0-9-]\\\+-[a-z0-9.]\\\+-[a-z0-9]\\\+\."
+ expr_path="/[a-z0-9\\\/.]\\\+\\\$"
+
+ tests="
+host.BuildahVersion | [0-9.]
+host.Conmon.package | $expr_nvr
+host.Conmon.path | $expr_path
+host.OCIRuntime.package | $expr_nvr
+host.OCIRuntime.path | $expr_path
+store.ConfigFile | $expr_path
+store.GraphDriverName | [a-z0-9]\\\+\\\$
+store.GraphRoot | $expr_path
+store.ImageStore.number | 1
+"
+
+ parse_table "$tests" | while read field expect; do
+ actual=$(echo "$output" | jq -r ".$field")
+ dprint "# actual=<$actual> expect=<$expect>"
+ is "$actual" "$expect" "jq .$field"
+ done
+
+}