1*61c4878aSAndroid Build Coastguard Worker# Copyright 2024 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library") 16*61c4878aSAndroid Build Coastguard Workerload("//pw_build:python.bzl", "pw_py_binary", "pw_py_test") 17*61c4878aSAndroid Build Coastguard Worker 18*61c4878aSAndroid Build Coastguard Workerpy_library( 19*61c4878aSAndroid Build Coastguard Worker name = "pw_emu", 20*61c4878aSAndroid Build Coastguard Worker srcs = [ 21*61c4878aSAndroid Build Coastguard Worker "pw_emu/__init__.py", 22*61c4878aSAndroid Build Coastguard Worker "pw_emu/__main__.py", 23*61c4878aSAndroid Build Coastguard Worker "pw_emu/core.py", 24*61c4878aSAndroid Build Coastguard Worker "pw_emu/frontend.py", 25*61c4878aSAndroid Build Coastguard Worker "pw_emu/pigweed_emulators.py", 26*61c4878aSAndroid Build Coastguard Worker "pw_emu/qemu.py", 27*61c4878aSAndroid Build Coastguard Worker "pw_emu/renode.py", 28*61c4878aSAndroid Build Coastguard Worker ], 29*61c4878aSAndroid Build Coastguard Worker imports = ["."], 30*61c4878aSAndroid Build Coastguard Worker deps = [ 31*61c4878aSAndroid Build Coastguard Worker "//pw_build/py:pw_build", 32*61c4878aSAndroid Build Coastguard Worker "//pw_env_setup/py:pw_env_setup", 33*61c4878aSAndroid Build Coastguard Worker "@python_packages//psutil", 34*61c4878aSAndroid Build Coastguard Worker "@python_packages//pyserial", 35*61c4878aSAndroid Build Coastguard Worker ], 36*61c4878aSAndroid Build Coastguard Worker) 37*61c4878aSAndroid Build Coastguard Worker 38*61c4878aSAndroid Build Coastguard Workerpw_py_test( 39*61c4878aSAndroid Build Coastguard Worker name = "cli_test", 40*61c4878aSAndroid Build Coastguard Worker srcs = [ 41*61c4878aSAndroid Build Coastguard Worker "tests/cli_test.py", 42*61c4878aSAndroid Build Coastguard Worker ], 43*61c4878aSAndroid Build Coastguard Worker imports = ["."], 44*61c4878aSAndroid Build Coastguard Worker main = "tests/cli_test.py", 45*61c4878aSAndroid Build Coastguard Worker # TODO: b/348410988 - Test relies on PW_ROOT 46*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 47*61c4878aSAndroid Build Coastguard Worker deps = [ 48*61c4878aSAndroid Build Coastguard Worker ":config_helper", 49*61c4878aSAndroid Build Coastguard Worker ":mock_emu_frontend", 50*61c4878aSAndroid Build Coastguard Worker ":pw_emu", 51*61c4878aSAndroid Build Coastguard Worker ], 52*61c4878aSAndroid Build Coastguard Worker) 53*61c4878aSAndroid Build Coastguard Worker 54*61c4878aSAndroid Build Coastguard Workerpw_py_test( 55*61c4878aSAndroid Build Coastguard Worker name = "core_test", 56*61c4878aSAndroid Build Coastguard Worker srcs = [ 57*61c4878aSAndroid Build Coastguard Worker "tests/core_test.py", 58*61c4878aSAndroid Build Coastguard Worker ], 59*61c4878aSAndroid Build Coastguard Worker data = [":mock_emu"], 60*61c4878aSAndroid Build Coastguard Worker main = "tests/core_test.py", 61*61c4878aSAndroid Build Coastguard Worker # TODO: b/348410988 - Test relies on gdb in environment 62*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 63*61c4878aSAndroid Build Coastguard Worker deps = [ 64*61c4878aSAndroid Build Coastguard Worker ":config_helper", 65*61c4878aSAndroid Build Coastguard Worker ":mock_emu_frontend", 66*61c4878aSAndroid Build Coastguard Worker ":pw_emu", 67*61c4878aSAndroid Build Coastguard Worker ], 68*61c4878aSAndroid Build Coastguard Worker) 69*61c4878aSAndroid Build Coastguard Worker 70*61c4878aSAndroid Build Coastguard Workerpw_py_test( 71*61c4878aSAndroid Build Coastguard Worker name = "frontend_test", 72*61c4878aSAndroid Build Coastguard Worker srcs = [ 73*61c4878aSAndroid Build Coastguard Worker "tests/frontend_test.py", 74*61c4878aSAndroid Build Coastguard Worker ], 75*61c4878aSAndroid Build Coastguard Worker data = [":mock_emu"], 76*61c4878aSAndroid Build Coastguard Worker main = "tests/frontend_test.py", 77*61c4878aSAndroid Build Coastguard Worker # TODO: b/348410988 - Test relies on gdb in environment 78*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 79*61c4878aSAndroid Build Coastguard Worker deps = [ 80*61c4878aSAndroid Build Coastguard Worker ":config_helper", 81*61c4878aSAndroid Build Coastguard Worker ":mock_emu_frontend", 82*61c4878aSAndroid Build Coastguard Worker ":pw_emu", 83*61c4878aSAndroid Build Coastguard Worker ], 84*61c4878aSAndroid Build Coastguard Worker) 85*61c4878aSAndroid Build Coastguard Worker 86*61c4878aSAndroid Build Coastguard Workerpw_py_test( 87*61c4878aSAndroid Build Coastguard Worker name = "qemu_test", 88*61c4878aSAndroid Build Coastguard Worker srcs = [ 89*61c4878aSAndroid Build Coastguard Worker "tests/qemu_test.py", 90*61c4878aSAndroid Build Coastguard Worker ], 91*61c4878aSAndroid Build Coastguard Worker data = [":mock_emu"], 92*61c4878aSAndroid Build Coastguard Worker main = "tests/qemu_test.py", 93*61c4878aSAndroid Build Coastguard Worker # TODO: b/348410988 - Test relies on PW_ROOT 94*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 95*61c4878aSAndroid Build Coastguard Worker deps = [ 96*61c4878aSAndroid Build Coastguard Worker ":config_helper", 97*61c4878aSAndroid Build Coastguard Worker ":mock_emu_frontend", 98*61c4878aSAndroid Build Coastguard Worker ":pw_emu", 99*61c4878aSAndroid Build Coastguard Worker ], 100*61c4878aSAndroid Build Coastguard Worker) 101*61c4878aSAndroid Build Coastguard Worker 102*61c4878aSAndroid Build Coastguard Workerpw_py_test( 103*61c4878aSAndroid Build Coastguard Worker name = "renode_test", 104*61c4878aSAndroid Build Coastguard Worker srcs = [ 105*61c4878aSAndroid Build Coastguard Worker "tests/renode_test.py", 106*61c4878aSAndroid Build Coastguard Worker ], 107*61c4878aSAndroid Build Coastguard Worker data = [":mock_emu"], 108*61c4878aSAndroid Build Coastguard Worker main = "tests/renode_test.py", 109*61c4878aSAndroid Build Coastguard Worker # TODO: b/348410988 - Test relies on PW_ROOT 110*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 111*61c4878aSAndroid Build Coastguard Worker deps = [ 112*61c4878aSAndroid Build Coastguard Worker ":config_helper", 113*61c4878aSAndroid Build Coastguard Worker ":mock_emu_frontend", 114*61c4878aSAndroid Build Coastguard Worker ":pw_emu", 115*61c4878aSAndroid Build Coastguard Worker ], 116*61c4878aSAndroid Build Coastguard Worker) 117*61c4878aSAndroid Build Coastguard Worker 118*61c4878aSAndroid Build Coastguard Workerpw_py_binary( 119*61c4878aSAndroid Build Coastguard Worker name = "mock_emu", 120*61c4878aSAndroid Build Coastguard Worker srcs = ["mock_emu.py"], 121*61c4878aSAndroid Build Coastguard Worker) 122*61c4878aSAndroid Build Coastguard Worker 123*61c4878aSAndroid Build Coastguard Workerpy_library( 124*61c4878aSAndroid Build Coastguard Worker name = "config_helper", 125*61c4878aSAndroid Build Coastguard Worker srcs = ["tests/config_helper.py"], 126*61c4878aSAndroid Build Coastguard Worker imports = ["tests"], 127*61c4878aSAndroid Build Coastguard Worker) 128*61c4878aSAndroid Build Coastguard Worker 129*61c4878aSAndroid Build Coastguard Workerpy_library( 130*61c4878aSAndroid Build Coastguard Worker name = "mock_emu_frontend", 131*61c4878aSAndroid Build Coastguard Worker srcs = ["mock_emu_frontend.py"], 132*61c4878aSAndroid Build Coastguard Worker imports = ["."], 133*61c4878aSAndroid Build Coastguard Worker deps = ["//pw_env_setup/py:pw_env_setup"], 134*61c4878aSAndroid Build Coastguard Worker) 135