summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zephyr/zmake/tests/test_util.py13
-rw-r--r--zephyr/zmake/zmake/util.py4
2 files changed, 2 insertions, 15 deletions
diff --git a/zephyr/zmake/tests/test_util.py b/zephyr/zmake/tests/test_util.py
index 41197ce72a..4d6c64f1e5 100644
--- a/zephyr/zmake/tests/test_util.py
+++ b/zephyr/zmake/tests/test_util.py
@@ -19,8 +19,6 @@ relative_path = st.from_regex(regex=r"\A\w+[\w/]*\Z")
def test_resolve_build_dir_with_build_dir(platform_ec_subdir, project_subdir, build_subdir):
with tempfile.TemporaryDirectory() as temp_dir_name:
platform_ec_dir = pathlib.Path(temp_dir_name) / platform_ec_subdir
- (platform_ec_dir / build_subdir / 'project').mkdir(parents=True)
- (platform_ec_dir / build_subdir / 'project' / 'zmake.yaml').touch()
build_dir = util.resolve_build_dir(
platform_ec_dir=platform_ec_dir,
project_dir=platform_ec_dir / project_subdir,
@@ -45,22 +43,11 @@ def test_resolve_build_dir_invalid_project(platform_ec_subdir, project_subdir):
@hypothesis.given(relative_path, relative_path)
def test_resolve_build_dir_from_project(platform_ec_subdir, project_subdir):
- """Since the build dir is not a configured build directory but instead a
- project directory, it should be ignored.
- """
with tempfile.TemporaryDirectory() as temp_dir_name:
platform_ec_dir = pathlib.Path(temp_dir_name) / platform_ec_subdir
project_dir = platform_ec_dir / project_subdir
project_dir.mkdir(parents=True)
(project_dir / 'zmake.yaml').touch()
- # Test when project_dir == build_dir.
- build_dir = util.resolve_build_dir(
- platform_ec_dir=platform_ec_dir,
- project_dir=project_dir,
- build_dir=project_dir)
- assert build_dir == platform_ec_dir / 'build' / project_subdir
-
- # Test when build_dir is None (it should be ignored).
build_dir = util.resolve_build_dir(
platform_ec_dir=platform_ec_dir,
project_dir=project_dir,
diff --git a/zephyr/zmake/zmake/util.py b/zephyr/zmake/zmake/util.py
index 50e42d655a..03bf580617 100644
--- a/zephyr/zmake/zmake/util.py
+++ b/zephyr/zmake/zmake/util.py
@@ -158,8 +158,8 @@ def resolve_build_dir(platform_ec_dir, project_dir, build_dir):
Returns:
The resolved build directory (using build_dir if not None).
"""
- if build_dir and pathlib.Path.exists(
- build_dir / 'project' / 'zmake.yaml'):
+ if build_dir and (not pathlib.Path.exists(build_dir) or pathlib.Path.exists(
+ build_dir / 'project' / 'zmake.yaml')):
return build_dir
if not pathlib.Path.exists(project_dir / 'zmake.yaml'):