summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/spdkcli/spdkcli_job.py
blob: a2677f6a5be2efbf44182c9f96480cf61f4ad51f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python3
import pexpect
import os
import sys


def execute_command(cmd, element=None, element_exists=False):
    child.sendline(cmd)
    child.expect("/>")
    if "error response" in child.before.decode():
        print("Error in cmd: %s" % cmd)
        exit(1)
    ls_tree = cmd.split(" ")[0]
    if ls_tree and element:
        child.sendline("ls %s" % ls_tree)
        child.expect("/>")
        print("child: %s" % child.before.decode())
        if element_exists:
            if element not in child.before.decode():
                print("Element %s not in list" % element)
                exit(1)
        else:
            if element in child.before.decode():
                print("Element %s is in list" % element)
                exit(1)


if __name__ == "__main__":
    socket = "/var/tmp/spdk.sock"
    if len(sys.argv) == 5:
        socket = sys.argv[4]
    testdir = os.path.dirname(os.path.realpath(sys.argv[0]))
    child = pexpect.spawn(os.path.join(testdir, "../../scripts/spdkcli.py") + " -s %s" % socket)
    child.expect(">")
    child.sendline("cd /")
    child.expect("/>")

    execute_command(*sys.argv[1:4])