blob: 222140ca8ec1bd0fb7f6acb27e17916b0dc6224f (
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
|
"""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()
return_status = 1
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))
if parser.parse_testenv_configfile(testenv_abspath):
return return_status
if managerutils.ssh_connect_allhosts():
return return_status
return 0
def setup():
"""
"""
return_status = 1
if atfutils.set_active_volume("volume1"):
return return_status
return 0
def execute():
"""
"""
logger = GlobalObj.getLoggerObj()
return_status = 1
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 return_status
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.debug("Starting Test: ' %s '" % testcase)
return_status = function_obj()
if return_status:
logger.debug("TestCase '%s' Failed" % testcase)
failedtestcases +=1
else:
logger.debug("TestCase '%s' Passed" % testcase)
passedtestcases +=1
logger.debug("Ending Test: '%s'" % testcase)
else:
logger.info("TestCase %s not defined in 'testcases' module"
% testcase)
continue
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 = 1
if execute():
return return_status
if cleanup():
return return_status
return 0
|