pw_assert: Add real assert facade tests

This splits out the tests into backend compile tests and direct facade
tests, by directly depending on the facade implementation (rather than
going through the backend header redirection) and adding a fake
capturing assert backend that captures assert arguments.

Change-Id: Ie6d8c837d5abaa9f735f9e552791e939d6f2a245
diff --git a/pw_assert/BUILD.gn b/pw_assert/BUILD.gn
index 83c3207..48da2f3 100644
--- a/pw_assert/BUILD.gn
+++ b/pw_assert/BUILD.gn
@@ -31,22 +31,34 @@
 }
 
 pw_test_group("tests") {
-  tests = []
+  tests = [ ":assert_facade_test" ]
   if (dir_pw_assert_backend != "") {
-    tests += [ ":assert_test" ]
+    tests += [ ":assert_backend_compile_test" ]
   }
 }
 
+# The assert facade test doesn't require a backend since a fake one is
+# provided.  However, since this doesn't depend on the backend it re-includes
+# the facade headers.
+pw_test("assert_facade_test") {
+  configs = [ ":default_config" ]  # For internal/assert_impl.h
+  sources = [
+    "assert_facade_test.cc",
+    "fake_backend.cc",
+    "public/pw_assert/internal/assert_impl.h",
+    "pw_assert_test/fake_backend.h",
+  ]
+}
+
 if (dir_pw_assert_backend != "") {
-  pw_test("assert_test") {
+  pw_test("assert_backend_compile_test") {
     deps = [
       ":pw_assert",
       dir_pw_assert_backend,
     ]
-
     sources = [
-      "assert_test.c",
-      "assert_test.cc",
+      "assert_backend_compile_test.c",
+      "assert_backend_compile_test.cc",
     ]
   }
 }