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

<[email protected]>
Newsgroups dev.linux.lists.fuego
Message-ID <[email protected]>
This looks OK.  Applied to 'master' branch.

I don't have a system here that uses logical volumes, so I have not tested this.
 -- Tim


> -----Original Message-----
> From: Wang Mingyu on  Tuesday, September 10, 2019 3:20 PM
> To: [email protected]
> Subject: [Fuego] [PATCH] lvm: Add test cases for lvm.
> 
> 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
> 
> 
> 
> _______________________________________________
> Fuego mailing list
> [email protected]
> https://lists.linuxfoundation.org/mailman/listinfo/fuego
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.