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 -= [ "" ]
+    }
   }
 }