1add_custom_target(libc_unistd_unittests) 2 3add_subdirectory(testdata) 4 5add_libc_unittest( 6 access_test 7 SUITE 8 libc_unistd_unittests 9 SRCS 10 access_test.cpp 11 DEPENDS 12 libc.include.unistd 13 libc.src.errno.errno 14 libc.src.fcntl.open 15 libc.src.unistd.access 16 libc.src.unistd.close 17 libc.src.unistd.unlink 18) 19 20add_libc_unittest( 21 chdir_test 22 SUITE 23 libc_unistd_unittests 24 SRCS 25 chdir_test.cpp 26 DEPENDS 27 libc.hdr.fcntl_macros 28 libc.include.unistd 29 libc.src.errno.errno 30 libc.src.unistd.chdir 31 libc.src.unistd.close 32 libc.src.fcntl.open 33 libc.test.UnitTest.ErrnoSetterMatcher 34) 35 36add_libc_unittest( 37 dup_test 38 SUITE 39 libc_unistd_unittests 40 SRCS 41 dup_test.cpp 42 DEPENDS 43 libc.include.unistd 44 libc.src.errno.errno 45 libc.src.fcntl.open 46 libc.src.unistd.close 47 libc.src.unistd.dup 48 libc.src.unistd.read 49 libc.src.unistd.unlink 50 libc.src.unistd.write 51 libc.test.UnitTest.ErrnoSetterMatcher 52) 53 54add_libc_unittest( 55 dup2_test 56 SUITE 57 libc_unistd_unittests 58 SRCS 59 dup2_test.cpp 60 DEPENDS 61 libc.include.unistd 62 libc.src.errno.errno 63 libc.src.fcntl.open 64 libc.src.unistd.close 65 libc.src.unistd.dup2 66 libc.src.unistd.read 67 libc.src.unistd.unlink 68 libc.src.unistd.write 69 libc.test.UnitTest.ErrnoSetterMatcher 70) 71 72add_libc_unittest( 73 dup3_test 74 SUITE 75 libc_unistd_unittests 76 SRCS 77 dup3_test.cpp 78 DEPENDS 79 libc.include.unistd 80 libc.src.errno.errno 81 libc.src.fcntl.open 82 libc.src.unistd.close 83 libc.src.unistd.dup3 84 libc.src.unistd.read 85 libc.src.unistd.unlink 86 libc.src.unistd.write 87 libc.test.UnitTest.ErrnoSetterMatcher 88) 89 90add_libc_unittest( 91 fchdir_test 92 SUITE 93 libc_unistd_unittests 94 SRCS 95 fchdir_test.cpp 96 DEPENDS 97 libc.include.unistd 98 libc.src.errno.errno 99 libc.src.fcntl.open 100 libc.src.unistd.fchdir 101 libc.src.unistd.close 102 libc.test.UnitTest.ErrnoSetterMatcher 103) 104 105add_libc_unittest( 106 ftruncate_test 107 SUITE 108 libc_unistd_unittests 109 SRCS 110 ftruncate_test.cpp 111 DEPENDS 112 libc.include.unistd 113 libc.src.errno.errno 114 libc.src.fcntl.open 115 libc.src.unistd.close 116 libc.src.unistd.read 117 libc.src.unistd.ftruncate 118 libc.src.unistd.unlink 119 libc.src.unistd.write 120 libc.src.__support.CPP.string_view 121) 122 123add_libc_unittest( 124 pread_pwrite_test 125 SUITE 126 libc_unistd_unittests 127 SRCS 128 pread_pwrite_test.cpp 129 DEPENDS 130 libc.include.unistd 131 libc.src.errno.errno 132 libc.src.fcntl.open 133 libc.src.unistd.close 134 libc.src.unistd.fsync 135 libc.src.unistd.pread 136 libc.src.unistd.pwrite 137 libc.src.unistd.unlink 138 libc.src.unistd.write 139 libc.test.UnitTest.ErrnoSetterMatcher 140) 141 142add_libc_unittest( 143 read_write_test 144 SUITE 145 libc_unistd_unittests 146 SRCS 147 read_write_test.cpp 148 DEPENDS 149 libc.include.unistd 150 libc.src.errno.errno 151 libc.src.fcntl.open 152 libc.src.unistd.close 153 libc.src.unistd.fsync 154 libc.src.unistd.read 155 libc.src.unistd.write 156 libc.src.stdio.remove 157 libc.test.UnitTest.ErrnoSetterMatcher 158) 159 160add_libc_unittest( 161 link_test 162 SUITE 163 libc_unistd_unittests 164 SRCS 165 link_test.cpp 166 DEPENDS 167 libc.include.unistd 168 libc.src.errno.errno 169 libc.src.fcntl.open 170 libc.src.unistd.close 171 libc.src.unistd.link 172 libc.src.unistd.unlink 173) 174 175add_libc_unittest( 176 linkat_test 177 SUITE 178 libc_unistd_unittests 179 SRCS 180 linkat_test.cpp 181 DEPENDS 182 libc.include.unistd 183 libc.src.errno.errno 184 libc.src.fcntl.open 185 libc.src.unistd.close 186 libc.src.unistd.linkat 187 libc.src.unistd.unlink 188) 189 190add_libc_unittest( 191 lseek_test 192 SUITE 193 libc_unistd_unittests 194 SRCS 195 lseek_test.cpp 196 DEPENDS 197 libc.include.unistd 198 libc.src.errno.errno 199 libc.src.fcntl.open 200 libc.src.unistd.close 201 libc.src.unistd.lseek 202 libc.src.unistd.read 203 libc.test.UnitTest.ErrnoSetterMatcher 204) 205 206add_libc_unittest( 207 pipe_test 208 SUITE 209 libc_unistd_unittests 210 SRCS 211 pipe_test.cpp 212 DEPENDS 213 libc.include.unistd 214 libc.src.errno.errno 215 libc.src.unistd.close 216 libc.src.unistd.pipe 217 libc.test.UnitTest.ErrnoSetterMatcher 218) 219 220add_libc_unittest( 221 pipe2_test 222 SUITE 223 libc_unistd_unittests 224 SRCS 225 pipe2_test.cpp 226 DEPENDS 227 libc.include.unistd 228 libc.src.errno.errno 229 libc.src.unistd.close 230 libc.src.unistd.pipe2 231 libc.test.UnitTest.ErrnoSetterMatcher 232) 233 234add_libc_unittest( 235 rmdir_test 236 SUITE 237 libc_unistd_unittests 238 SRCS 239 rmdir_test.cpp 240 DEPENDS 241 libc.hdr.fcntl_macros 242 libc.src.errno.errno 243 libc.src.sys.stat.mkdir 244 libc.src.unistd.rmdir 245) 246 247add_libc_unittest( 248 swab_test 249 SUITE 250 libc_unistd_unittests 251 SRCS 252 swab_test.cpp 253 DEPENDS 254 libc.src.unistd.swab 255) 256 257add_libc_unittest( 258 readlink_test 259 SUITE 260 libc_unistd_unittests 261 SRCS 262 readlink_test.cpp 263 DEPENDS 264 libc.include.unistd 265 libc.src.errno.errno 266 libc.src.unistd.readlink 267 libc.src.string.string_utils 268 libc.src.unistd.symlink 269 libc.src.unistd.unlink 270 libc.src.__support.CPP.string_view 271) 272 273add_libc_unittest( 274 readlinkat_test 275 SUITE 276 libc_unistd_unittests 277 SRCS 278 readlinkat_test.cpp 279 DEPENDS 280 libc.hdr.fcntl_macros 281 libc.include.unistd 282 libc.src.errno.errno 283 libc.src.unistd.readlinkat 284 libc.src.string.string_utils 285 libc.src.unistd.symlink 286 libc.src.unistd.unlink 287 libc.src.__support.CPP.string_view 288) 289 290add_libc_unittest( 291 symlink_test 292 SUITE 293 libc_unistd_unittests 294 SRCS 295 symlink_test.cpp 296 DEPENDS 297 libc.include.unistd 298 libc.src.errno.errno 299 libc.src.fcntl.open 300 libc.src.unistd.close 301 libc.src.unistd.symlink 302 libc.src.unistd.unlink 303) 304 305add_libc_unittest( 306 symlinkat_test 307 SUITE 308 libc_unistd_unittests 309 SRCS 310 symlinkat_test.cpp 311 DEPENDS 312 libc.include.unistd 313 libc.src.errno.errno 314 libc.src.fcntl.open 315 libc.src.unistd.close 316 libc.src.unistd.symlinkat 317 libc.src.unistd.unlink 318) 319 320add_libc_unittest( 321 truncate_test 322 SUITE 323 libc_unistd_unittests 324 SRCS 325 truncate_test.cpp 326 DEPENDS 327 libc.include.unistd 328 libc.src.errno.errno 329 libc.src.fcntl.open 330 libc.src.unistd.close 331 libc.src.unistd.read 332 libc.src.unistd.truncate 333 libc.src.unistd.unlink 334 libc.src.unistd.write 335 libc.src.__support.CPP.string_view 336) 337 338add_libc_unittest( 339 unlink_test 340 SUITE 341 libc_unistd_unittests 342 SRCS 343 unlink_test.cpp 344 DEPENDS 345 libc.include.unistd 346 libc.src.errno.errno 347 libc.src.fcntl.open 348 libc.src.unistd.close 349 libc.src.unistd.unlink 350) 351 352add_libc_unittest( 353 unlinkat_test 354 SUITE 355 libc_unistd_unittests 356 SRCS 357 unlinkat_test.cpp 358 DEPENDS 359 libc.include.unistd 360 libc.src.errno.errno 361 libc.src.fcntl.open 362 libc.src.fcntl.openat 363 libc.src.unistd.close 364 libc.src.unistd.unlinkat 365) 366 367add_libc_unittest( 368 getpid_test 369 SUITE 370 libc_unistd_unittests 371 SRCS 372 getpid_test.cpp 373 DEPENDS 374 libc.src.unistd.getpid 375) 376 377add_libc_unittest( 378 getppid_test 379 SUITE 380 libc_unistd_unittests 381 SRCS 382 getppid_test.cpp 383 DEPENDS 384 libc.src.unistd.getppid 385) 386 387add_libc_unittest( 388 getuid_test 389 SUITE 390 libc_unistd_unittests 391 SRCS 392 getuid_test.cpp 393 DEPENDS 394 libc.src.unistd.getuid 395) 396 397add_libc_unittest( 398 isatty_test 399 SUITE 400 libc_unistd_unittests 401 SRCS 402 isatty_test.cpp 403 DEPENDS 404 libc.src.unistd.isatty 405 libc.src.fcntl.open 406 libc.src.unistd.close 407 libc.src.errno.errno 408) 409 410add_libc_unittest( 411 geteuid_test 412 SUITE 413 libc_unistd_unittests 414 SRCS 415 geteuid_test.cpp 416 DEPENDS 417 libc.src.unistd.geteuid 418) 419 420add_libc_unittest( 421 syscall_test 422 SUITE 423 libc_unistd_unittests 424 SRCS 425 syscall_test.cpp 426 DEPENDS 427 libc.include.unistd 428 libc.hdr.fcntl_macros 429 libc.include.sys_syscall 430 libc.src.errno.errno 431 libc.src.unistd.__llvm_libc_syscall 432 libc.test.UnitTest.ErrnoSetterMatcher 433) 434 435 436add_libc_unittest( 437 sysconf_test 438 SUITE 439 libc_unistd_unittests 440 SRCS 441 sysconf_test.cpp 442 DEPENDS 443 libc.include.unistd 444 libc.src.unistd.sysconf 445) 446 447add_libc_unittest( 448 fpathconf_test 449 SUITE 450 libc_unistd_unittests 451 SRCS 452 fpathconf_test.cpp 453 DEPENDS 454 libc.hdr.limits_macros 455 libc.hdr.unistd_macros 456 libc.hdr.sys_stat_macros 457 libc.src.unistd.fpathconf 458 libc.src.fcntl.open 459 libc.src.unistd.close 460) 461 462add_libc_unittest( 463 pathconf_test 464 SUITE 465 libc_unistd_unittests 466 SRCS 467 pathconf_test.cpp 468 DEPENDS 469 libc.hdr.limits_macros 470 libc.hdr.unistd_macros 471 libc.hdr.sys_stat_macros 472 libc.src.unistd.pathconf 473 libc.src.fcntl.open 474 libc.src.unistd.close 475) 476 477add_libc_test( 478 getopt_test 479 HERMETIC_TEST_ONLY # Uses libc's own stderr 480 SUITE 481 libc_unistd_unittests 482 SRCS 483 getopt_test.cpp 484 DEPENDS 485 libc.src.unistd.getopt 486 libc.src.__support.CPP.array 487 libc.src.stdio.fopencookie 488 libc.src.stdio.fflush 489) 490 491add_libc_test( 492 getentropy_test 493 SUITE 494 libc_unistd_unittests 495 SRCS 496 getentropy_test.cpp 497 DEPENDS 498 libc.src.unistd.getentropy 499 libc.src.errno.errno 500 libc.test.UnitTest.ErrnoSetterMatcher 501) 502 503if(LLVM_LIBC_FULL_BUILD) 504 add_libc_test( 505 _exit_test 506 UNIT_TEST_ONLY 507 SUITE 508 libc_unistd_unittests 509 SRCS 510 _exit_test.cpp 511 DEPENDS 512 libc.include.unistd 513 libc.src.unistd._exit 514 ) 515endif() 516