Merge "Add CopyFlatBuffer helper to the Fetcher"
diff --git a/.bazelrc b/.bazelrc
index 67ad4a7..9a26282 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -9,8 +9,7 @@
 build --strip=never
 
 build --noincompatible_disable_nocopts
-build --noincompatible_restrict_string_escapes
-query --noincompatible_restrict_string_escapes
+common --noincompatible_restrict_string_escapes
 
 # Use the malloc we want.
 build --custom_malloc=//tools/cpp:malloc
diff --git a/aos/actions/BUILD b/aos/actions/BUILD
index 7898353..0cc5e12 100644
--- a/aos/actions/BUILD
+++ b/aos/actions/BUILD
@@ -74,7 +74,6 @@
         "//aos/events:simulated_event_loop",
         "//aos/logging",
         "//aos/testing:googletest",
-        "//aos/testing:test_shm",
         "//aos/time",
     ],
 )
diff --git a/aos/actions/action_test.cc b/aos/actions/action_test.cc
index 124b3e4..565bf11 100644
--- a/aos/actions/action_test.cc
+++ b/aos/actions/action_test.cc
@@ -11,8 +11,6 @@
 #include "aos/actions/actor.h"
 #include "aos/actions/test_action_generated.h"
 #include "aos/events/simulated_event_loop.h"
-#include "aos/testing/test_logging.h"
-#include "aos/testing/test_shm.h"
 
 namespace aos {
 namespace common {
@@ -104,9 +102,7 @@
         event_loop_factory_(&configuration_.message()),
         actor1_event_loop_(event_loop_factory_.MakeEventLoop("actor1")),
         actor2_event_loop_(event_loop_factory_.MakeEventLoop("actor2")),
-        test_event_loop_(event_loop_factory_.MakeEventLoop("test")) {
-    ::aos::testing::EnableTestLogging();
-  }
+        test_event_loop_(event_loop_factory_.MakeEventLoop("test")) {}
 
   void RunAt(monotonic_clock::time_point exec_time, std::function<void()> fn) {
     TimerHandler *timer = test_event_loop_->AddTimer(fn);
diff --git a/aos/events/logging/BUILD b/aos/events/logging/BUILD
index eac61cb..db718ba 100644
--- a/aos/events/logging/BUILD
+++ b/aos/events/logging/BUILD
@@ -43,7 +43,6 @@
         "//tools:cpu_aarch64": [":lzma_encoder"],
         "//conditions:default": [],
     }),
-
 )
 
 cc_binary(
diff --git a/aos/events/logging/logger.cc b/aos/events/logging/logger.cc
index 5a6bb8f..0aa37e7 100644
--- a/aos/events/logging/logger.cc
+++ b/aos/events/logging/logger.cc
@@ -1324,9 +1324,12 @@
            !state->at_end()) ||
           timestamped_message.data.span().size() != 0u) {
         CHECK_NE(timestamped_message.data.span().size(), 0u)
-            << ": Got a message without data.  Forwarding entry which was "
-               "not matched?  Use --skip_missing_forwarding_entries to "
-               "ignore this.";
+            << ": Got a message without data on channel "
+            << configuration::CleanedChannelToString(
+                   logged_configuration()->channels()->Get(
+                       timestamped_message.channel_index))
+            << ".  Forwarding entry which was not matched?  Use "
+               "--skip_missing_forwarding_entries to ignore this.";
 
         if (update_time) {
           // Confirm that the message was sent on the sending node before the
diff --git a/aos/events/logging/lzma_encoder.h b/aos/events/logging/lzma_encoder.h
index 1b6a0fe..919f5fa 100644
--- a/aos/events/logging/lzma_encoder.h
+++ b/aos/events/logging/lzma_encoder.h
@@ -32,7 +32,7 @@
   size_t queue_size() const final { return queue_.size(); }
 
  private:
-  static constexpr size_t kEncodedBufferSizeBytes{1024};
+  static constexpr size_t kEncodedBufferSizeBytes{4096};
 
   void RunLzmaCode(lzma_action action);
 
diff --git a/aos/network/sctp_server.cc b/aos/network/sctp_server.cc
index e18d0d8..8bf14f6 100644
--- a/aos/network/sctp_server.cc
+++ b/aos/network/sctp_server.cc
@@ -57,6 +57,11 @@
              0);
     }
 
