xref: /openbmc/openbmc-test-automation/tools/generate_test_document (revision f0c1af960bbb47579ae9a2ee5a722729daa7c8d7)
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 ras rasdirectoryTCdocs.html || ret_code=1
60  python -m robot.testdoc secureboot securebootdirectoryTCdocs.html ||\
61  ret_code=1
62
63  return ${ret_code}
64}
65
66
67function main_function {
68
69  get_parms "$@" || return 1
70
71  validate_parms $# || return 1
72
73  if (( ${num_parms} == 0 )) ; then
74    generate_all_test_document || return 1
75    return 0
76  fi
77
78  echo ${test_dir_path} ${test_case_doc_file_path}
79  python -m robot.testdoc ${test_dir_path} ${test_case_doc_file_path}\
80    || return 1
81
82  return 0
83
84}
85
86
87# Main
88
89  main_function "${@}"
90  rc="${?}"
91  exit "${rc}"
92
93