Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c04c6b13 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix topshim test" am: dcb5da78 am: 94becafd am: d920de12

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1975829

Change-Id: Ieda8a2d309b68d9f26745bc965b6e34f3593bb80
parents cb1dd2a5 d920de12
Loading
Loading
Loading
Loading
+29 −19
Original line number Diff line number Diff line
@@ -214,15 +214,19 @@ class GdDeviceBase(ABC):
            tag=self.label,
            color=self.terminal_color)

        # If gRPC root server port is not specified, we can skip settings up the root server
        if self.grpc_root_server_port != -1:
            # Setup gRPC management channels
            self.grpc_root_server_channel = grpc.insecure_channel("localhost:%d" % self.grpc_root_server_port)

            self.grpc_root_server_ready = False

            try:
                logging.info("[%s] Waiting to connect to gRPC root server for %s, timeout is %d seconds" %
                             (self.type_identifier, self.label, GRPC_START_TIMEOUT_SEC))
                grpc.channel_ready_future(self.grpc_root_server_channel).result(timeout=GRPC_START_TIMEOUT_SEC)
            logging.info("[%s] Successfully connected to gRPC root server for %s" % (self.type_identifier, self.label))
                logging.info(
                    "[%s] Successfully connected to gRPC root server for %s" % (self.type_identifier, self.label))
                self.grpc_root_server_ready = True
            except grpc.FutureTimeoutError:
                logging.error("[%s] Failed to connect to gRPC root server for %s" % (self.type_identifier, self.label))
@@ -236,7 +240,9 @@ class GdDeviceBase(ABC):
            self.grpc_channel = grpc.intercept_channel(self.grpc_channel, LoggingClientInterceptor(self.label))

        # Establish services from facades
        if self.grpc_root_server_port != -1:
            self.rootservice = facade_rootservice_pb2_grpc.RootFacadeStub(self.grpc_root_server_channel)

        self.hal = hal_facade_pb2_grpc.HciHalFacadeStub(self.grpc_channel)
        self.controller_read_only_property = facade_rootservice_pb2_grpc.ReadOnlyPropertyStub(self.grpc_channel)
        self.hci = hci_facade_pb2_grpc.HciFacadeStub(self.grpc_channel)
@@ -271,6 +277,7 @@ class GdDeviceBase(ABC):
        :return:
        """
        self.grpc_channel.close()
        if self.grpc_root_server_port != -1:
            self.grpc_root_server_channel.close()
        stop_signal = signal.SIGINT
        self.backing_process.send_signal(stop_signal)
@@ -325,9 +332,10 @@ class GdHostOnlyDevice(GdDeviceBase):
        # Only check on host only test, for Android devices, these ports will
        # be opened on Android device and host machine ports will be occupied
        # by sshd or adb forwarding
        ports_needed = [self.grpc_port,
                        self.grpc_root_server_port] if self.grpc_root_server_port != -1 else [self.grpc_port]
        asserts.assert_true(
            make_ports_available((self.grpc_port, self.grpc_root_server_port)),
            "[%s] Failed to make backing process ports available" % self.label)
            make_ports_available(ports_needed), "[%s] Failed to make backing process ports available" % self.label)
        super().setup()

    def teardown(self):
@@ -462,6 +470,7 @@ class GdAndroidDevice(GdDeviceBase):

        # Set up port forwarding or reverse or die
        self.tcp_forward_or_die(self.grpc_port, self.grpc_port)
        if self.grpc_root_server_port != -1:
            self.tcp_forward_or_die(self.grpc_root_server_port, self.grpc_root_server_port)
        self.tcp_reverse_or_die(self.signal_port, self.signal_port)
        logging.info("Port forwarding done on device %s %s" % (self.label, self.serial_number))
@@ -587,6 +596,7 @@ class GdAndroidDevice(GdDeviceBase):
                logging.error(msg)

        try:
            if self.grpc_root_server_port != -1:
                self.adb.remove_tcp_forward(self.grpc_root_server_port)
        except AdbError as error:
            msg = PORT_FORWARDING_ERROR_MSG_PREFIX + str(error)
+2 −3
Original line number Diff line number Diff line
@@ -57,9 +57,8 @@ def get_instances_with_configs(configs):
            logging.debug(arg)
            resolved_cmd.append(replace_vars_for_topshim(arg, config))
        verbose_mode = bool(config.get('verbose_mode', False))
        device = GdHostOnlyDevice(config["grpc_port"], config["grpc_root_server_port"], config["signal_port"],
                                  resolved_cmd, config["label"], MOBLY_CONTROLLER_CONFIG_NAME, config["name"],
                                  verbose_mode)
        device = GdHostOnlyDevice(config["grpc_port"], "-1", config["signal_port"], resolved_cmd, config["label"],
                                  MOBLY_CONTROLLER_CONFIG_NAME, config["name"], verbose_mode)
        device.setup()
        devices.append(device)
    return devices
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import os
import argparse

TEST_SUITES = [
    "blueberry.tests.gd.rust.topshim.facade.adapter_test_blueberry"
    "blueberry.tests.gd.rust.topshim.facade.adapter_test"
]

SOONG_UI_BASH = 'build/soong/soong_ui.bash'