Adding a basic config validator

Signed-off-by: Milo Lin <100027790@mvla.net>
Change-Id: I1226cf2a9483fecad37a197a8acabdf095c4d395
diff --git a/aos/util/config_validator.cc b/aos/util/config_validator.cc
new file mode 100644
index 0000000..78bd0b1
--- /dev/null
+++ b/aos/util/config_validator.cc
@@ -0,0 +1,32 @@
+#include <chrono>
+#include "aos/configuration.h"
+#include "aos/events/logging/log_reader.h"
+#include "aos/events/logging/log_writer.h"
+#include "aos/events/simulated_event_loop.h"
+#include "aos/init.h"
+#include "aos/json_to_flatbuffer.h"
+#include "aos/network/team_number.h"
+#include "gflags/gflags.h"
+#include "gtest/gtest.h"
+
+DEFINE_string(config, "",
+              "Name of the config file to replay using.");
+/* This binary is used to validate that all of the
+   needed remote timestamps channels are in the config
+   to log the timestamps.
+   Future versions of the validator will provide the option
+   to confirm that the timestamps in the config are able to
+   replay all of the data in the log
+   This can be done by getting a list of all of the nodes and
+   iterating through it with a for loop creating a logger for 
+   each one 
+   Reference superstructure_lib_test.cc*/
+TEST(ConfigValidatorTest, ReadConfig) {
+  ASSERT_TRUE(!FLAGS_config.empty());
+  const aos::FlatbufferDetachedBuffer<aos::Configuration> config =
+      aos::configuration::ReadConfig(FLAGS_config);
+
+  aos::SimulatedEventLoopFactory factory(&config.message());
+
+  factory.RunFor(std::chrono::seconds(1));
+}