+    {
+      int on = 1;
+      PCHECK(setsockopt(fd_, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(int)) == 0);
+    }
+
     // And go!
     if (bind(fd_, (struct sockaddr *)&sockaddr_local_,
              sockaddr_local_.ss_family == AF_INET6
diff --git a/debian/ni-libraries-2016.BUILD b/debian/ni-libraries-2016.BUILD
deleted file mode 100644
index 4d663ff..0000000
--- a/debian/ni-libraries-2016.BUILD
+++ /dev/null
@@ -1,14 +0,0 @@
-cc_library(
-    name = "ni-libraries",
-    srcs = [
-        "libFRC_NetworkCommunication.so.16.0.0",
-        "libNiFpga.so.15.0.0",
-        "libNiFpgaLv.so.15.0.0",
-        "libNiRioSrv.so.15.0.0",
-        "libRoboRIO_FRC_ChipObject.so.16.0.0",
-        "libi2c.so.1.0.0",
-        "libspi.so.1.0.0",
-    ],
-    linkstatic = True,
-    visibility = ["//visibility:public"],
-)
diff --git a/debian/ni-libraries-2018.BUILD b/debian/ni-libraries-2018.BUILD
deleted file mode 100644
index 6f703ff..0000000
--- a/debian/ni-libraries-2018.BUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-cc_library(
-    name = "ni-libraries",
-    srcs = [
-        "lib/libFRC_NetworkCommunication.so.18.0.0",
-        "lib/libNiFpga.so.17.0.0",
-        "lib/libNiFpgaLv.so.17.0.0",
-        "lib/libNiRioSrv.so.17.0.0",
-        "lib/libRoboRIO_FRC_ChipObject.so.18.0.0",
-        "lib/libniriodevenum.so.17.0.0",
-        "lib/libniriosession.so.17.0.0",
-    ],
-    hdrs = glob(["include/**"]),
-    includes = [
-        "include",
-    ],
-    linkstatic = True,
-    target_compatible_with = ["@//tools/platforms/hardware:roborio"],
-    visibility = ["//visibility:public"],
-)
diff --git a/frc971/control_loops/voltage_cap/BUILD b/frc971/control_loops/voltage_cap/BUILD
index 1bf2b8d..6b91953 100644
--- a/frc971/control_loops/voltage_cap/BUILD
+++ b/frc971/control_loops/voltage_cap/BUILD
@@ -20,6 +20,5 @@
     deps = [
         ":voltage_cap",
         "//aos/testing:googletest",
-        "//aos/testing:test_shm",
     ],
 )
diff --git a/frc971/control_loops/voltage_cap/voltage_cap_test.cc b/frc971/control_loops/voltage_cap/voltage_cap_test.cc
index 73898f9..4eab267 100644
--- a/frc971/control_loops/voltage_cap/voltage_cap_test.cc
+++ b/frc971/control_loops/voltage_cap/voltage_cap_test.cc
@@ -4,17 +4,11 @@
 
 #include "gtest/gtest.h"
 
-#include "aos/testing/test_shm.h"
-
 namespace frc971 {
 namespace control_loops {
 namespace testing {
 
-class VoltageTest : public ::testing::Test {
- protected:
-  // Bring up and down Core.
-  ::aos::testing::TestSharedMemory my_shm_;
-};
+class VoltageTest : public ::testing::Test {};
 
 // Tests that voltage inputs return the same if inside the box.
 TEST_F(VoltageTest, BasicVoltage12) {
diff --git a/frc971/zeroing/BUILD b/frc971/zeroing/BUILD
index cd90e8d..9ec2772 100644
--- a/frc971/zeroing/BUILD
+++ b/frc971/zeroing/BUILD
@@ -103,7 +103,6 @@
     deps = [
         ":zeroing",
         "//aos/testing:googletest",
-        "//aos/testing:test_shm",
         "//frc971/control_loops:control_loops_fbs",
         "//frc971/control_loops:position_sensor_sim",
     ],
diff --git a/third_party/GSL/BUILD b/third_party/GSL/BUILD
index cd85e93..10fe510 100644
--- a/third_party/GSL/BUILD
+++ b/third_party/GSL/BUILD
@@ -1,6 +1,5 @@
 licenses(["notice"])
 
-
 cc_library(
     name = "GSL",
     hdrs = glob(["include/**"]),
diff --git a/third_party/gmp/mpn.bzl b/third_party/gmp/mpn.bzl
index 668df8d..d498070 100644
--- a/third_party/gmp/mpn.bzl
+++ b/third_party/gmp/mpn.bzl
@@ -166,6 +166,17 @@
         result[key] = ["-I" + current_directory() + "/config/" + architecture_paths[key][0] + "/"]
     return select(result)
 
+def _file_globs(path, use_asm):
+    if use_asm:
+        return native.glob([
+            path + ".asm",
+            path + ".c",
+        ])
+    else:
+        return native.glob([
+            path + ".c",
+        ])
+
 def mpn_m4_cc_library(name, architecture_paths, target_compatible_with = None):
     # Search architecture_paths in order from 0 to N.
     # From there, search starting with the main name, then start looking at the alternatives.
@@ -175,16 +186,10 @@
         value = architecture_paths[key]
         globs = []
         for p in value:
-            globs += native.glob([
-                "mpn/" + p + "/" + name + ".asm",
-                "mpn/" + p + "/" + name + ".c",
-            ])
+            globs += _file_globs("mpn/" + p + "/" + name, "msan" not in key)
             if name in alternatives:
                 for alternative in alternatives[name]:
-                    globs += native.glob([
-                        "mpn/" + p + "/" + alternative + ".asm",
-                        "mpn/" + p + "/" + alternative + ".c",
-                    ])
+                    globs += _file_globs("mpn/" + p + "/" + alternative, "msan" not in key)
         architecture_globs[key] = globs
 
     _m4_mpn_function(
diff --git a/tools/cpp/toolchain_config.bzl b/tools/cpp/toolchain_config.bzl
index 8804cd2..9b8b9f6 100644
--- a/tools/cpp/toolchain_config.bzl
+++ b/tools/cpp/toolchain_config.bzl
@@ -1,4 +1,5 @@
-load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
+load(
+    "@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
     "action_config",
     "artifact_name_pattern",
     "env_entry",
@@ -35,9 +36,9 @@
         host_system_name = "armeabi-v7a"
     elif (ctx.attr.cpu == "armhf-debian"):
         host_system_name = "linux"
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"
-        or ctx.attr.cpu == "k8"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22" or
+          ctx.attr.cpu == "k8"):
         host_system_name = "local"
     elif (ctx.attr.cpu == "roborio"):
         host_system_name = "roborio"
@@ -89,14 +90,14 @@
     else:
         fail("Unreachable")
 
-    if (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "k8"):
+    if (ctx.attr.cpu == "armhf-debian" or
+        ctx.attr.cpu == "k8"):
         compiler = "clang"
     elif (ctx.attr.cpu == "armeabi-v7a"):
         compiler = "compiler"
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"
-        or ctx.attr.cpu == "roborio"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22" or
+          ctx.attr.cpu == "roborio"):
         compiler = "gcc"
     else:
         fail("Unreachable")
@@ -207,8 +208,8 @@
             enabled = True,
             tools = [tool(path = "clang_6p0/x86_64-linux-gnu-objcopy")],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         objcopy_embed_data_action = action_config(
             action_name = "objcopy_embed_data",
             enabled = True,
@@ -219,11 +220,11 @@
 
     if (ctx.attr.cpu == "armeabi-v7a"):
         action_configs = []
-    elif (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"
-        or ctx.attr.cpu == "k8"
-        or ctx.attr.cpu == "roborio"):
+    elif (ctx.attr.cpu == "armhf-debian" or
+          ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22" or
+          ctx.attr.cpu == "k8" or
+          ctx.attr.cpu == "roborio"):
         action_configs = [objcopy_embed_data_action]
     else:
         fail("Unreachable")
@@ -619,8 +620,8 @@
     else:
         default_compile_flags_feature = None
 
-    if (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "k8"):
+    if (ctx.attr.cpu == "armhf-debian" or
+        ctx.attr.cpu == "k8"):
         dbg_feature = feature(
             name = "dbg",
             flag_sets = [
@@ -661,8 +662,8 @@
                 ),
             ],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         dbg_feature = feature(
             name = "dbg",
             flag_sets = [
@@ -683,8 +684,8 @@
     else:
         dbg_feature = None
 
-    if (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "k8"):
+    if (ctx.attr.cpu == "armhf-debian" or
+        ctx.attr.cpu == "k8"):
         fastbuild_feature = feature(
             name = "fastbuild",
             flag_sets = [
@@ -719,8 +720,8 @@
                 ),
             ],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         fastbuild_feature = feature(name = "fastbuild", implies = ["all_modes"])
     else:
         fastbuild_feature = None
@@ -775,8 +776,8 @@
             ],
             implies = ["opt_post"],
         )
-    elif (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "k8"):
+    elif (ctx.attr.cpu == "armhf-debian" or
+          ctx.attr.cpu == "k8"):
         opt_feature = feature(
             name = "opt",
             flag_sets = [
@@ -794,8 +795,8 @@
             ],
             implies = ["all_modes"],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         opt_feature = feature(name = "opt", implies = ["all_modes"])
     else:
         opt_feature = None
@@ -821,8 +822,8 @@
         ],
     )
 
-    if (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    if (ctx.attr.cpu == "cortex-m4f" or
+        ctx.attr.cpu == "cortex-m4f-k22"):
         include_paths_feature = feature(
             name = "include_paths",
             enabled = True,
@@ -1125,8 +1126,8 @@
                 ),
             ],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         all_modes_feature = feature(
             name = "all_modes",
             flag_sets = [
@@ -1252,9 +1253,9 @@
                 ),
             ],
         )
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"
-        or ctx.attr.cpu == "roborio"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22" or
+          ctx.attr.cpu == "roborio"):
         unfiltered_compile_flags_feature = feature(
             name = "unfiltered_compile_flags",
             enabled = True,
@@ -1527,59 +1528,59 @@
         ],
     )
 
-    if (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    if (ctx.attr.cpu == "cortex-m4f" or
+        ctx.attr.cpu == "cortex-m4f-k22"):
         features = [
-                default_compile_flags_feature,
-                default_link_flags_feature,
-                dbg_feature,
-                opt_feature,
-                fastbuild_feature,
-                all_modes_feature,
-                include_paths_feature,
-                objcopy_embed_flags_feature,
-                user_compile_flags_feature,
-                sysroot_feature,
-                unfiltered_compile_flags_feature,
-            ]
-    elif (ctx.attr.cpu == "armhf-debian"
-        or ctx.attr.cpu == "k8"):
+            default_compile_flags_feature,
+            default_link_flags_feature,
+            dbg_feature,
+            opt_feature,
+            fastbuild_feature,
+            all_modes_feature,
+            include_paths_feature,
+            objcopy_embed_flags_feature,
+            user_compile_flags_feature,
+            sysroot_feature,
+            unfiltered_compile_flags_feature,
+        ]
+    elif (ctx.attr.cpu == "armhf-debian" or
+          ctx.attr.cpu == "k8"):
         features = [
-                default_compile_flags_feature,
-                default_link_flags_feature,
-                opt_feature,
-                dbg_feature,
-                fastbuild_feature,
-                all_modes_feature,
-                pie_for_linking_feature,
-                supports_dynamic_linker_feature,
-                supports_pic_feature,
-                objcopy_embed_flags_feature,
-                user_compile_flags_feature,
-                sysroot_feature,
-                unfiltered_compile_flags_feature,
-            ]
+            default_compile_flags_feature,
+            default_link_flags_feature,
+            opt_feature,
+            dbg_feature,
+            fastbuild_feature,
+            all_modes_feature,
+            pie_for_linking_feature,
+            supports_dynamic_linker_feature,
+            supports_pic_feature,
+            objcopy_embed_flags_feature,
+            user_compile_flags_feature,
+            sysroot_feature,
+            unfiltered_compile_flags_feature,
+        ]
     elif (ctx.attr.cpu == "roborio"):
         features = [
-                default_link_flags_feature,
-                compile_flags1_feature,
-                opt_feature,
-                dependency_file_feature,
-                random_seed_feature,
-                pic_feature,
-                include_paths_feature,
-                opt_post_feature,
-                dbg_feature,
-                fastbuild_feature,
-                all_modes_feature,
-                pie_for_linking_feature,
-                supports_dynamic_linker_feature,
-                supports_pic_feature,
-                objcopy_embed_flags_feature,
-                user_compile_flags_feature,
-                sysroot_feature,
-                unfiltered_compile_flags_feature,
-            ]
+            default_link_flags_feature,
+            compile_flags1_feature,
+            opt_feature,
+            dependency_file_feature,
+            random_seed_feature,
+            pic_feature,
+            include_paths_feature,
+            opt_post_feature,
+            dbg_feature,
+            fastbuild_feature,
+            all_modes_feature,
+            pie_for_linking_feature,
+            supports_dynamic_linker_feature,
+            supports_pic_feature,
+            objcopy_embed_flags_feature,
+            user_compile_flags_feature,
+            sysroot_feature,
+            unfiltered_compile_flags_feature,
+        ]
     elif (ctx.attr.cpu == "armeabi-v7a"):
         features = [supports_pic_feature]
     else:
@@ -1589,35 +1590,35 @@
         cxx_builtin_include_directories = []
     elif (ctx.attr.cpu == "roborio"):
         cxx_builtin_include_directories = [
-                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%",
-                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%",
-                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%",
-                "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%",
-            ]
+            "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%",
+            "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%",
+            "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%",
+            "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%",
+        ]
     elif (ctx.attr.cpu == "k8"):
         cxx_builtin_include_directories = [
-                "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include",
-                "%package(@amd64_debian_sysroot//usr)%/include",
-                "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include",
-                "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include-fixed",
-            ]
+            "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include",
+            "%package(@amd64_debian_sysroot//usr)%/include",
+            "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include",
+            "%package(@amd64_debian_sysroot//usr)%/lib/gcc/x86_64-linux-gnu/7/include-fixed",
+        ]
     elif (ctx.attr.cpu == "armhf-debian"):
         cxx_builtin_include_directories = [
-                "%package(@linaro_linux_gcc_repo//include)%",
-                "%package(@armhf_debian_rootfs//usr/include)%",
-                "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1",
-                "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%",
-                "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%",
-                "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1",
-            ]
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+            "%package(@linaro_linux_gcc_repo//include)%",
+            "%package(@armhf_debian_rootfs//usr/include)%",
+            "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1",
+            "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%",
+            "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%",
+            "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1",
+        ]
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         cxx_builtin_include_directories = [
-                "/usr/lib/gcc/arm-none-eabi/4.8/include",
-                "/usr/lib/gcc/arm-none-eabi/4.8/include-fixed",
-                "/usr/lib/arm-none-eabi/include",
-                "/usr/include/newlib",
-            ]
+            "/usr/lib/gcc/arm-none-eabi/4.8/include",
+            "/usr/lib/gcc/arm-none-eabi/4.8/include-fixed",
+            "/usr/lib/arm-none-eabi/include",
+            "/usr/include/newlib",
+        ]
     else:
         fail("Unreachable")
 
