1 POSIX标准
POSIX: Portable Operating System Interface of Unix.,可移植操作系统接口。X表示其是对Unix API的传承。 POSIX标准由IEEE(电气和电子工程师协会)发布,定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行软件而定义的一系列API标准的总称。 简单可以理解POSIX标准是为操作系统设计API时遵循的规范,一套规范的系统调用集。 POSIX标准主要包括以下几方面:Batch Environment Services、Development Utilities Index、Headers Index、Math Interfaces Index、Networking Services Index、Realtime Services Index、Threads Index。2 POSIX标准相关测试
Linux的ltp中提供了对POSIX测试用例:
testcases/open_posix_testsuite/ ├── AUTHORS ├── bin ├── conformance--POSIX一致性测试,检查头文件是否正确,API接口一致性测试等。参考《HOWTO_ConformanceTest》。 │ ├── behavior │ │ ├── Makefile │ │ ├── timers │ │ └── WIFEXITED │ ├── definitions │ │ ├── aio_h │ │ ├── errno_h │ │ ├── Makefile │ │ ├── mqueue_h │ │ ├── pthread_h │ │ ├── sched_h │ │ ├── signal_h │ │ ├── sys │ │ ├── time_h │ │ └── unistd_h │ ├── interfaces │ │ ├── access │ │ ├── aio_cancel │ │ ├── aio_error │ │ ├── aio_fsync │ │ ├── aio_read │ │ ├── aio_return │ │ ├── aio_suspend │ │ ├── aio_write │ │ ├── asctime │ │ ├── clock │ │ ├── clock_getcpuclockid │ │ ├── clock_getres │ │ ├── clock_gettime │ │ ├── clock_nanosleep │ │ ├── clock_settime │ │ ├── ctime │ │ ├── difftime │ │ ├── fork │ │ ├── fsync │ │ ├── getpid │ │ ├── gmtime │ │ ├── kill │ │ ├── killpg │ │ ├── lio_listio │ │ ├── localtime │ │ ├── Makefile │ │ ├── mktime │ │ ├── mlock │ │ ├── mlockall │ │ ├── mmap │ │ ├── mq_close │ │ ├── mq_getattr │ │ ├── mq_notify │ │ ├── mq_open │ │ ├── mq_receive │ │ ├── mq_send │ │ ├── mq_setattr │ │ ├── mq_timedreceive │ │ ├── mq_timedsend │ │ ├── mq_unlink │ │ ├── munlock │ │ ├── munlockall │ │ ├── munmap │ │ ├── nanosleep │ │ ├── pthread_atfork │ │ ├── pthread_attr_destroy │ │ ├── pthread_attr_getdetachstate │ │ ├── pthread_attr_getinheritsched │ │ ├── pthread_attr_getschedparam │ │ ├── pthread_attr_getschedpolicy │ │ ├── pthread_attr_getscope │ │ ├── pthread_attr_getstack │ │ ├── pthread_attr_getstacksize │ │ ├── pthread_attr_init │ │ ├── pthread_attr_setdetachstate │ │ ├── pthread_attr_setinheritsched │ │ ├── pthread_attr_setschedparam │ │ ├── pthread_attr_setschedpolicy │ │ ├── pthread_attr_setscope │ │ ├── pthread_attr_setstack │ │ ├── pthread_attr_setstacksize │ │ ├── pthread_barrierattr_destroy │ │ ├── pthread_barrierattr_getpshared │ │ ├── pthread_barrierattr_init │ │ ├── pthread_barrierattr_setpshared │ │ ├── pthread_barrier_destroy │ │ ├── pthread_barrier_init │ │ ├── pthread_barrier_wait │ │ ├── pthread_cancel │ │ ├── pthread_cleanup_pop │ │ ├── pthread_cleanup_push │ │ ├── pthread_condattr_destroy │ │ ├── pthread_condattr_getclock │ │ ├── pthread_condattr_getpshared │ │ ├── pthread_condattr_init │ │ ├── pthread_condattr_setclock │ │ ├── pthread_condattr_setpshared │ │ ├── pthread_cond_broadcast │ │ ├── pthread_cond_destroy │ │ ├── pthread_cond_init │ │ ├── pthread_cond_signal │ │ ├── pthread_cond_timedwait │ │ ├── pthread_cond_wait │ │ ├── pthread_create │ │ ├── pthread_detach │ │ ├── pthread_equal │ │ ├── pthread_exit │ │ ├── pthread_getcpuclockid │ │ ├── pthread_getschedparam │ │ ├── pthread_getspecific │ │ ├── pthread_join │ │ ├── pthread_key_create │ │ ├── pthread_key_delete │ │ ├── pthread_kill │ │ ├── pthread_mutexattr_destroy │ │ ├── pthread_mutexattr_getprioceiling │ │ ├── pthread_mutexattr_getprotocol │ │ ├── pthread_mutexattr_getpshared │ │ ├── pthread_mutexattr_gettype │ │ ├── pthread_mutexattr_init │ │ ├── pthread_mutexattr_setprioceiling │ │ ├── pthread_mutexattr_setprotocol │ │ ├── pthread_mutexattr_setpshared │ │ ├── pthread_mutexattr_settype │ │ ├── pthread_mutex_destroy │ │ ├── pthread_mutex_getprioceiling │ │ ├── pthread_mutex_init │ │ ├── pthread_mutex_lock │ │ ├── pthread_mutex_setprioceiling │ │ ├── pthread_mutex_timedlock │ │ ├── pthread_mutex_trylock │ │ ├── pthread_mutex_unlock │ │ ├── pthread_once │ │ ├── pthread_rwlockattr_destroy │ │ ├── pthread_rwlockattr_getpshared │ │ ├── pthread_rwlockattr_init │ │ ├── pthread_rwlockattr_setpshared │ │ ├── pthread_rwlock_destroy │ │ ├── pthread_rwlock_init │ │ ├── pthread_rwlock_rdlock │ │ ├── pthread_rwlock_timedrdlock │ │ ├── pthread_rwlock_timedwrlock │ │ ├── pthread_rwlock_tryrdlock │ │ ├── pthread_rwlock_trywrlock │ │ ├── pthread_rwlock_unlock │ │ ├── pthread_rwlock_wrlock │ │ ├── pthread_self │ │ ├── pthread_setcancelstate │ │ ├── pthread_setcanceltype │ │ ├── pthread_setschedparam │ │ ├── pthread_setschedprio │ │ ├── pthread_setspecific │ │ ├── pthread_sigmask │ │ ├── pthread_spin_destroy │ │ ├── pthread_spin_init │ │ ├── pthread_spin_lock │ │ ├── pthread_spin_trylock │ │ ├── pthread_spin_unlock │ │ ├── pthread_testcancel │ │ ├── raise │ │ ├── sched_getparam │ │ ├── sched_get_priority_max │ │ ├── sched_get_priority_min │ │ ├── sched_getscheduler │ │ ├── sched_rr_get_interval │ │ ├── sched_setparam │ │ ├── sched_setscheduler │ │ ├── sched_yield │ │ ├── sem_close │ │ ├── sem_destroy │ │ ├── sem_getvalue │ │ ├── sem_init │ │ ├── sem_open │ │ ├── sem_post │ │ ├── sem_timedwait │ │ ├── sem_unlink │ │ ├── sem_wait │ │ ├── shm_open │ │ ├── shm_unlink │ │ ├── sigaction │ │ ├── sigaddset │ │ ├── sigaltstack │ │ ├── sigdelset │ │ ├── sigemptyset │ │ ├── sigfillset │ │ ├── sighold │ │ ├── sigignore │ │ ├── sigismember │ │ ├── signal │ │ ├── sigpause │ │ ├── sigpending │ │ ├── sigprocmask │ │ ├── sigqueue │ │ ├── sigrelse │ │ ├── sigset │ │ ├── sigsuspend │ │ ├── sigtimedwait │ │ ├── sigwait │ │ ├── sigwaitinfo │ │ ├── strchr │ │ ├── strcpy │ │ ├── strftime │ │ ├── strlen │ │ ├── strncpy │ │ ├── testfrmw │ │ ├── time │ │ ├── timer_create │ │ ├── timer_delete │ │ ├── timer_getoverrun │ │ ├── timer_gettime │ │ └── timer_settime │ └── Makefile ├── Documentation ├── functional--功能性测试,包括MessageQueue、Semaphore、Thread、Timer,参考《HOWTO_FunctionalStressTest》。 │ ├── Makefile │ ├── mqueues │ │ ├── assertions.xml │ │ ├── coverage.txt │ │ ├── LDLIBS │ │ ├── plan.txt │ │ ├── send_rev_1.c │ │ └── send_rev_2.c │ ├── semaphores │ │ ├── assertions.xml │ │ ├── coverage.txt │ │ ├── LDLIBS │ │ ├── plan.txt │ │ ├── sem_conpro.c │ │ ├── sem_lock.c │ │ ├── sem_philosopher.c │ │ ├── sem_readerwriter.c │ │ └── sem_sleepingbarber.c │ ├── threads │ │ ├── condvar │ │ ├── Makefile │ │ ├── README │ │ └── schedule │ └── timers │ ├── assertions.xml │ ├── clocks │ ├── coverage.txt │ ├── Makefile │ ├── plan.txt │ └── timers ├── include ├── Makefile ├── NEWS ├── QUICK-START ├── README ├── scripts ├── stress--压力测试,针对模块包括MessageQueue、Semaphore、Signal、Thread、Timer。 │ ├── Makefile │ ├── mqueues │ │ ├── assertions.xml │ │ ├── coverage.txt │ │ ├── LDLIBS │ │ ├── mqueues_multi_send_rev_1.args │ │ ├── mqueues_multi_send_rev_2.args │ │ ├── multi_send_rev_1.c │ │ ├── multi_send_rev_2.c │ │ └── plan.txt │ ├── semaphores │ │ ├── assertions.xml │ │ ├── coverage.txt │ │ ├── LDLIBS │ │ ├── multi_con_pro.c │ │ └── plan.txt │ ├── signals │ │ └── sigismember_stress_1.c │ ├── threads │ │ ├── assertions.xml │ │ ├── fork │ │ ├── helper.c │ │ ├── LDLIBS │ │ ├── pthread_cancel │ │ ├── pthread_cond_init │ │ ├── pthread_cond_timedwait │ │ ├── pthread_cond_wait │ │ ├── pthread_create │ │ ├── pthread_exit │ │ ├── pthread_getschedparam │ │ ├── pthread_kill │ │ ├── pthread_mutex_init │ │ ├── pthread_mutex_lock │ │ ├── pthread_mutex_trylock │ │ ├── pthread_once │ │ ├── pthread_self │ │ ├── sem_getvalue │ │ ├── sem_init │ │ └── sem_open │ └── timers │ ├── keytests.sh │ └── plan.txt └── tools
标签:attr,init,POSIX,测试,pthread,一致性,destroy,sem,txt From: https://www.cnblogs.com/arnoldlu/p/18085910