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
91  main_function "${@}"
92  rc="${?}"
93  exit "${rc}"
94
95