| load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") |
| load("//bazel/private:kconfig_args.bzl", "get_kconfig_args") |
| |
| def _kconfig_args_test_impl(ctx): |
| env = unittest.begin(ctx) |
| |
| state = { |
| "zephyr_root": "/path/to/zephyr", |
| "modules": { |
| "module1": "/path/to/module1", |
| "module2": "/path/to/module2", |
| }, |
| "board_index": { |
| "board1": "/path/to/board1", |
| }, |
| "oot_dts_roots": ["/path/to/oot_dts"], |
| } |
| |
| # 1. Test values generation arguments |
| args_values = get_kconfig_args( |
| script = "kconfig_gen_values.py", |
| zephyr_root = state["zephyr_root"], |
| modules = state["modules"].values(), |
| app_dir = "/path/to/app", |
| board = "board1", |
| board_dir = "/path/to/board1", |
| parent_platform = "//platforms:board1", |
| output_dir = ".", |
| app_name = "app", |
| oot_dts_roots = state["oot_dts_roots"], |
| ) |
| |
| asserts.equals(env, [ |
| "kconfig_gen_values.py", |
| "--zephyr-base", |
| "/path/to/zephyr", |
| "--output-dir", |
| ".", |
| "--app-dir", |
| "/path/to/app", |
| "--board", |
| "board1", |
| "--board-dir", |
| "/path/to/board1", |
| "--parent-platform", |
| "//platforms:board1", |
| "--app-name", |
| "app", |
| "--modules", |
| "/path/to/module1", |
| "/path/to/module2", |
| "--oot-dts-roots", |
| "/path/to/oot_dts", |
| ], args_values) |
| |
| # 2. Test symbols generation arguments |
| args_symbols = get_kconfig_args( |
| script = "kconfig_gen_symbols.py", |
| zephyr_root = state["zephyr_root"], |
| modules = state["modules"].values(), |
| output = "BUILD.bazel", |
| board_dirs = ["/path/to/board1"], |
| oot_dts_roots = state["oot_dts_roots"], |
| ) |
| |
| asserts.equals(env, [ |
| "kconfig_gen_symbols.py", |
| "--zephyr-base", |
| "/path/to/zephyr", |
| "--output", |
| "BUILD.bazel", |
| "--board-dirs", |
| "/path/to/board1", |
| "--modules", |
| "/path/to/module1", |
| "/path/to/module2", |
| "--oot-dts-roots", |
| "/path/to/oot_dts", |
| ], args_symbols) |
| |
| return unittest.end(env) |
| |
| kconfig_args_test = unittest.make(_kconfig_args_test_impl) |
| |
| def kconfig_args_test_suite(name): |
| unittest.suite( |
| name, |
| kconfig_args_test, |
| ) |