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