fix broken tests
diff --git a/aos/common/logging/logging_impl.cc b/aos/common/logging/logging_impl.cc
index 43a20e0..724d4b8 100644
--- a/aos/common/logging/logging_impl.cc
+++ b/aos/common/logging/logging_impl.cc
@@ -44,6 +44,11 @@
 RootLogImplementation *root_implementation = nullptr;
 
 void SetGlobalImplementation(LogImplementation *implementation) {
+  if (root_implementation == nullptr) {
+    fputs("Somebody didn't call logging::Init()!\n", stderr);
+    abort();
+  }
+
   Context *context = Context::Get();
 
   context->implementation = implementation;
diff --git a/aos/common/mutex_test.cc b/aos/common/mutex_test.cc
index f55d15d..6ec62d8 100644
--- a/aos/common/mutex_test.cc
+++ b/aos/common/mutex_test.cc
@@ -46,6 +46,7 @@
 
 // Sees what happens with multiple unlocks.
 TEST_F(MutexDeathTest, RepeatUnlock) {
+  logging::Init();
   test_mutex.Lock();
   test_mutex.Unlock();
   EXPECT_DEATH(
@@ -58,6 +59,7 @@
 
 // Sees what happens if you unlock without ever locking (or unlocking) it.
 TEST_F(MutexDeathTest, NeverLock) {
+  logging::Init();
   EXPECT_DEATH(
       {
         logging::AddImplementation(new util::DeathTestLogImplementation());
diff --git a/aos/common/time_test.cc b/aos/common/time_test.cc
index cc19965..c6ddd0c 100644
--- a/aos/common/time_test.cc
+++ b/aos/common/time_test.cc
@@ -30,6 +30,7 @@
 }
 
 TEST(TimeDeathTest, ConstructorChecking) {
+  logging::Init();
   EXPECT_DEATH(
       {
         logging::AddImplementation(new util::DeathTestLogImplementation());