# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import json
import os
def writeConfigFile(obj, vals):
data = dict((opt, obj[opt]) for opt in (vals or obj.keys()))
return json.dumps(data)
def generateTalosConfig(command_line, browser_config, test_config, pid= None):
bcontroller_vars = [
"command",
"child_process",
"process",
"browser_wait",
"test_timeout",
"browser_path",
"error_filename",
]
if "xperf_path" in browser_config:
bcontroller_vars.append( "xperf_path")
bcontroller_vars.extend([ "buildid", "sourcestamp", "repository", "title"])
if "name" in test_config:
bcontroller_vars.append( "testname")
browser_config[ "testname"] = test_config[ "name"]
browser_config[ "command"] = " ".join(command_line)
if (
( "xperf_providers" in test_config)
and ( "xperf_user_providers" in test_config)
and ( "xperf_stackwalk" in test_config)
): # noqa
print( "extending with xperf!")
browser_config[ "xperf_providers"] = test_config[ "xperf_providers"]
browser_config[ "xperf_user_providers"] = test_config[ "xperf_user_providers"]
browser_config[ "xperf_stackwalk"] = test_config[ "xperf_stackwalk"]
browser_config[ "processID"] = pid
browser_config[ "approot"] = os.path.dirname(browser_config[ "browser_path"])
bcontroller_vars.extend([
"xperf_providers",
"xperf_user_providers",
"xperf_stackwalk",
"processID",
"approot",
])
content = writeConfigFile(browser_config, bcontroller_vars)
with open(browser_config[ "bcontroller_config"], "w") as fhandle:
fhandle.write(content)
return content
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland
|
|