diff --git a/src/tests/test_IpmbSensor.cpp b/src/tests/test_IpmbSensor.cpp
index e2b3a4e..25add9a 100644
--- a/src/tests/test_IpmbSensor.cpp
+++ b/src/tests/test_IpmbSensor.cpp
@@ -32,7 +32,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::nineBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 42.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, NineBitValidNegative)
@@ -46,7 +46,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::nineBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, -100.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, NineBitMin)
@@ -60,7 +60,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::nineBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, -255.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 // The Altra Family SoC BMC Interface Specification says the maximum 9-bit value
@@ -76,7 +76,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::nineBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 255.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, NineBitTooShort)
@@ -126,7 +126,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::tenBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 8.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, TenBitValid2)
@@ -141,7 +141,7 @@
                                            responseValue, errCount));
 
     EXPECT_EQ(responseValue, 560.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, TenBitMin)
@@ -156,7 +156,7 @@
                                            responseValue, errCount));
 
     EXPECT_EQ(responseValue, 0.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, TenBitValidMax)
@@ -171,7 +171,7 @@
                                            responseValue, errCount));
 
     EXPECT_EQ(responseValue, 1023.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, TenBitTooShort)
@@ -221,7 +221,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::fifteenBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 0.730);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, FifteenBitMin)
@@ -235,7 +235,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::fifteenBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 0.0);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, FifteenBitMax)
@@ -249,7 +249,7 @@
     EXPECT_TRUE(IpmbSensor::processReading(ReadingFormat::fifteenBit, 0, data,
                                            responseValue, errCount));
     EXPECT_EQ(responseValue, 32.767);
-    EXPECT_EQ(errCount, 0);
+    EXPECT_EQ(errCount, 0U);
 }
 
 TEST(IPMBSensor, FifteenBitTooShort)
diff --git a/src/tests/test_Utils.cpp b/src/tests/test_Utils.cpp
index 957a9e9..9f772e0 100644
--- a/src/tests/test_Utils.cpp
+++ b/src/tests/test_Utils.cpp
@@ -230,8 +230,8 @@
 
     auto ret = getDeviceBusAddr(devName, bus, provisionedId);
     EXPECT_TRUE(ret);
-    EXPECT_EQ(bus, 0);
-    EXPECT_EQ(provisionedId, 0x22400000001);
+    EXPECT_EQ(bus, 0U);
+    EXPECT_EQ(provisionedId, 0x22400000001U);
 }
 
 TEST(GetDeviceBusAddrTest, AllValid)
@@ -242,6 +242,6 @@
 
     auto ret = getDeviceBusAddr(devName, bus, addr);
     EXPECT_TRUE(ret);
-    EXPECT_EQ(bus, 12);
-    EXPECT_EQ(addr, 0xaf);
+    EXPECT_EQ(bus, 12U);
+    EXPECT_EQ(addr, 0xafU);
 }
