diff --git a/tests/Makefile b/tests/Makefile index 15e6cee70e073d4b410c091cd60eb367ba745b20..e1682dd0bdddefaafdf5a87fdee7fb09bdc1509c 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -98,6 +98,7 @@ EXPECT_NAMES=\ tls \ unistd/access \ unistd/brk \ + unistd/constants \ unistd/dup \ unistd/exec \ unistd/fchdir \ diff --git a/tests/expected/bins_static/unistd/constants.stderr b/tests/expected/bins_static/unistd/constants.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/bins_static/unistd/constants.stdout b/tests/expected/bins_static/unistd/constants.stdout new file mode 100644 index 0000000000000000000000000000000000000000..90c907f1ffd8e3a382bb8d8e67bab1b00a2c76be --- /dev/null +++ b/tests/expected/bins_static/unistd/constants.stdout @@ -0,0 +1,16 @@ +_POSIX_VERSION: 200809 +NULL: (nil) +R_OK: 4 +W_OK: 2 +X_OK: 1 +F_OK: 0 +SEEK_SET: 0 +SEEK_CUR: 1 +SEEK_END: 2 +F_LOCK: 1 +F_ULOCK: 0 +F_TEST: 3 +F_TLOCK: 2 +STDIN_FILENO: 0 +STDOUT_FILENO: 1 +STDERR_FILENO: 2 diff --git a/tests/unistd/constants.c b/tests/unistd/constants.c new file mode 100644 index 0000000000000000000000000000000000000000..46549c54a3247c12090faca89b106dc45a50fea8 --- /dev/null +++ b/tests/unistd/constants.c @@ -0,0 +1,123 @@ +#include <unistd.h> +#include <stdio.h> + +#include "test_helpers.h" + +int main(void) { + // Constants specified in https://pubs.opengroup.org/onlinepubs/7908799/xsh/unistd.h.html + + printf("_POSIX_VERSION: %ld\n", _POSIX_VERSION); + /* TODO + printf("_POSIX2_VERSION: %ld\n", _POSIX2_VERSION); + printf("_POSIX2_C_VERSION: %ld\n", _POSIX2_C_VERSION); + printf("_XOPEN_VERSION: %d\n", _XOPEN_VERSION); + + printf("_XOPEN_XCU_VERSION: %d\n", _XOPEN_XCU_VERSION); + + printf("_XOPEN_XPG2: %d\n", _XOPEN_XPG2); + printf("_XOPEN_XPG3: %d\n", _XOPEN_XPG3); + printf("_XOPEN_XPG4: %d\n", _XOPEN_XPG4); + printf("_XOPEN_UNIX: %d\n", _XOPEN_UNIX); + + printf("_POSIX_CHOWN_RESTRICTED: %d\n", _POSIX_CHOWN_RESTRICTED); + printf("_POSIX_NO_TRUNC: %d\n", _POSIX_NO_TRUNC); + printf("_POSIX_VDISABLE: %d\n", _POSIX_VDISABLE); + printf("_POSIX_SAVED_IDS: %d\n", _POSIX_SAVED_IDS); + printf("_POSIX_JOB_CONTROL: %d\n", _POSIX_JOB_CONTROL); + printf("_POSIX_THREADS: %ld\n", _POSIX_THREADS); + printf("_POSIX_THREAD_ATTR_STACKADDR: %ld\n", _POSIX_THREAD_ATTR_STACKADDR); + printf("_POSIX_THREAD_ATTR_STACKSIZE: %ld\n", _POSIX_THREAD_ATTR_STACKSIZE); + printf("_POSIX_THREAD_PROCESS_SHARED: %ld\n", _POSIX_THREAD_PROCESS_SHARED); + printf("_POSIX_THREAD_SAFE_FUNCTIONS: %ld\n", _POSIX_THREAD_SAFE_FUNCTIONS); + + printf("_POSIX2_C_BIND: %ld\n", _POSIX2_C_BIND); + printf("_POSIX2_C_DEV: %ld\n", _POSIX2_C_DEV); + printf("_POSIX2_CHAR_TERM: %ld\n", _POSIX2_CHAR_TERM); + printf("_POSIX2_FORT_DEV: %d\n", _POSIX2_FORT_DEV); + printf("_POSIX2_FORT_RUN: %d\n", _POSIX2_FORT_RUN); + printf("_POSIX2_LOCALEDEF: %ld\n", _POSIX2_LOCALEDEF); + printf("_POSIX2_SW_DEV: %ld\n", _POSIX2_SW_DEV); + printf("_POSIX2_UPE: %d\n", _POSIX2_UPE); + printf("_XOPEN_CRYPT: %d\n", _XOPEN_CRYPT); + printf("_XOPEN_ENH_I18N: %d\n", _XOPEN_ENH_I18N); + printf("_XOPEN_LEGACY: %d\n", _XOPEN_LEGACY); + printf("_XOPEN_REALTIME: %d\n", _XOPEN_REALTIME); + printf("_XOPEN_REALTIME_THREADS: %d\n", _XOPEN_REALTIME_THREADS); + printf("_XOPEN_SHM: %d\n", _XOPEN_SHM); + printf("_XBS5_ILP32_OFF32: %d\n", _XBS5_ILP32_OFF32); + printf("_XBS5_ILP32_OFFBIG: %d\n", _XBS5_ILP32_OFFBIG); + printf("_XBS5_LP64_OFF64: %d\n", _XBS5_LP64_OFF64); + printf("_XBS5_LPBIG_OFFBIG: %d\n", _XBS5_LPBIG_OFFBIG); + + printf("_POSIX_ASYNCHRONOUS_IO: %ld\n", _POSIX_ASYNCHRONOUS_IO); + printf("_POSIX_MEMLOCK: %ld\n", _POSIX_MEMLOCK); + printf("_POSIX_MEMLOCK_RANGE: %ld\n", _POSIX_MEMLOCK_RANGE); + printf("_POSIX_MESSAGE_PASSING: %ld\n", _POSIX_MESSAGE_PASSING); + printf("_POSIX_PRIORITY_SCHEDULING: %ld\n", _POSIX_PRIORITY_SCHEDULING); + printf("_POSIX_REALTIME_SIGNALS: %ld\n", _POSIX_REALTIME_SIGNALS); + printf("_POSIX_SEMAPHORES: %ld\n", _POSIX_SEMAPHORES); + printf("_POSIX_SHARED_MEMORY_OBJECTS: %ld\n", _POSIX_SHARED_MEMORY_OBJECTS); + printf("_POSIX_SYNCHRONIZED_IO: %ld\n", _POSIX_SYNCHRONIZED_IO); + printf("_POSIX_TIMERS: %ld\n", _POSIX_TIMERS); + + printf("_POSIX_FSYNC: %ld\n", _POSIX_FSYNC); + printf("_POSIX_MAPPED_FILES: %ld\n", _POSIX_MAPPED_FILES); + printf("_POSIX_MEMORY_PROTECTION: %ld\n", _POSIX_MEMORY_PROTECTION); + + printf("_POSIX_PRIORITIZED_IO: %ld\n", _POSIX_PRIORITIZED_IO); + + printf("_POSIX_THREAD_PRIORITY_SCHEDULING: %ld\n", _POSIX_THREAD_PRIORITY_SCHEDULING); + printf("_POSIX_THREAD_PRIO_INHERIT: %ld\n", _POSIX_THREAD_PRIO_INHERIT); + printf("_POSIX_THREAD_PRIO_PROTECT: %ld\n", _POSIX_THREAD_PRIO_PROTECT); + + printf("_POSIX_ASYNC_IO: %d\n", _POSIX_ASYNC_IO); + printf("_POSIX_PRIO_IO: %d\n", _POSIX_PRIO_IO); + printf("_POSIX_SYNC_IO: %d\n", _POSIX_SYNC_IO); + */ + + printf("NULL: %p\n", NULL); + + printf("R_OK: %d\n", R_OK); + printf("W_OK: %d\n", W_OK); + printf("X_OK: %d\n", X_OK); + printf("F_OK: %d\n", F_OK); + + /* TODO: confstr() constants: + printf("_CS_PATH: %d\n", _CS_PATH); + printf("_CS_XBS5_ILP32_OFF32_CFLAGS: %d\n", _CS_XBS5_ILP32_OFF32_CFLAGS); + printf("_CS_XBS5_ILP32_OFF32_LDFLAGS: %d\n", _CS_XBS5_ILP32_OFF32_LDFLAGS); + printf("_CS_XBS5_ILP32_OFF32_LIBS: %d\n", _CS_XBS5_ILP32_OFF32_LIBS); + printf("_CS_XBS5_ILP32_OFF32_LINTFLAGS: %d\n", _CS_XBS5_ILP32_OFF32_LINTFLAGS); + printf("_CS_XBS5_ILP32_OFFBIG_CFLAGS: %d\n", _CS_XBS5_ILP32_OFFBIG_CFLAGS); + printf("_CS_XBS5_ILP32_OFFBIG_LDFLAGS: %d\n", _CS_XBS5_ILP32_OFFBIG_LDFLAGS); + printf("_CS_XBS5_ILP32_OFFBIG_LIBS: %d\n", _CS_XBS5_ILP32_OFFBIG_LIBS); + printf("_CS_XBS5_ILP32_OFFBIG_LINTFLAGS: %d\n", _CS_XBS5_ILP32_OFFBIG_LINTFLAGS); + printf("_CS_XBS5_LP64_OFF64_CFLAGS: %d\n", _CS_XBS5_LP64_OFF64_CFLAGS); + printf("_CS_XBS5_LP64_OFF64_LDFLAGS: %d\n", _CS_XBS5_LP64_OFF64_LDFLAGS); + printf("_CS_XBS5_LP64_OFF64_LIBS: %d\n", _CS_XBS5_LP64_OFF64_LIBS); + printf("_CS_XBS5_LP64_OFF64_LINTFLAGS: %d\n", _CS_XBS5_LP64_OFF64_LINTFLAGS); + printf("_CS_XBS5_LPBIG_OFFBIG_CFLAGS: %d\n", _CS_XBS5_LPBIG_OFFBIG_CFLAGS); + printf("_CS_XBS5_LPBIG_OFFBIG_LDFLAGS: %d\n", _CS_XBS5_LPBIG_OFFBIG_LDFLAGS); + printf("_CS_XBS5_LPBIG_OFFBIG_LIBS: %d\n", _CS_XBS5_LPBIG_OFFBIG_LIBS); + printf("_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: %d\n", _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS); + */ + + printf("SEEK_SET: %d\n", SEEK_SET); + printf("SEEK_CUR: %d\n", SEEK_CUR); + printf("SEEK_END: %d\n", SEEK_END); + + // sysconf() constants (_SC_*) are tested separately + + printf("F_LOCK: %d\n", F_LOCK); + printf("F_ULOCK: %d\n", F_ULOCK); + printf("F_TEST: %d\n", F_TEST); + printf("F_TLOCK: %d\n", F_TLOCK); + + // pathconf() constants (_PC_*) are tested separately + + printf("STDIN_FILENO: %d\n", STDIN_FILENO); + printf("STDOUT_FILENO: %d\n", STDOUT_FILENO); + printf("STDERR_FILENO: %d\n", STDERR_FILENO); + + return 0; +}