diff --git a/tests/sys_msg_test.cpp b/tests/sys_msg_test.cpp
index e715979..05ad01b 100644
--- a/tests/sys_msg_test.cpp
+++ b/tests/sys_msg_test.cpp
@@ -34,6 +34,11 @@
 #include "TemporaryFile.h"
 
 TEST(sys_msg, smoke) {
+  if (msgctl(-1, IPC_STAT, nullptr) == -1 && errno == ENOSYS) {
+    GTEST_LOG_(INFO) << "no <sys/msg.h> support in this kernel\n";
+    return;
+  }
+
   // Create a queue.
   TemporaryDir dir;
   key_t key = ftok(dir.dirname, 1);
@@ -72,23 +77,23 @@
 TEST(sys_msg, msgctl_failure) {
   errno = 0;
   ASSERT_EQ(-1, msgctl(-1, IPC_STAT, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_msg, msgget_failure) {
   errno = 0;
   ASSERT_EQ(-1, msgget(-1, 0));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_TRUE(errno == ENOENT || errno == ENOSYS);
 }
 
 TEST(sys_msg, msgrcv_failure) {
   errno = 0;
   ASSERT_EQ(-1, msgrcv(-1, nullptr, 0, 0, 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_msg, msgsnd_failure) {
   errno = 0;
   ASSERT_EQ(-1, msgsnd(-1, "", 0, 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
diff --git a/tests/sys_sem_test.cpp b/tests/sys_sem_test.cpp
index 5acc792..d8d83c5 100644
--- a/tests/sys_sem_test.cpp
+++ b/tests/sys_sem_test.cpp
@@ -34,6 +34,11 @@
 #include "TemporaryFile.h"
 
 TEST(sys_sem, smoke) {
+  if (semctl(-1, 0, IPC_RMID) == -1 && errno == ENOSYS) {
+    GTEST_LOG_(INFO) << "no <sys/sem.h> support in this kernel\n";
+    return;
+  }
+
   // Create a semaphore.
   TemporaryDir dir;
   key_t key = ftok(dir.dirname, 1);
@@ -73,23 +78,23 @@
 TEST(sys_sem, semget_failure) {
   errno = 0;
   ASSERT_EQ(-1, semget(-1, -1, 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_sem, semctl_failure) {
   errno = 0;
   ASSERT_EQ(-1, semctl(-1, 0, IPC_RMID));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_sem, semop_failure) {
   errno = 0;
   ASSERT_EQ(-1, semop(-1, nullptr, 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_sem, semtimedop_failure) {
   errno = 0;
   ASSERT_EQ(-1, semtimedop(-1, nullptr, 0, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
diff --git a/tests/sys_shm_test.cpp b/tests/sys_shm_test.cpp
index 4929b8f..cf7f3a5 100644
--- a/tests/sys_shm_test.cpp
+++ b/tests/sys_shm_test.cpp
@@ -34,6 +34,11 @@
 #include "TemporaryFile.h"
 
 TEST(sys_shm, smoke) {
+  if (shmctl(-1, IPC_STAT, nullptr) == -1 && errno == ENOSYS) {
+    GTEST_LOG_(INFO) << "no <sys/shm.h> support in this kernel\n";
+    return;
+  }
+
   // Create a segment.
   TemporaryDir dir;
   key_t key = ftok(dir.dirname, 1);
@@ -60,23 +65,23 @@
 TEST(sys_shm, shmat_failure) {
   errno = 0;
   ASSERT_EQ(reinterpret_cast<void*>(-1), shmat(-1, 0, SHM_RDONLY));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_shm, shmctl_failure) {
   errno = 0;
   ASSERT_EQ(-1, shmctl(-1, IPC_STAT, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_shm, shmdt_failure) {
   errno = 0;
   ASSERT_EQ(-1, shmdt(nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
 
 TEST(sys_shm, shmget_failure) {
   errno = 0;
   ASSERT_EQ(-1, shmget(-1, 1234, 0));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_TRUE(errno == ENOENT || errno == ENOSYS);
 }
