blob: 4a6e2bbba0b482479128e79075ae95b75c1170d4 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
"""testunit.py is the main module for the testunit.
This module "main" function is called from atfexecute to execute the testunit.
"""
from atfglobals import GlobalObj
import os
import parser
import atfutils
import managerutils
import testcases
reload(testcases)
filename = os.path.abspath(__file__)
dir_path = os.path.dirname(filename)
def initialize():
"""
"""
logger = GlobalObj.getLoggerObj()
testenv_file = GlobalObj.testenv_file
testenv_abspath = os.path.join(dir_path, testenv_file)
if not (os.path.isfile(testenv_abspath)):
logger.error("%s not found in %s" % (testenv_file, dir_path))
return_status = parser.parse_testenv_configfile(testenv_abspath)
if return_status is not 0:
return return_status
return_status = managerutils.ssh_connect_allhosts()
if return_status is not 0:
return return_status
return 0
def setup():
"""
"""
return_status = atfutils.set_active_volume("volume1")
if return_status is not 0:
return return_status
return 0
def execute():
"""
"""
logger = GlobalObj.getLoggerObj()
testcaseslist_file = GlobalObj.testcaseslist_file
testcaseslist_abspath = os.path.join(dir_path, testcaseslist_file)
if not (os.path.isfile(testcaseslist_abspath)):
logger.error("%s not found in %s" % (testcaseslist_file, dir_path))
return 1
else:
testcaseslist = []
testcaseslist = parser.parse_testcaseslist_file(testcaseslist_abspath)
if not testcaseslist:
logger.error("Skipping TestUnit %s. No testcases to execute"
% dir_path)
return 0
else:
passedtestcases = 0
failedtestcases = 0
selectedtestcases = len(testcaseslist)
logger.info("Starting TestUnit: '%s' test execution" % dir_path)
for testcase in testcaseslist:
function_obj = getattr(testcases, testcase)
if function_obj:
logger.info("Starting Test: %s" % testcase)
return_status = function_obj()
if return_status is not 0:
logger.info("TestCase %s Failed" % testcase)
failedtestcases += 1
else:
logger.info("TestCase %s Passed" % testcase)
passedtestcases += 1
logger.info("Ending Test: %s" % testcase)
else:
logger.info("TestCase %s not defined in 'testcases' module"
% testcase)
logger.info("Selected %d : Passed %d, Failed %d"
% (selectedtestcases,
passedtestcases,
failedtestcases))
logger.info("Ending TestUnit: '%s' test execution" % dir_path)
return 0
def cleanup():
"""
"""
pass
def main():
"""
"""
return_status = initialize()
if return_status is not 0:
return return_status
return_status = setup()
if return_status is not 0:
return return_status
return_status = execute()
if return_status is not 0:
return return_status
return_status = cleanup()
if return_status is not 0:
return return_status
return 0
|