[Fuego] [PATCH] Add test case of service ipmi.
Tim.Bird at sony.com
Tim.Bird at sony.com
Wed Jan 16 01:38:45 UTC 2019
This one also needs a re-work based on a different
mechanism for finding out if the service is already running
(besides $(exec_service_on_target ipmi is-active))
Please re-submit when you've got the new mechanism.
-- Tim
> -----Original Message-----
> From: Wang Mingyu
>
> IPMI is a set of standardized specifications for hardware-based platform
> management systems making it possible to control and monitor servers
> centrally.
> This test set is used to check if process can be generated
>
> Signed-off-by: Wang Mingyu <wangmy at cn.fujitsu.com>
> ---
> engine/tests/Functional.ipmi/fuego_test.sh | 18 ++++++++++++++++++
> engine/tests/Functional.ipmi/ipmi_test.sh | 4 ++++
> engine/tests/Functional.ipmi/parser.py | 22
> ++++++++++++++++++++++
> engine/tests/Functional.ipmi/spec.json | 7 +++++++
> engine/tests/Functional.ipmi/tests/ipmi_ps.sh | 26
> ++++++++++++++++++++++++++
> 5 files changed, 77 insertions(+)
> create mode 100644 engine/tests/Functional.ipmi/fuego_test.sh
> create mode 100755 engine/tests/Functional.ipmi/ipmi_test.sh
> create mode 100644 engine/tests/Functional.ipmi/parser.py
> create mode 100644 engine/tests/Functional.ipmi/spec.json
> create mode 100644 engine/tests/Functional.ipmi/tests/ipmi_ps.sh
>
> diff --git a/engine/tests/Functional.ipmi/fuego_test.sh
> b/engine/tests/Functional.ipmi/fuego_test.sh
> new file mode 100644
> index 0000000..26a15fe
> --- /dev/null
> +++ b/engine/tests/Functional.ipmi/fuego_test.sh
> @@ -0,0 +1,18 @@
> +function test_pre_check {
> + assert_has_program openipmi-helper
> +}
> +
> +function test_deploy {
> + put $TEST_HOME/ipmi_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;\
> + ./ipmi_test.sh"
> +}
> +
> +function test_processing {
> + log_compare "$TESTDIR" "0" "TEST-FAIL" "n"
> +}
> diff --git a/engine/tests/Functional.ipmi/ipmi_test.sh
> b/engine/tests/Functional.ipmi/ipmi_test.sh
> new file mode 100755
> index 0000000..dd5ce37
> --- /dev/null
> +++ b/engine/tests/Functional.ipmi/ipmi_test.sh
> @@ -0,0 +1,4 @@
> +#!/bin/sh
> +for i in tests/*.sh; do
> + sh $i
> +done
> diff --git a/engine/tests/Functional.ipmi/parser.py
> b/engine/tests/Functional.ipmi/parser.py
> new file mode 100644
> index 0000000..d85abd7
> --- /dev/null
> +++ b/engine/tests/Functional.ipmi/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/engine/tests/Functional.ipmi/spec.json
> b/engine/tests/Functional.ipmi/spec.json
> new file mode 100644
> index 0000000..9dd7151
> --- /dev/null
> +++ b/engine/tests/Functional.ipmi/spec.json
> @@ -0,0 +1,7 @@
> +{
> + "testName": "Functional.ipmi",
> + "specs": {
> + "default": {}
> + }
> +}
> +
> diff --git a/engine/tests/Functional.ipmi/tests/ipmi_ps.sh
> b/engine/tests/Functional.ipmi/tests/ipmi_ps.sh
> new file mode 100644
> index 0000000..a3bbef7
> --- /dev/null
> +++ b/engine/tests/Functional.ipmi/tests/ipmi_ps.sh
> @@ -0,0 +1,26 @@
> +#!/bin/sh
> +
> +# In the target start ipmi, and confirm the process condition by command
> ps.
> +
> +test="ps"
> +
> +. ./fuego_board_function_lib.sh
> +
> +set_init_manager
> +
> +service_statusi=$(exec_service_on_target ipmi is-active)
> +
> +exec_service_on_target ipmi stop
> +
> +if exec_service_on_target ipmi start
> +then
> + echo " -> $test: TEST-PASS"
> +else
> + echo " -> start of ipmi failed."
> + echo " -> $test: TEST-FAIL"
> +fi
> +
> +if [ $service_status!="active" ]
> +then
> + exec_service_on_target ipmi stop
> +fi
> --
> 1.8.3.1
>
>
>
> _______________________________________________
> Fuego mailing list
> Fuego at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/fuego
More information about the Fuego
mailing list