[Fuego] [PATCH] lvm: Add test cases for lvm.

Wang Mingyu <[email protected]>
Newsgroups dev.linux.lists.fuego
Message-ID <[email protected]>
Lvm provides the command-line tools for LVM2.
This test set is used to check built-in commands of lvm.

Signed-off-by: Wang Mingyu <[email protected]>
---
 tests/Functional.lvm/fuego_test.sh            | 18 ++++++++++
 tests/Functional.lvm/lvm_test.sh              |  4 +++
 tests/Functional.lvm/parser.py                | 22 ++++++++++++
 tests/Functional.lvm/spec.json                |  7 ++++
 tests/Functional.lvm/tests/lvm2-monitor_ps.sh | 34 +++++++++++++++++++
 tests/Functional.lvm/tests/lvm_dumpconfig.sh  | 13 +++++++
 tests/Functional.lvm/tests/lvm_formats.sh     | 13 +++++++
 tests/Functional.lvm/tests/lvm_help.sh        | 13 +++++++
 tests/Functional.lvm/tests/lvm_lvmdiskscan.sh | 13 +++++++
 tests/Functional.lvm/tests/lvm_segtypes.sh    | 13 +++++++
 tests/Functional.lvm/tests/lvm_version.sh     | 13 +++++++
 tests/Functional.lvm/tests/lvm_vgdisplay.sh   | 13 +++++++
 12 files changed, 176 insertions(+)
 create mode 100644 tests/Functional.lvm/fuego_test.sh
 create mode 100644 tests/Functional.lvm/lvm_test.sh
 create mode 100644 tests/Functional.lvm/parser.py
 create mode 100644 tests/Functional.lvm/spec.json
 create mode 100644 tests/Functional.lvm/tests/lvm2-monitor_ps.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_dumpconfig.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_formats.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_help.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_lvmdiskscan.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_segtypes.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_version.sh
 create mode 100644 tests/Functional.lvm/tests/lvm_vgdisplay.sh

