diff --git a/crossConnIntegrationTests/src/main/native/cpp/PWMTest.cpp b/crossConnIntegrationTests/src/main/native/cpp/PWMTest.cpp
index 27fcce7..316234a 100644
--- a/crossConnIntegrationTests/src/main/native/cpp/PWMTest.cpp
+++ b/crossConnIntegrationTests/src/main/native/cpp/PWMTest.cpp
@@ -100,8 +100,9 @@
       auto value = HAL_GetDMASampleDigitalSource(&dmaSamples[startIndex],
                                                  dioHandle, &status);
       ASSERT_EQ(0, status);
-      if (value)
+      if (value) {
         break;
+      }
       startIndex++;
     }
     ASSERT_LT(startIndex, 6);
diff --git a/crossConnIntegrationTests/src/main/native/cpp/TestEnvironment.cpp b/crossConnIntegrationTests/src/main/native/cpp/TestEnvironment.cpp
index ee8c2b1..458046c 100644
--- a/crossConnIntegrationTests/src/main/native/cpp/TestEnvironment.cpp
+++ b/crossConnIntegrationTests/src/main/native/cpp/TestEnvironment.cpp
@@ -49,6 +49,7 @@
       HAL_GetControlWord(&controlWord);
       return controlWord.enabled && controlWord.dsAttached;
     };
+    HAL_RefreshDSData();
     while (!checkEnabled()) {
       if (enableCounter > 50) {
         // Robot did not enable properly after 5 seconds.
@@ -60,6 +61,7 @@
       std::this_thread::sleep_for(100ms);
 
       fmt::print("Waiting for enable: {}\n", enableCounter++);
+      HAL_RefreshDSData();
     }
     std::this_thread::sleep_for(500ms);
   }
diff --git a/crossConnIntegrationTests/src/main/native/cpp/mockds/MockDS.cpp b/crossConnIntegrationTests/src/main/native/cpp/mockds/MockDS.cpp
index b2e5c2d..2e53a9a 100644
--- a/crossConnIntegrationTests/src/main/native/cpp/mockds/MockDS.cpp
+++ b/crossConnIntegrationTests/src/main/native/cpp/mockds/MockDS.cpp
@@ -12,7 +12,7 @@
 #include <hal/cpp/fpga_clock.h>
 #include <wpi/Logger.h>
 #include <wpi/SmallVector.h>
-#include <wpi/UDPClient.h>
+#include <wpinet/UDPClient.h>
 
 static void LoggerFunc(unsigned int level, const char* file, unsigned int line,
                        const char* msg) {
diff --git a/crossConnIntegrationTests/src/main/native/include/LifetimeWrappers.h b/crossConnIntegrationTests/src/main/native/include/LifetimeWrappers.h
index 9f0eb15..5731200 100644
--- a/crossConnIntegrationTests/src/main/native/include/LifetimeWrappers.h
+++ b/crossConnIntegrationTests/src/main/native/include/LifetimeWrappers.h
@@ -194,6 +194,7 @@
   do {                                                               \
     ASSERT_EQ(status, HAL_USE_LAST_ERROR);                           \
     const char* lastErrorMessageInMacro = HAL_GetLastError(&status); \
+    static_cast<void>(lastErrorMessageInMacro);                      \
     ASSERT_EQ(status, x);                                            \
   } while (0)
 