@@ -1720,8 +1721,8 @@
                 path = "clang_6p0/x86_64-linux-gnu-strip",
             ),
         ]
-    elif (ctx.attr.cpu == "cortex-m4f"
-        or ctx.attr.cpu == "cortex-m4f-k22"):
+    elif (ctx.attr.cpu == "cortex-m4f" or
+          ctx.attr.cpu == "cortex-m4f-k22"):
         tool_paths = [
             tool_path(
                 name = "ar",
@@ -1832,7 +1833,6 @@
     else:
         fail("Unreachable")
 
-
     out = ctx.actions.declare_file(ctx.label.name)
     ctx.actions.write(out, "Fake executable")
     return [
@@ -1853,16 +1853,17 @@
             tool_paths = tool_paths,
             make_variables = make_variables,
             builtin_sysroot = builtin_sysroot,
-            cc_target_os = cc_target_os
+            cc_target_os = cc_target_os,
         ),
         DefaultInfo(
             executable = out,
         ),
     ]
-cc_toolchain_config =  rule(
+
+cc_toolchain_config = rule(
     implementation = _impl,
     attrs = {
-        "cpu": attr.string(mandatory=True, values=["armeabi-v7a", "armhf-debian", "cortex-m4f", "cortex-m4f-k22", "k8", "roborio"]),
+        "cpu": attr.string(mandatory = True, values = ["armeabi-v7a", "armhf-debian", "cortex-m4f", "cortex-m4f-k22", "k8", "roborio"]),
     },
     provides = [CcToolchainConfigInfo],
     executable = True,
diff --git a/y2017/control_loops/superstructure/column/BUILD b/y2017/control_loops/superstructure/column/BUILD
index e59d1e6..498579e 100644
--- a/y2017/control_loops/superstructure/column/BUILD
+++ b/y2017/control_loops/superstructure/column/BUILD
@@ -86,7 +86,6 @@
     target_compatible_with = ["@platforms//os:linux"],
     deps = [
         ":column_zeroing",
-        "//aos/testing:test_shm",
         "//frc971/control_loops:position_sensor_sim",
         "//frc971/control_loops:team_number_test_environment",
         "//y2017:constants",
diff --git a/y2017/control_loops/superstructure/column/column_zeroing_test.cc b/y2017/control_loops/superstructure/column/column_zeroing_test.cc
index dab5139..af0eb15 100644
--- a/y2017/control_loops/superstructure/column/column_zeroing_test.cc
+++ b/y2017/control_loops/superstructure/column/column_zeroing_test.cc
@@ -5,7 +5,6 @@
 #include "aos/die.h"
 #include "aos/flatbuffers.h"
 #include "aos/json_to_flatbuffer.h"
-#include "aos/testing/test_shm.h"
 #include "frc971/control_loops/position_sensor_sim.h"
 #include "frc971/control_loops/team_number_test_environment.h"
 #include "frc971/zeroing/zeroing.h"
@@ -32,8 +31,6 @@
 
  protected:
   void SetUp() override { aos::SetDieTestMode(true); }
-  // Initializes logging and provides a tmp shmem.
-  ::aos::testing::TestSharedMemory my_shm_;
 
   PositionSensorSimulator indexer_sensor_;
   PositionSensorSimulator turret_sensor_;
diff --git a/y2019/control_loops/drivetrain/BUILD b/y2019/control_loops/drivetrain/BUILD
index 78c602e..ed6d832 100644
--- a/y2019/control_loops/drivetrain/BUILD
+++ b/y2019/control_loops/drivetrain/BUILD
@@ -142,7 +142,6 @@
         ":target_selector",
         "//aos/events:simulated_event_loop",
         "//aos/testing:googletest",
-        "//aos/testing:test_shm",
     ],
 )
 
diff --git a/y2019/jevois/BUILD b/y2019/jevois/BUILD
index d6d3dfc..915e37b 100644
--- a/y2019/jevois/BUILD
+++ b/y2019/jevois/BUILD
@@ -190,7 +190,7 @@
         ":cobs",
         ":spi",
         ":uart",
-        "//aos/time:time",
+        "//aos/time",
         "//motors:util",
         "//motors/core",
         "//motors/peripheral:configuration",
diff --git a/y2020/vision/sift/BUILD b/y2020/vision/sift/BUILD
index 4a0dcfb..98c6ec6 100644
--- a/y2020/vision/sift/BUILD
+++ b/y2020/vision/sift/BUILD
@@ -24,13 +24,13 @@
         ":fast_gaussian_generator",
         "@amd64_debian_sysroot//:sysroot_files",
     ],
-    toolchains = [
-        "@bazel_tools//tools/cpp:current_cc_toolchain",
-    ],
     main = "fast_gaussian_runner.py",
     python_version = "PY3",
     srcs_version = "PY2AND3",
     target_compatible_with = ["@platforms//os:linux"],
+    toolchains = [
+        "@bazel_tools//tools/cpp:current_cc_toolchain",
+    ],
     deps = [
         "@bazel_tools//tools/python/runfiles",
     ],