1#!/bin/bash
2
3# This program will generate test documentation from the robot test cases.
4
5# Description of argument(s):
6# test_dir_path            Test directory where robot test cases are available.
7# test_case_doc_file_path  The test case document file path to be stored.
8
9
10function get_parms() {
11
12    # Get program parms.
13
14    test_dir_path="${1}" ; shift
15    test_case_doc_file_path="${1}" ; shift
16
17    return 0
18
19}
20
21
22function validate_parms() {
23
24    # Validate program parameters.
25
26    num_parms="${1}" ; shift
27
28    (( ${num_parms} == 0 )) && return 0
29
30    if [ -z "${test_dir_path}" ] ; then
31        echo "**ERROR** You must provide test directory as the first positional" \
32            "parameter." >&2
33        return 1
34    fi
35
36    if [ -z "${test_case_doc_file_path}" ] ; then
37        echo "**ERROR** You must provide file path as the second positional" \
38            "parameter." >&2
39        return 1
40    fi
41
42    return 0
43
44}
45
46
47function generate_all_test_document() {
48
49    # Generate all test case documents
50
51    local ret_code=0
52    python -m robot.testdoc tests testsdirectoryTCdocs.html || ret_code=1
53    python -m robot.testdoc extended extendeddirectoryTCdocs.html || ret_code=1
54    python -m robot.testdoc gui guidirectoryTCdocs.html || ret_code=1
55    python -m robot.testdoc systest systestdirectoryTCdocs.html || ret_code=1
56    python -m robot.testdoc xcat xcatdirectoryTCdocs.html || ret_code=1
57    python -m robot.testdoc mnfg mnfgdirectoryTCdocs.html || ret_code=1
58    python -m robot.testdoc tools toolsdirectoryTCdocs.html || ret_code=1
59    python -m robot.testdoc ./openpower/ras rasdirectoryTCdocs.html || ret_code=1
60    python -m robot.testdoc ./openpower/secureboot securebootdirectoryTCdocs.html\
61        || ret_code=1
62    python -m robot.testdoc network networkdirectoryTCdocs.html ||\
63        ret_code=1
64
65    return ${ret_code}
66}
67
68
69function main_function() {
70
71    get_parms "$@" || return 1
72
73    validate_parms $# || return 1
74
75    if (( ${num_parms} == 0 )) ; then
76        generate_all_test_document || return 1
77        return 0
78    fi
79
80    echo ${test_dir_path} ${test_case_doc_file_path}
81    python -m robot.testdoc ${test_dir_path} ${test_case_doc_file_path}\
82        || return 1
83
84    return 0
85
86}
87
88
89# Main
90
91main_function "${@}"
92rc="${?}"
93exit "${rc}"
94
95