summaryrefslogtreecommitdiff
path: root/zephyr/zmake/tests/test_zmake.py
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2022-01-10 17:26:56 -0600
committerAseda Aboagye <aaboagye@google.com>2022-01-10 17:26:56 -0600
commitdc11829e169a9c425860ec5cca949ef80df9e0b7 (patch)
tree0517b0831c6e52b347926a1b727741df380e908c /zephyr/zmake/tests/test_zmake.py
parentc5bd23a4b204565dab616f7fa4ee8a0b7b433d4c (diff)
parentb44d10f8f79cadb259cc7ab79714a0919fc0c4c8 (diff)
downloadchrome-ec-firmware-keeby-14119.B-main.tar.gz
Merge remote-tracking branch cros/main into firmware-keeby-14119.B-mainfirmware-keeby-14119.B-main
Relevant changes: git log --oneline c5bd23a4b..b44d10f8f -- baseboard/dedede board/cappy2 board/corori board/driblee board/gooey board/haboki board/lalala board/waddledoo2 common/charge_state_v2.c common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh 42d03a001 config: change temp_sensor_power from config to gpio e296efb28 usb_common: Fix CONFIG_USB_PD_DISCHARGE_TCPC typo c346481f4 atomic: cast to unsigned when shifting 9b972a0f2 driver/tcpm/it83xx, it8xxx2: ITE inactive port return from HOOK a499d8fd4 driver/tcpm/it83xx, it8xxx2: set sleep mask for mixed TCPC case ed62e2583 TCPMv2: don't set the sleep mask for TCPC embedded in EC c962696e8 motion_sensor: Remove |int_signal| field 86b216794 ocpc: modify pre-charge target condition 6f8336eb4 dedede: Set MKBP event wake mask to 0 02d034df0 dedede: add stylus fw_config 4f7cd7509 atomic: use atomic_t where it is possible e3ffa0519 mkbp: change the type fifo_entries to atomic_t bb4c47af0 usb: use atomic_t where possible c6e513ee2 power/icelake: Add SLP_S5 as a watched power signal d89e49b20 power: Introduce S4 as a real power state ba8a3c9c0 chgstv2: Use chipset_in_state instead of naming states 23a975d12 i2c: Use declared initializers for i2c_ports: boards a-l 35865dbec TCPMv2: Guard DATA_RESET using CONFIG_USB_PD_DATA_RESET_MSG d4d8243ed i2c: Use declared initializers for i2c_ports: baseboards eba8d0305 RAA489000: Fixed RAA489000 max charging current e78b83e0f TCPMv2: Delay Data Reset until mode entry request 6230e60fc TCPMv2: Support Data Reset as DFP, initiator 412246836 intel_x86: Apply chipset resume init and suspend complete hooks f2809b72c config: rename CONFIG_HOSTCMD_ESPI to CONFIG_HOST_INTERFACE_ESPI BRANCH=None BUG=b:202796060 b:207805856 b:167983049 b:208318528 b:181983966 BUG=b:207328258 b:195416058 b:205285137 b:199919093 b:207055975 BUG=b:129159505 b:204947672 b:141363146 b:207082842 b:205675485 TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I980351977e11088a130e478df0701be4715f049b
Diffstat (limited to 'zephyr/zmake/tests/test_zmake.py')
-rw-r--r--zephyr/zmake/tests/test_zmake.py70
1 files changed, 67 insertions, 3 deletions
diff --git a/zephyr/zmake/tests/test_zmake.py b/zephyr/zmake/tests/test_zmake.py
index 589ee72c66..83862ce65d 100644
--- a/zephyr/zmake/tests/test_zmake.py
+++ b/zephyr/zmake/tests/test_zmake.py
@@ -13,6 +13,7 @@ import unittest
import unittest.mock as mock
from unittest.mock import patch
+import pytest
from testfixtures import LogCapture
import zmake.build_config
@@ -39,7 +40,6 @@ class FakeProject:
project_name="fakeproject",
zephyr_board="fakeboard",
supported_toolchains=["llvm"],
- zephyr_version="v2.5",
output_packer=zmake.output_packers.ElfPacker,
project_dir=pathlib.Path("FakeProjectDir"),
)
@@ -129,12 +129,10 @@ def do_test_with_log_level(log_level, use_configure=False, fnames=None):
re.compile(r".*build-rw"): get_test_filepath("rw"),
}
zephyr_base = mock.Mock()
- zephyr_root = mock.Mock()
zmk = zm.Zmake(
jobserver=FakeJobserver(fnames),
zephyr_base=zephyr_base,
- zephyr_root=zephyr_root,
)
with LogCapture(level=log_level) as cap:
@@ -231,5 +229,71 @@ class TestFilters(unittest.TestCase):
assert "devicetree error: 'adc' is marked as required" in list(dt_errs)[0]
+@pytest.mark.parametrize(
+ ["project_names", "format", "search_dir", "expected_output"],
+ [
+ (
+ ["link", "samus"],
+ "{config.project_name}\n",
+ None,
+ "link\nsamus\n",
+ ),
+ (
+ ["link", "samus"],
+ "{config.project_name}\n",
+ pathlib.Path("/foo/bar"),
+ "link\nsamus\n",
+ ),
+ (
+ [],
+ "{config.project_name}\n",
+ None,
+ "",
+ ),
+ (
+ ["link"],
+ "",
+ None,
+ "",
+ ),
+ (
+ ["link"],
+ "{config.zephyr_board}\n",
+ None,
+ "some_board\n",
+ ),
+ (
+ ["link"],
+ "{config.project_name} is_test={config.is_test}\n",
+ None,
+ "link is_test=False\n",
+ ),
+ ],
+)
+def test_list_projects(project_names, format, search_dir, expected_output, capsys):
+ """Test listing projects with default directory."""
+ fake_projects = {
+ name: zmake.project.Project(
+ zmake.project.ProjectConfig(
+ project_name=name,
+ zephyr_board="some_board",
+ supported_toolchains=["coreboot-sdk"],
+ output_packer=zmake.output_packers.RawBinPacker,
+ )
+ )
+ for name in project_names
+ }
+ zmk = zm.Zmake()
+ with mock.patch(
+ "zmake.project.find_projects",
+ autospec=True,
+ return_value=fake_projects,
+ ):
+ zmk.list_projects(format=format, search_dir=search_dir)
+
+ captured = capsys.readouterr()
+ assert captured.out == expected_output
+
+
if __name__ == "__main__":
unittest.main()