pw_unit_test: Filter "" from disabled test deps
Filter "" from deps and public_deps for disabled pw_tests. This allows
disabling tests based on whether a dependency in a variable (e.g. a
backend) is defined.
Change-Id: I6ba7071122eb578da50715762df70ae6202b4909
diff --git a/pw_log/BUILD.gn b/pw_log/BUILD.gn
index 1dbe783..1e16612 100644
--- a/pw_log/BUILD.gn
+++ b/pw_log/BUILD.gn
@@ -30,25 +30,21 @@
}
pw_test_group("tests") {
- tests = []
- if (dir_pw_log_backend != "") {
- tests += [ ":basic_log_test" ]
- }
+ tests = [ ":basic_log_test" ]
}
-if (dir_pw_log_backend != "") {
- pw_test("basic_log_test") {
- deps = [
- ":pw_log",
- dir_pw_log_backend,
- dir_pw_preprocessor,
- ]
+pw_test("basic_log_test") {
+ enable_if = dir_pw_log_backend != ""
+ deps = [
+ ":pw_log",
+ dir_pw_log_backend,
+ dir_pw_preprocessor,
+ ]
- sources = [
- "basic_log_test.cc",
- "basic_log_test_plain_c.c",
- ]
- }
+ sources = [
+ "basic_log_test.cc",
+ "basic_log_test_plain_c.c",
+ ]
}
pw_doc_group("docs") {
diff --git a/pw_unit_test/test.gni b/pw_unit_test/test.gni
index 7420424..495126e 100644
--- a/pw_unit_test/test.gni
+++ b/pw_unit_test/test.gni
@@ -42,6 +42,17 @@
"enable_if",
"target_type",
])
+
+ # Remove "" from dependencies. This allows disabling targets if a variable
+ # (e.g. a backend) is empty.
+ if (defined(public_deps)) {
+ public_deps += [ "" ]
+ public_deps -= [ "" ]
+ }
+ if (defined(deps)) {
+ deps += [ "" ]
+ deps -= [ "" ]
+ }
}
}