diff --git a/tests/AlarmFutureTest.cpp b/tests/AlarmFutureTest.cpp
index b14830a48c871b63470181f5b8c21e544e8c4267..7ff4e6f278b658633c37784b1129ceb56616ad19 100644
--- a/tests/AlarmFutureTest.cpp
+++ b/tests/AlarmFutureTest.cpp
@@ -4,7 +4,6 @@
 #include <cerrno>		// for ETIME
 #include <chrono>		// for microseconds, duration_cast, operator-
 #include <cstdint>	// for int32_t
-#include <cstdlib>	// for exit, EXIT_SUCCESS
 
 #include "emper-config.h"
 #include "io/Future.hpp"	// for AlarmFuture
@@ -28,6 +27,4 @@ void emperTest() {
 
 	assert(std::chrono::duration_cast<std::chrono::microseconds>(end - start) >=
 				 std::chrono::seconds(1));
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/CancelFutureTest.cpp b/tests/CancelFutureTest.cpp
index 21eaa79fa71d56267be77fe6a907a1fa5f6e5809..0ff9b09f38367b7a8b37a2ebd9662472847fb371 100644
--- a/tests/CancelFutureTest.cpp
+++ b/tests/CancelFutureTest.cpp
@@ -5,7 +5,6 @@
 #include <cassert>	// for assert
 #include <cerrno>		// for ECANCELED, ETIME
 #include <cstdint>	// for uint64_t, int32_t
-#include <cstdlib>	// for exit, EXIT_SUCCESS
 
 #include "Common.hpp"			// for DIE_MSG_ERRNO
 #include "io/Future.hpp"	// for ReadFuture, WriteFuture
@@ -57,6 +56,4 @@ void emperTest() {
 	int r = readFuture2.cancel();
 	assert(r == -EINTR || r == -ECANCELED);
 	assert(readFuture.wait() == sizeof(write_buf) && read_buf == write_buf);
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/IncrementalCompletionTest.cpp b/tests/IncrementalCompletionTest.cpp
index 229ce1783c013b0ba8b63e31fc8e3c017da3fd61..0f102fd63230f127e388e008ba55e6e420bdf593 100644
--- a/tests/IncrementalCompletionTest.cpp
+++ b/tests/IncrementalCompletionTest.cpp
@@ -48,6 +48,4 @@ void emperTest() {
 
 	delete[] memOut;
 	delete[] memIn;
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/LinkFutureTest.cpp b/tests/LinkFutureTest.cpp
index b9859ec5c4bc132641058518cca02e62b1633e91..f0f2d04df8fe8a2b69d509715bc881d901145ea8 100644
--- a/tests/LinkFutureTest.cpp
+++ b/tests/LinkFutureTest.cpp
@@ -8,7 +8,6 @@
 #include <cassert>	// for assert
 #include <cerrno>		// for EBADF, ECANCELED
 #include <cstdint>	// for uint64_t, int32_t
-#include <cstdlib>	// for exit, EXIT_SUCCESS
 
 #include "Common.hpp"	 // for DIE_MSG_ERRNO, DIE_MSG
 #include "io.hpp"
@@ -126,6 +125,4 @@ void emperTest() {
 	successLoop();
 	failureChainInvCor();
 	failureChainCorInvCor();
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/ReuseBpsTest.cpp b/tests/ReuseBpsTest.cpp
index 82d8a06aea05509f2d38fd21780b2f090fb3c1a9..7eddfb9174917198c06e6b66c6a0608ccb8139b2 100644
--- a/tests/ReuseBpsTest.cpp
+++ b/tests/ReuseBpsTest.cpp
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
-// Copyright © 2020 Florian Schmaus
-#include <cstdlib>	// for exit, EXIT_SUC...
-
+// Copyright © 2020-2021 Florian Schmaus
 #include "BinaryPrivateSemaphore.hpp"		 // for BPS
 #include "CountingPrivateSemaphore.hpp"	 // for CPS
 #include "emper.hpp"										 // for spawn
@@ -34,6 +32,4 @@ void emperTest() {
 
 	// Wait for the fibers to finish.
 	cps.wait();
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/ReuseFutureTest.cpp b/tests/ReuseFutureTest.cpp
index 50f01ad73b2608245e0e8e4f863a9353ae6a85f0..f08dccf0a69a598fa30bcaca8fd8831cc9dc7d99 100644
--- a/tests/ReuseFutureTest.cpp
+++ b/tests/ReuseFutureTest.cpp
@@ -4,7 +4,6 @@
 
 #include <cerrno>		// for errno
 #include <cstdint>	// for uint64_t, int32_t
-#include <cstdlib>	// for exit, EXIT_SUCCESS
 
 #include "Common.hpp"										 // for DIE_MSG_ERRNO
 #include "CountingPrivateSemaphore.hpp"	 // for CPS
@@ -65,6 +64,4 @@ void emperTest() {
 
 	// Wait for the fibers to finish.
 	cps.wait();
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/TimeoutWrapperTest.cpp b/tests/TimeoutWrapperTest.cpp
index 8211b3766d8ccac16d1c4c632395e5cf91d39e81..ef7e3b36eda94e864ace3c20ac47d4935dce47ea 100644
--- a/tests/TimeoutWrapperTest.cpp
+++ b/tests/TimeoutWrapperTest.cpp
@@ -5,7 +5,6 @@
 #include <cassert>	// for assert
 #include <cerrno>		// for ECANCELED, ETIME
 #include <cstdint>	// for uint64_t, int32_t
-#include <cstdlib>	// for exit, EXIT_SUCCESS
 
 #include "Common.hpp"			// for DIE_MSG_ERRNO
 #include "io/Future.hpp"	// for ReadFuture, TimeoutWrapper
@@ -30,6 +29,4 @@ void emperTest() {
 
 	res = readFuture.wait();
 	assert(res == -ECANCELED);
-
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/TooLongFutureChain.cpp b/tests/TooLongFutureChain.cpp
index 8f861e0a6cb0d82c7754ea2f9ea8930f7844f5db..7a1bb3ea49a6e3b3e38d2c641f536751025fee1e 100644
--- a/tests/TooLongFutureChain.cpp
+++ b/tests/TooLongFutureChain.cpp
@@ -23,5 +23,4 @@ void emperTest() {
 	}
 
 	futures[links - 1]->submitAndWait();
-	exit(EXIT_SUCCESS);
 }
diff --git a/tests/YieldToAnywhereTest.cpp b/tests/YieldToAnywhereTest.cpp
index ee0fb8ef89552e30b4119c41e0017e25494e0a47..e9248ca166f338e110694278a83eb3a25e71d8b5 100644
--- a/tests/YieldToAnywhereTest.cpp
+++ b/tests/YieldToAnywhereTest.cpp
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
-// Copyright © 2020 Florian Schmaus
-#include <cstdlib>
-
+// Copyright © 2020-2021 Florian Schmaus
 #include "CountingPrivateSemaphore.hpp"
 #include "emper.hpp"
 
@@ -18,5 +16,4 @@ void emperTest() {
 				cps);
 	}
 	cps.wait();
-	exit(EXIT_SUCCESS);
 }