Bug 1779937 - Add mach xpcshell r=ahal,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D151984
This commit is contained in:
@@ -359,6 +359,7 @@ def initialize(topsrcdir):
|
||||
"testing/webcompat/mach_commands.py"
|
||||
),
|
||||
"esmify": MachCommandReference("tools/esmify/mach_commands.py"),
|
||||
"xpcshell": MachCommandReference("js/xpconnect/mach_commands.py"),
|
||||
}
|
||||
|
||||
# Set a reasonable limit to the number of open files.
|
||||
|
||||
43
js/xpconnect/mach_commands.py
Normal file
43
js/xpconnect/mach_commands.py
Normal file
@@ -0,0 +1,43 @@
|
||||
# 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 argparse
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from mach.decorators import (
|
||||
Command,
|
||||
CommandArgument,
|
||||
)
|
||||
|
||||
|
||||
@Command("xpcshell", category="misc", description="Run the xpcshell binary")
|
||||
@CommandArgument(
|
||||
"args", nargs=argparse.REMAINDER, help="Arguments to provide to xpcshell"
|
||||
)
|
||||
def xpcshell(command_context, args):
|
||||
dist_bin = Path(command_context._topobjdir, "dist", "bin")
|
||||
browser_dir = dist_bin / "browser"
|
||||
|
||||
if sys.platform == "win32":
|
||||
xpcshell = dist_bin / "xpcshell.exe"
|
||||
else:
|
||||
xpcshell = dist_bin / "xpcshell"
|
||||
|
||||
command = [
|
||||
str(xpcshell),
|
||||
"-g",
|
||||
str(dist_bin),
|
||||
"-a",
|
||||
str(browser_dir),
|
||||
]
|
||||
|
||||
if args:
|
||||
command.extend(args)
|
||||
|
||||
return command_context.run_process(
|
||||
command,
|
||||
pass_thru=True,
|
||||
ensure_exit_code=False,
|
||||
)
|
||||
Reference in New Issue
Block a user