48 lines
1.8 KiB
Python
48 lines
1.8 KiB
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from src.android_control import enrich_device_row
|
|
from src.redroid_control import load_redroid_env, redroid_instance_name, redroid_instance_port
|
|
|
|
|
|
class AndroidRedroidTests(unittest.TestCase):
|
|
def test_enrich_device_row_marks_usb_physical(self) -> None:
|
|
row = enrich_device_row({"serial": "ABC123", "state": "device", "model": "Pixel"})
|
|
self.assertEqual(row["transport"], "usb")
|
|
self.assertEqual(row["kind"], "physical")
|
|
|
|
def test_enrich_device_row_marks_redroid(self) -> None:
|
|
row = enrich_device_row(
|
|
{
|
|
"serial": "127.0.0.1:5555",
|
|
"state": "device",
|
|
"model": "redroid",
|
|
"product": "redroid",
|
|
}
|
|
)
|
|
self.assertEqual(row["transport"], "tcp")
|
|
self.assertEqual(row["kind"], "redroid")
|
|
|
|
@patch("src.redroid_control.platform.machine", return_value="x86_64")
|
|
def test_redroid_env_prefers_x86_alt_image(self, _machine) -> None:
|
|
env = load_redroid_env()
|
|
self.assertIn("redroid:", env["REDROID_IMAGE"])
|
|
self.assertEqual(env["REDROID_IMAGE"], env["REDROID_IMAGE_X86_ALT"])
|
|
|
|
@patch("src.redroid_control.platform.machine", return_value="aarch64")
|
|
def test_redroid_env_prefers_arm_image_and_guest_gpu_bootarg(self, _machine) -> None:
|
|
env = load_redroid_env()
|
|
self.assertEqual(env["REDROID_IMAGE"], "fahaddz/redroid:13-arm-pi5")
|
|
self.assertIn("androidboot.redroid_gpu_mode=guest", env["REDROID_BOOT_ARGS"])
|
|
|
|
def test_redroid_default_instance_layout(self) -> None:
|
|
self.assertEqual(redroid_instance_name(1), "redroid13-1")
|
|
self.assertEqual(redroid_instance_port(1), 5555)
|
|
self.assertEqual(redroid_instance_port(3), 5557)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|