]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
regress: add lsmark-test
authorAlain Spineux <alain@baculasystems.com>
Fri, 3 Jun 2022 11:39:08 +0000 (13:39 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 14 Sep 2023 11:56:58 +0000 (13:56 +0200)
- test that lsmark show marked files that are in sub-directories and
  shows directory name

regress/tests/lsmark-test [new file with mode: 0755]

diff --git a/regress/tests/lsmark-test b/regress/tests/lsmark-test
new file mode 100755 (executable)
index 0000000..cea80e3
--- /dev/null
@@ -0,0 +1,92 @@
+#!/usr/bin/env bash
+#
+# Copyright (C) 2022 Bacula Systems SA
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
+# Run a simple backup of the Bacula build directory
+# select some file to restore and see if lsmark show the right one
+
+TestName="lsmark-test"
+JobName=backup
+. scripts/functions
+
+scripts/cleanup
+scripts/copy-test-confs
+echo "${cwd}/build" >${cwd}/tmp/file-list
+
+start_test
+
+cat <<END_OF_DATA >$tmp/bconcmds
+@output /dev/null
+messages
+@$out $tmp/log1.out
+setdebug level=4 storage=File
+setdebug level=1 client
+label storage=File volume=TestVolume001
+run job=Simple yes
+wait
+messages
+@#
+@# now do a restore
+@#
+@$out $tmp/log2.out
+setdebug level=4 storage=File
+restore where=$tmp/bacula-restores select
+cd "$cwd/build/src/plugins/fd/pluginlib"
+mark iso8601.h
+cd "$cwd/build/src/plugins/fd
+mark hello-fd.c
+cd "$cwd/build/src/plugins/fd/kubernetes-backend/baculak8s/plugins/k8sbackend"
+mark pvcdata.py
+cd "$cwd/build/src/plugins/fd/kubernetes-backend/baculak8s/plugins"
+mark fs_plugin.py
+cd "$cwd/build/src/plugins/fd/kubernetes-backend/baculak8s/io/services"
+mark plugin_params_io.py
+cd "$cwd/build/src/plugins/fd/kubernetes-backend/baculak8s/io"
+mark log.py
+cd "$cwd/build/src/plugins/fd/kubernetes-backend/baculak8s/io/jobs"
+mark restore_io.py
+cd "$cwd/build
+lsmark
+.
+no
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=File
+stop_bacula
+
+# select the lsmark output (there is 19 lines
+grep -A 19 "\$ lsmark" $tmp/log2.out > $tmp/lsmark.out
+# this is what is expected from lsmark
+cat > $tmp/lsmark.expected <<EOF
+$ lsmark
+src/
+  plugins/
+    fd/
+      *hello-fd.c
+      kubernetes-backend/
+        baculak8s/
+          io/
+            jobs/
+              *restore_io.py
+            *log.py
+            services/
+              *plugin_params_io.py
+          plugins/
+            *fs_plugin.py
+            k8sbackend/
+              *pvcdata.py
+      pluginlib/
+        *iso8601.h
+$ .
+EOF
+# compare
+diff $tmp/lsmark.expected $tmp/lsmark.out
+if [ $? -ne 0 ]; then
+    print_debug "ERROR: found diff with expectec lsmark output"
+    estat=1
+fi
+
+end_test