1616#if SANITIZER_APPLE
1717#include < libkern/OSAtomic.h>
1818#include < os/lock.h>
19- #include < sys/types.h>
20- #include < sys/uio.h>
21- #include < unistd.h>
2219#endif
2320
2421#if SANITIZER_INTERCEPT_MEMALIGN || SANITIZER_INTERCEPT_PVALLOC
@@ -204,7 +201,6 @@ TEST(TestRadsanInterceptors, closeDiesWhenRealtime) {
204201TEST (TestRadsanInterceptors, fopenDiesWhenRealtime) {
205202 auto func = []() {
206203 auto fd = fopen (temporary_file_path (), " w" );
207- // Avoid fopen being dead-code eliminated
208204 EXPECT_THAT (fd, Ne (nullptr ));
209205 };
210206 expectRealtimeDeath (func, " fopen" );
@@ -225,83 +221,6 @@ TEST(TestRadsanInterceptors, freadDiesWhenRealtime) {
225221 std::remove (temporary_file_path ());
226222}
227223
228- class FdFixture : public ::testing::Test {
229- protected:
230- int fd = -1 ;
231-
232- void SetUp () override {
233- fd = open (temporary_file_path (), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
234- ASSERT_TRUE (fd != -1 ) << " Failed to open file" ;
235- }
236-
237- void TearDown () override {
238- if (fd != -1 )
239- {
240- close (fd);
241- remove (temporary_file_path ());
242- }
243- }
244- };
245-
246- TEST_F (FdFixture, readDiesWhenRealtime) {
247- auto func = [this ]() {
248- char c{};
249- read (fd, &c, 1 );
250- };
251- expectRealtimeDeath (func, " read" );
252- expectNonrealtimeSurvival (func);
253- }
254-
255- TEST_F (FdFixture, writeDiesWhenRealtime) {
256- auto func = [this ]() {
257- char c{};
258- write (fd, &c, 1 );
259- };
260- expectRealtimeDeath (func, " write" );
261- expectNonrealtimeSurvival (func);
262- }
263-
264- #if SANITIZER_APPLE
265- TEST_F (FdFixture, preadDiesWhenRealtime) {
266- auto func = [this ]() {
267- char c{};
268- pread (fd, &c, 1 , 0 );
269- };
270- expectRealtimeDeath (func, " pread" );
271- expectNonrealtimeSurvival (func);
272- }
273-
274- TEST_F (FdFixture, readvDiesWhenRealtime) {
275- auto func = [this ]() {
276- char c{};
277- iovec iov = {&c, 1 };
278- readv (fd, &iov, 1 );
279- };
280- expectRealtimeDeath (func, " readv" );
281- expectNonrealtimeSurvival (func);
282- }
283-
284- TEST_F (FdFixture, pwriteDiesWhenRealtime) {
285- auto func = [this ]() {
286- char c{};
287- pwrite (fd, &c, 1 , 0 );
288- };
289- expectRealtimeDeath (func, " pwrite" );
290- expectNonrealtimeSurvival (func);
291- }
292-
293- TEST_F (FdFixture, writevDiesWhenRealtime) {
294- auto func = [this ]() {
295- char c{};
296- iovec iov = {&c, 1 };
297- writev (fd, &iov, 1 );
298- };
299- expectRealtimeDeath (func, " writev" );
300- expectNonrealtimeSurvival (func);
301- }
302-
303- #endif // SANITIZER_APPLE
304-
305224TEST (TestRadsanInterceptors, fwriteDiesWhenRealtime) {
306225 auto fd = fopen (temporary_file_path (), " w" );
307226 ASSERT_NE (nullptr , fd);
@@ -314,7 +233,7 @@ TEST(TestRadsanInterceptors, fwriteDiesWhenRealtime) {
314233
315234TEST (TestRadsanInterceptors, fcloseDiesWhenRealtime) {
316235 auto fd = fopen (temporary_file_path (), " w" );
317- EXPECT_THAT (fd, Ne (nullptr )); // Avoids DCE
236+ EXPECT_THAT (fd, Ne (nullptr ));
318237 auto func = [fd]() { fclose (fd); };
319238 expectRealtimeDeath (func, " fclose" );
320239 expectNonrealtimeSurvival (func);
@@ -406,8 +325,7 @@ TEST(TestRadsanInterceptors, osUnfairLockLockDiesWhenRealtime) {
406325 expectRealtimeDeath (func, " os_unfair_lock_lock" );
407326 expectNonrealtimeSurvival (func);
408327}
409-
410- #endif // SANITIZER_APPLE
328+ #endif
411329
412330#if SANITIZER_LINUX
413331TEST (TestRadsanInterceptors, spinLockLockDiesWhenRealtime) {
0 commit comments