Skip to content

Commit a403314

Browse files
committed
Merge pull request #131 from Shao-Feng/native
add a new set attribute 'extension' for supporting to load extension …
2 parents 32b08d9 + 12c11d3 commit a403314

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

testkitlite/commodule/windowshttp.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
WIN_MAIN = "xwalk.exe"
4141
#C:\Program Files\webapi-promises-nonw3c-tests\xwalk.exe C:\Program Files\webapi-promises-nonw3c-tests\webapi-promises-nonw3c-tests/manifest.json
4242
LAUNCH_XWALK = "\"c:\\Program Files\\%s\\xwalk.exe\" \"c:\\Program Files\\%s\\%s\\manifest.json\""
43+
LAUNCH_XWALK_EXTENSIONS = "\"c:\\Program Files\\%s\\xwalk.exe\" \"c:\\Program Files\\%s\\%s\\manifest.json\" \"--use-rs-video-capture\" --external-extensions-path=\"c:\\Program Files\\%s\\%s\""
4344
QUERY_XWALK = "tasklist | findstr xwalk.exe"
4445
KILL_XWALK = "taskkill /im xwalk.exe /f"
4546

@@ -156,9 +157,11 @@ def start_debug(self, dlogfile):
156157
global debug_flag, metux
157158
debug_flag = True
158159

159-
def launch_app(self, wgt_name):
160+
def launch_app(self, wgt_name, extension=None):
160161
blauched = False
161162
cmdline = LAUNCH_XWALK % (wgt_name, wgt_name, wgt_name)
163+
if extension is not None:
164+
cmdline = LAUNCH_XWALK_EXTENSIONS % (wgt_name, wgt_name, wgt_name, wgt_name, extension)
162165
cmd_json = {}
163166
cmd_json['cmd'] = cmdline
164167
server_url = "http://%s:8000" % self.deviceip

testkitlite/engines/default.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def _core_test_exec(conn, test_session, test_set_name, exetype, cases_queue, res
205205
result_obj.set_status(1)
206206

207207

208-
def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_obj):
208+
def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_obj, extension=None):
209209
"""function for running web tests"""
210210
exetype = exetype.lower()
211211
test_set_finished = False
@@ -221,7 +221,7 @@ def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_
221221
result_obj.set_status(1)
222222
break
223223

224-
if not conn.launch_app(test_web_app):
224+
if not conn.launch_app(test_web_app, extension):
225225
LOGGER.error("[ ERROR: launch test app %s failed! ]" % test_web_app)
226226
result_obj.set_status(1)
227227
break
@@ -240,7 +240,7 @@ def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_
240240
result_cases = ret.get("cases")
241241
error_code = ret.get("error_code")
242242
if error_code is not None:
243-
if not conn.launch_app(test_web_app):
243+
if not conn.launch_app(test_web_app, extension):
244244
test_set_finished = True
245245
result_obj.set_status(1)
246246
break
@@ -479,7 +479,7 @@ def __run_jqt_test(self, sessionid, test_set_name, cases):
479479
self.opts['async_th'].start()
480480
return True
481481

482-
def __run_web_test(self, sessionid, test_set_name, exetype, ctype, cases):
482+
def __run_web_test(self, sessionid, test_set_name, exetype, ctype, cases, extension = None):
483483
"""
484484
process the execution for web api test
485485
may be splitted to serveral blocks,
@@ -512,7 +512,7 @@ def __run_web_test(self, sessionid, test_set_name, exetype, ctype, cases):
512512
self.opts['async_th'] = threading.Thread(
513513
target=_web_test_exec,
514514
args=(
515-
self.conn, self.server_url, self.opts['test_app_id'], exetype, test_set_queues, self.result_obj)
515+
self.conn, self.server_url, self.opts['test_app_id'], exetype, test_set_queues, self.result_obj, extension)
516516
)
517517
self.opts['async_th'].start()
518518
return True
@@ -521,6 +521,8 @@ def run_test(self, sessionid, test_set):
521521
"""
522522
process the execution for a test set
523523
"""
524+
extension = test_set["extension"]
525+
524526
if sessionid is None:
525527
return False
526528

@@ -529,6 +531,8 @@ def run_test(self, sessionid, test_set):
529531
disabledlog = os.environ.get('disabledlog','')
530532
cases, exetype, ctype = test_set[
531533
"cases"], test_set["exetype"], test_set["type"]
534+
535+
532536
if len(cases) == 0:
533537
return False
534538
# start debug trace thread
@@ -542,7 +546,7 @@ def run_test(self, sessionid, test_set):
542546
if self.opts['test_type'] == "webapi":
543547
if ctype == 'ref':
544548
exetype = 'manual'
545-
return self.__run_web_test(sessionid, self.opts['testset_name'], exetype, ctype, cases)
549+
return self.__run_web_test(sessionid, self.opts['testset_name'], exetype, ctype, cases, extension)
546550
elif self.opts['test_type'] == "coreapi":
547551
return self.__run_core_test(sessionid, self.opts['testset_name'], exetype, cases)
548552
#elif self.opts['test_type'] == "jqunit":

testkitlite/util/session.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,7 @@ def __prepare_external_test_json(self, resultfile):
845845
tsuite = root_em.getiterator('suite')[0]
846846
case_tmp = []
847847
parameters.setdefault("suite_name", tsuite.get('name'))
848+
parameters.setdefault("extension", None)
848849
for tset in root_em.getiterator('set'):
849850
case_order = 1
850851
parameters.setdefault("casecount", str(len(tset.getiterator('testcase'))))
@@ -853,6 +854,9 @@ def __prepare_external_test_json(self, resultfile):
853854
parameters.setdefault("type", tset.get('type'))
854855
parameters.setdefault("exetype", '')
855856
parameters.setdefault("ui_auto_type", '')
857+
858+
parameters["extension"] = tset.get('extension')
859+
856860
if tset.get("ui-auto") is not None:
857861
parameters["ui_auto_type"] = tset.get("ui-auto")
858862
#add test set location, yangx.zhou@intel.com

0 commit comments

Comments
 (0)