1f08c3bdfSopenharmony_ci#!/bin/sh
2f08c3bdfSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
3f08c3bdfSopenharmony_ci#
4f08c3bdfSopenharmony_ci# vmcp tool and module test
5f08c3bdfSopenharmony_ci#
6f08c3bdfSopenharmony_ci# The tool allows Linux users to send commands to the z/VM control program (CP).
7f08c3bdfSopenharmony_ci# The normal usage is to invoke vmcp with the command you want to execute.
8f08c3bdfSopenharmony_ci#
9f08c3bdfSopenharmony_ci# The test case contains one shell script:
10f08c3bdfSopenharmony_ci#
11f08c3bdfSopenharmony_ci# basically executes the vmcp tool with different parameters and verifies that
12f08c3bdfSopenharmony_ci# output and exitcodes are as expected
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciTST_CNT=2
15f08c3bdfSopenharmony_ciTST_TESTFUNC=vmcp_main
16f08c3bdfSopenharmony_ciTST_NEEDS_CMDS="vmcp"
17f08c3bdfSopenharmony_ci
18f08c3bdfSopenharmony_civmcp_run()
19f08c3bdfSopenharmony_ci{
20f08c3bdfSopenharmony_ci
21f08c3bdfSopenharmony_ci        $2
22f08c3bdfSopenharmony_ci        if [ $? -eq $1 ]; then
23f08c3bdfSopenharmony_ci            tst_res TPASS "'$2' returned '$1'"
24f08c3bdfSopenharmony_ci        else
25f08c3bdfSopenharmony_ci            tst_res TFAIL "'$2' did not return '$1'"
26f08c3bdfSopenharmony_ci        fi
27f08c3bdfSopenharmony_ci}
28f08c3bdfSopenharmony_ci
29f08c3bdfSopenharmony_civmcp_main1()
30f08c3bdfSopenharmony_ci{
31f08c3bdfSopenharmony_ci        tst_res TINFO "Verify basic VMCP commands"
32f08c3bdfSopenharmony_ci        vmcp_run 0 "vmcp --version";
33f08c3bdfSopenharmony_ci        vmcp_run 0 "vmcp --help";
34f08c3bdfSopenharmony_ci        vmcp_run 0 "vmcp -v";
35f08c3bdfSopenharmony_ci        vmcp_run 0 "vmcp -h";
36f08c3bdfSopenharmony_ci        vmcp_run 0 "vmcp q dasd";
37f08c3bdfSopenharmony_ci}
38f08c3bdfSopenharmony_ci
39f08c3bdfSopenharmony_civmcp_main2()
40f08c3bdfSopenharmony_ci{
41f08c3bdfSopenharmony_ci        tst_res TINFO "Verify error conditions"
42f08c3bdfSopenharmony_ci        vmcp_run 4 "vmcp -L"
43f08c3bdfSopenharmony_ci        vmcp_run 4 "vmcp -m q dasd"
44f08c3bdfSopenharmony_ci        vmcp_run 1 "vmcp dasddasddasd"
45f08c3bdfSopenharmony_ci}
46f08c3bdfSopenharmony_ci
47f08c3bdfSopenharmony_ci. tst_test.sh
48f08c3bdfSopenharmony_citst_run
49