# return : TctShellSuite []
def _parsTestPlan(file_path, plan_name, deviceId, executeType, tizenVersion, \
resultFolder, stubPort, skip_package, skip_count, skip_tc, devmgr, \
- scen_name=None, make_ne_package=None):
+ scen_name=None, make_ne_package=None, pre_test=None, post_test=None):
suites = []
profile = ""
if not _verifyPlan(file_path, tizenVersion):
xml_suite.find("pkg_name").text, \
xml_suite.get("launcher"), xml_suite.get("category"), \
tizenVersion, skip_count, skip_tc, devmgr, \
+ pre_test=pre_test, \
+ post_test=post_test, \
is_make_ne=is_make_ne)
suites.append(suite)
def _parsTestProfile(path_suites, deviceId, executeType, tizenV, profile, \
resultFolder, stubPort, skip_package, skip_count, skip_tc, devmgr, \
- distribute_count, make_ne_package=None):
+ distribute_count, make_ne_package=None, pre_test=None, post_test=None):
suites = []
LOGGER.debug("Preparing Test Suite ")
suite_profile = os.path.basename(os.path.dirname(path_suites[0]))
if make_ne_package and str(make_ne_package).find(suite_name) > -1:
issue_num = _pars_issue_num(make_ne_package[0], suite_name)
is_make_ne = int(issue_num)
-
+
suite = TctShellSuite(suite_name, None, auto_num, manual_num, \
suite_pkg_name, suite_launcher, suite_category, \
suite_tizenVer, skip_count, skip_tc, devmgr, \
+ pre_test=pre_test, \
+ post_test=post_test, \
is_make_ne=is_make_ne)
if not distribute_count:
def _parsTestSuite(path_suites, deviceId, executeType, tizenVersion, tc_name, \
resultFolder, stubPort, devmgr, skip_count=None, skip_tc=None, \
- make_ne_package=None):
+ pre_test=None, post_test=None, make_ne_package=None):
#type(suites) -> list
suites = []
LOGGER.debug("Preparing Test Suite ")
if make_ne_package and str(make_ne_package).find(suite_name) > -1:
issue_num = _pars_issue_num(make_ne_package[0], suite_name)
is_make_ne = int(issue_num)
-
+
suite = TctShellSuite(suite_name, tc_name, auto_num, manual_num, \
suite_pkg_name, suite_launcher, suite_category, \
suite_tizenVer, skip_count, skip_tc, devmgr, \
+ pre_test=pre_test, \
+ post_test=post_test, \
is_make_ne=is_make_ne)
suites.append(suite)
def _parsAutoPlan(planFile, plan_name, executeType, tizenVer, \
resultFolderPath, stubPort, skip_package, skip_count, skip_tc, \
- devmgr, make_ne_package=None):
+ devmgr, pre_test=None, post_test=None, make_ne_package=None):
if not _verifyPlan(planFile, tizenVer):
LOGGER.warning("Please check the plan xml file: %s" % planFile)
return None
xml_suite.find("auto_tcn").text, xml_suite.find("manual_tcn").text,\
xml_suite.find("pkg_name").text, xml_suite.get("launcher"), \
xml_suite.get("category"), tizenVer, skip_count, skip_tc, \
- devmgr, is_make_ne=is_make_ne)
+ devmgr, pre_test=pre_test, post_test=post_test, is_make_ne=is_make_ne)
suite.setExpectedTime(etime)
if suite.suite_pkg_name is None:
def _parsResultForRerun(wrapper, skip_package, skip_count, skip_tc, devmgr, \
- distribute_count, make_ne_package=None):
+ distribute_count, pre_test=None, post_test=None, make_ne_package=None):
result = wrapper.get_result_for_rerun()
rerun_plan_creator = ResultSummary()
rerun_data = rerun_plan_creator.prepareRerun(result)
suite = TctShellSuite(suite_name, None, auto_num, manual_num, \
suite_pkg_name, suite_launcher, suite_category, \
tizenVer, skip_count, skip_tc, devmgr, \
+ pre_test=pre_test, \
+ post_test=post_test, \
is_make_ne=is_make_ne)
if not distribute_count:
skip_count = wrapper.get_skip_count()
skip_tc = wrapper.get_skip_tc()
make_ne_package = wrapper.get_make_ne()
+ pre_test = wrapper.get_pre_test()
+ post_test = wrapper.get_post_test()
distribute_count = wrapper.get_distribute_count()
if wrapper.get_running_mode() == Constants.RUNNING_MODE_RERUN:
planFile = wrapper.get_planfile()
plans = _parsTestPlan(planFile, name, deviceId, executeType, \
tizenVer, resultFolderPath, stubPort, skip_package, \
- skip_count, skip_tc, devmgr, make_ne_package=make_ne_package)
+ skip_count, skip_tc, devmgr, make_ne_package=make_ne_package, \
+ pre_test=pre_test, post_test=post_test)
elif intention_type == IntentionType.TestCase:
plans = _parsTestCase(suites, deviceId, executeType, tizenVer, \
tcId, resultFolderPath, stubPort, devmgr)
elif intention_type == IntentionType.TestSuite:
plans = _parsTestSuite(suites, deviceId, executeType, tizenVer, \
None, resultFolderPath, stubPort, devmgr, skip_count, \
- skip_tc, make_ne_package=make_ne_package)
+ skip_tc, make_ne_package=make_ne_package, pre_test=pre_test, post_test=post_test)
elif intention_type == IntentionType.AutoPlan:
name = wrapper.get_plan_name()
autoFile = wrapper.get_autoplanfile()
plans = _parsAutoPlan(autoFile, name, executeType, tizenVer, \
resultFolderPath, stubPort, skip_package, skip_count, \
- skip_tc, devmgr, make_ne_package=make_ne_package)
+ skip_tc, devmgr, make_ne_package=make_ne_package, pre_test=pre_test, post_test=post_test)
elif intention_type == IntentionType.TestProfile:
profile_suites = wrapper.get_profile_suites()
if not profile_suites:
plans = _parsTestProfile(profile_suites, deviceId, executeType, \
tizenVer, profile, resultFolderPath, stubPort, \
skip_package, skip_count, skip_tc, devmgr, distribute_count, \
- make_ne_package=make_ne_package)
+ make_ne_package=make_ne_package, pre_test=pre_test, post_test=post_test)
return plans
make_option("--make-summary", dest="makesummary",\
action="callback", callback=varnarg, help="Specify the result folder. When the test is not abnomally terminated. you can create summary file use to this option"),
make_option("--tracking-dump", dest="trackingdump", action="callback", callback=varnarg,
- help="Specify the file(dump) names expected (for distribute run mode). After tracking the file(dump) generated by test and exits the tct-shell tool")
+ help="Specify the file(dump) names expected (for distribute run mode). After tracking the file(dump) generated by test and exits the tct-shell tool"),
+ make_option("--pre-test", dest="pre_test", action="callback", \
+ callback=varnarg, help="Before running suite, run a given script before installing testsuite."),
+ make_option("--post-test", dest="post_test", action="callback", \
+ callback=varnarg, help="After running suite, run a given script before uninstalling testsuite.")
]
# detect non-params
if self.options.make_ne and len(self.options.make_ne) > 0:
if not self.check_make_ne():
opt = "--make-ne"
+ if self.options.pre_test and len(self.options.pre_test) > 0:
+ if not self.check_pre_test():
+ opt = "--pre-test"
+ if self.options.post_test and len(self.options.post_test) > 0:
+ if not self.check_post_test():
+ opt = "--post-test"
if len(opt) > 0:
os.system("tct-shell -h")
packLen = len(packages)
return packLen > 0
+ def check_pre_test(self):
+ script = self.options.pre_test[0]
+ return os.path.isfile(script)
+
+ def check_post_test(self):
+ script = self.options.post_test[0]
+ return os.path.isfile(script)
+
def getIntentionType(self):
if self.options.scenario_file is not None:
return IntentionType.TestScenario
def get_tracking_dump(self):
if (self.options.trackingdump is not None) and (self.options.trackingdump[0] is not None):
return self.options.trackingdump[0]
-
+
def get_make_ne(self):
if self.options.make_ne is not None:
return self.options.make_ne
+ def get_pre_test(self):
+ if self.options.pre_test is not None:
+ return self.options.pre_test[0]
+
+ def get_post_test(self):
+ if self.options.post_test is not None:
+ return self.options.post_test[0]
+
def is_testplan_mode(self):
return self.options.testplan_file is not None