mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
80 lines
2.9 KiB
Python
80 lines
2.9 KiB
Python
# Copyright 2015 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
|
|
class Shell(object):
|
|
"""Represents an abstract Mojo shell."""
|
|
|
|
def serve_local_directory(self, local_dir_path, port=0):
|
|
"""Serves the content of the local (host) directory, making it available to
|
|
the shell under the url returned by the function.
|
|
|
|
The server will run on a separate thread until the program terminates. The
|
|
call returns immediately.
|
|
|
|
Args:
|
|
local_dir_path: path to the directory to be served
|
|
port: port at which the server will be available to the shell
|
|
|
|
Returns:
|
|
The url that the shell can use to access the content of |local_dir_path|.
|
|
"""
|
|
raise NotImplementedError()
|
|
|
|
def serve_local_directories(self, mappings, port=0):
|
|
"""Serves the content of the local (host) directories, making it available
|
|
to the shell under the url returned by the function.
|
|
|
|
The server will run on a separate thread until the program terminates. The
|
|
call returns immediately.
|
|
|
|
Args:
|
|
mappings: List of tuples (prefix, local_base_path_list) mapping URLs that
|
|
start with |prefix| to one or more local directories enumerated in
|
|
|local_base_path_list|. The prefixes should skip the leading slash.
|
|
The first matching prefix and the first location that contains the
|
|
requested file will be used each time.
|
|
port: port at which the server will be available to the shell
|
|
|
|
Returns:
|
|
The url that the shell can use to access the server.
|
|
"""
|
|
raise NotImplementedError()
|
|
|
|
def forward_host_port_to_shell(self, host_port):
|
|
"""Forwards a port on the host machine to the same port wherever the shell
|
|
is running.
|
|
|
|
This is a no-op if the shell is running locally.
|
|
"""
|
|
raise NotImplementedError()
|
|
|
|
def run(self, arguments):
|
|
"""Runs the shell with given arguments until shell exits, passing the stdout
|
|
mingled with stderr produced by the shell onto the stdout.
|
|
|
|
Returns:
|
|
Exit code retured by the shell or None if the exit code cannot be
|
|
retrieved.
|
|
"""
|
|
raise NotImplementedError()
|
|
|
|
def run_and_get_output(self, arguments, timeout=None):
|
|
"""Runs the shell with given arguments until shell exits and returns the
|
|
output.
|
|
|
|
Args:
|
|
arguments: list of arguments for the shell
|
|
timeout: maximum running time in seconds, after which the shell will be
|
|
terminated
|
|
|
|
Returns:
|
|
A tuple of (return_code, output, did_time_out). |return_code| is the exit
|
|
code returned by the shell or None if the exit code cannot be retrieved.
|
|
|output| is the stdout mingled with the stderr produced by the shell.
|
|
|did_time_out| is True iff the shell was terminated because it exceeded
|
|
the |timeout| and False otherwise.
|
|
"""
|
|
raise NotImplementedError()
|