Renamed all occurrences of 'picontrol' to 'PiControl' in the D-Bus interface definitions, method calls, and test cases for consistency and adherence to naming conventions. This ensures uniformity across the codebase and resolves potential naming-related issues.
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# SPDX-FileCopyrightText: 2025 KUNBUS GmbH
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
from threading import Thread
|
|
from time import sleep
|
|
|
|
from revpi_middleware.cli_commands.dbus_helper import BusType, await_signal, simple_call
|
|
from revpi_middleware.dbus_middleware1 import extend_interface
|
|
from tests.dbus_middleware1.bus_provider import TestBusProvider
|
|
from tests.dbus_middleware1.fake_devices import IOCTL_QUEUE, RESET_DRIVER_EVENT
|
|
|
|
|
|
class TestObjectPicontrol(TestBusProvider):
|
|
|
|
def test_is_active(self):
|
|
self.assertTrue(self.bp.running)
|
|
|
|
def test_reset_driver(self):
|
|
simple_call(
|
|
"ResetDriver",
|
|
interface=extend_interface("PiControl"),
|
|
bus_type=BusType.SESSION,
|
|
)
|
|
ioctl_call = IOCTL_QUEUE.get(timeout=2.0)
|
|
self.assertEqual((19212, 0), ioctl_call)
|
|
|
|
def test_notify_reset_driver(self):
|
|
timeout = 5
|
|
|
|
def target_call_reset_driver():
|
|
sleep(1.0)
|
|
RESET_DRIVER_EVENT.set()
|
|
|
|
th_wait_for_reset = Thread(target=target_call_reset_driver, daemon=True)
|
|
th_wait_for_reset.start()
|
|
|
|
result = await_signal(
|
|
"NotifyDriverReset",
|
|
timeout,
|
|
extend_interface("PiControl"),
|
|
bus_type=BusType.SESSION,
|
|
)
|
|
self.assertTrue(result)
|
|
|
|
th_wait_for_reset.join(timeout=timeout)
|