diff --git a/tests/Functional.lvm/fuego_test.sh b/tests/Functional.lvm/fuego_test.sh
new file mode 100644
index 0000000..22cb514
--- /dev/null
+++ b/tests/Functional.lvm/fuego_test.sh
@@ -0,0 +1,18 @@
+function test_pre_check {
+    assert_has_program lvm
+}
+
+function test_deploy {
+    put $TEST_HOME/lvm_test.sh $BOARD_TESTDIR/fuego.$TESTDIR/
+    put $FUEGO_CORE/engine/scripts/fuego_board_function_lib.sh $BOARD_TESTDIR/fuego.$TESTDIR
+    put -r $TEST_HOME/tests $BOARD_TESTDIR/fuego.$TESTDIR/
+}
+
+function test_run {
+    report "cd $BOARD_TESTDIR/fuego.$TESTDIR;\
+    ./lvm_test.sh"
+}
+
+function test_processing {
+    log_compare "$TESTDIR" "0" "TEST-FAIL" "n"
+}
diff --git a/tests/Functional.lvm/lvm_test.sh b/tests/Functional.lvm/lvm_test.sh
new file mode 100644
index 0000000..dd5ce37
--- /dev/null
+++ b/tests/Functional.lvm/lvm_test.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+for i in tests/*.sh; do
+    sh $i
+done
diff --git a/tests/Functional.lvm/parser.py b/tests/Functional.lvm/parser.py
new file mode 100644
index 0000000..d85abd7
--- /dev/null
+++ b/tests/Functional.lvm/parser.py
@@ -0,0 +1,22 @@
+#!/usr/bin/python
+# See common.py for description of command-line arguments
+
+import os, sys, collections
+
+sys.path.insert(0, os.environ['FUEGO_CORE'] + '/engine/scripts/parser')
+import common as plib
+
+measurements = {}
+measurements = collections.OrderedDict()
+
+regex_string = '^ -> (.*): TEST-(.*)$'
+matches = plib.parse_log(regex_string)
+
+if matches:
+    for m in matches:
+        measurements['default.' + m[0]] = 'PASS' if m[1] == 'PASS' else 'FAIL'
+
+# split the output for each testcase
+plib.split_output_per_testcase(regex_string, measurements)
+
+sys.exit(plib.process(measurements))
diff --git a/tests/Functional.lvm/spec.json b/tests/Functional.lvm/spec.json
new file mode 100644
index 0000000..62e1efd
--- /dev/null
+++ b/tests/Functional.lvm/spec.json
@@ -0,0 +1,7 @@
+{
+    "testName": "Functional.lvm",
+    "specs": {
+        "default": {}
+    }
+}
+
diff --git a/tests/Functional.lvm/tests/lvm2-monitor_ps.sh b/tests/Functional.lvm/tests/lvm2-monitor_ps.sh
new file mode 100644
index 0000000..abee513
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm2-monitor_ps.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+#  In the target start lvm2-monitor, and confirm the process condition by command ps.
+
+test="ps"
+
+. ./fuego_board_function_lib.sh
+
+set_init_manager
+
+service_status=$(get_service_status lvm2-monitor)
+
+exec_service_on_target lvm2-monitor stop
+
+if exec_service_on_target lvm2-monitor start
+then
+    echo " -> start of lvm2-monitor succeeded."
+else
+    echo " -> start of lvm2-monitor failed."
+    echo " -> $test: TEST-FAIL"
+    exit
+fi
+
+if ps aux | grep "[/]usr/sbin/lvmetad"
+then
+    echo " -> get the pid of lvmetad."
+else
+    echo " -> can't get the pid of lvmetad."
+    echo " -> $test: TEST-FAIL"
+fi
+if [ "$service_status" = "inactive" ]
+then
+    exec_service_on_target lvm2-monitor stop
+fi
diff --git a/tests/Functional.lvm/tests/lvm_dumpconfig.sh b/tests/Functional.lvm/tests/lvm_dumpconfig.sh
new file mode 100644
index 0000000..45dc46e
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_dumpconfig.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display the configuration information.
+#  option: none
+
+test="dumpconfig"
+
+if lvm dumpconfig | grep "devices"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_formats.sh b/tests/Functional.lvm/tests/lvm_formats.sh
new file mode 100644
index 0000000..993c761
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_formats.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display recognised metadata formats.
+#  option: none
+
+test="formats"
+
+if lvm formats | grep "lvm"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_help.sh b/tests/Functional.lvm/tests/lvm_help.sh
new file mode 100644
index 0000000..dcfe566
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_help.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display the help text.
+#  option: none
+
+test="help"
+
+if lvm help
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_lvmdiskscan.sh b/tests/Functional.lvm/tests/lvm_lvmdiskscan.sh
new file mode 100644
index 0000000..a015dfa
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_lvmdiskscan.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, scan for all devices visible to LVM2.
+#  option: none
+
+test="lvmdiskscan"
+
+if lvmdiskscan | grep "partitions"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_segtypes.sh b/tests/Functional.lvm/tests/lvm_segtypes.sh
new file mode 100644
index 0000000..e30bcf2
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_segtypes.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display recognised Logical Volume segment types.
+#  option: none
+
+test="segtypes"
+
+if lvm segtypes
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_version.sh b/tests/Functional.lvm/tests/lvm_version.sh
new file mode 100644
index 0000000..f52710d
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_version.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display the version information.
+#  option: none
+
+test="version"
+
+if lvm version | grep "LVM version"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
diff --git a/tests/Functional.lvm/tests/lvm_vgdisplay.sh b/tests/Functional.lvm/tests/lvm_vgdisplay.sh
new file mode 100644
index 0000000..a72fd4d
--- /dev/null
+++ b/tests/Functional.lvm/tests/lvm_vgdisplay.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  In target, display attributes of volume groups.
+#  option: none
+
+test="vgdisplay"
+
+if vgdisplay
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
-- 
2.17.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.