Disallow logging timestamps without data

Nobody has come up with a good use case or a way to read the data
afterwards.  Until we have a use case, it isn't worth spending the
engineering figuring out how to expose this all.

Instead, when validating configs, enforce that we can't log timestamps
without data.  Logs with timestamps and no data are possible to read,
but need --skip_missing_forwarding_entries and are not recommended.

Change-Id: I04534a09cba1bb7f87c0e4e966a3e20ae2007568
Signed-off-by: Austin Schuh <austin.schuh@bluerivertech.com>
diff --git a/aos/configuration_test.cc b/aos/configuration_test.cc
index c650a5d..0b842cb 100644
--- a/aos/configuration_test.cc
+++ b/aos/configuration_test.cc
@@ -866,6 +866,16 @@
   EXPECT_THAT(result, ::testing::ElementsAreArray({0, 1, 0, 0}));
 }
 
+// Tests that we reject invalid logging configurations.
+TEST_F(ConfigurationDeathTest, InvalidLoggerConfig) {
+  EXPECT_DEATH(
+      {
+        FlatbufferDetachedBuffer<Configuration> config =
+            ReadConfig(ArtifactPath("aos/testdata/invalid_logging_configuration.json"));
+      },
+      "Logging timestamps without data");
+}
+
 }  // namespace testing
 }  // namespace configuration
 }  // namespace aos