diff --git a/server/OffloadUtilsTest.cpp b/server/OffloadUtilsTest.cpp
index d93ac1e..a7b132e 100644
--- a/server/OffloadUtilsTest.cpp
+++ b/server/OffloadUtilsTest.cpp
@@ -103,6 +103,7 @@
 
     int fd = getClatEgressMapFd();
     ASSERT_LE(3, fd);  // 0,1,2 - stdin/out/err, thus 3 <= fd
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -111,6 +112,7 @@
 
     int fd = getClatEgressProgFd(RAWIP);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -119,6 +121,7 @@
 
     int fd = getClatEgressProgFd(ETHER);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -127,6 +130,7 @@
 
     int fd = getClatIngressMapFd();
     ASSERT_LE(3, fd);  // 0,1,2 - stdin/out/err, thus 3 <= fd
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -135,6 +139,7 @@
 
     int fd = getClatIngressProgFd(RAWIP);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -143,6 +148,7 @@
 
     int fd = getClatIngressProgFd(ETHER);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -151,6 +157,7 @@
 
     int fd = getTetherIngressMapFd();
     ASSERT_LE(3, fd);  // 0,1,2 - stdin/out/err, thus 3 <= fd
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -161,6 +168,7 @@
 
     int fd = getTetherIngressProgFd(RAWIP);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -171,6 +179,7 @@
 
     int fd = getTetherIngressProgFd(ETHER);
     ASSERT_LE(3, fd);
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
@@ -179,6 +188,7 @@
 
     int fd = getTetherStatsMapFd();
     ASSERT_LE(3, fd);  // 0,1,2 - stdin/out/err, thus 3 <= fd
+    EXPECT_EQ(FD_CLOEXEC, fcntl(fd, F_GETFD));
     close(fd);
 }
 
