diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2019-08-05 13:57:03 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2019-08-05 13:57:03 +0000 |
| commit | 74989aff5351beaeb03f46fc2fe57752d57f848b (patch) | |
| tree | 39eacef15bfd9b675d7493f0845c12e5b3ec6ddc /compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp | |
| parent | 6ca6e91615dae42a087938a6ed0a6cbc0647f7ba (diff) | |
| download | bcm5719-llvm-74989aff5351beaeb03f46fc2fe57752d57f848b.tar.gz bcm5719-llvm-74989aff5351beaeb03f46fc2fe57752d57f848b.zip | |
compiler-rt: Rename cc files below test/sanitizer_common to cpp
See r367803 and similar other changes.
llvm-svn: 367863
Diffstat (limited to 'compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp')
| -rw-r--r-- | compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp new file mode 100644 index 00000000000..2cb8764f34b --- /dev/null +++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp @@ -0,0 +1,64 @@ +// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s +// +// UNSUPPORTED: linux, solaris + +#include <sys/param.h> +#include <sys/types.h> + +#include <sys/sysctl.h> + +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> + +#ifndef __arraycount +#define __arraycount(a) (sizeof(a) / sizeof(a[0])) +#endif + +void test_sysctl() { + char buf[100]; + size_t len = sizeof(buf); + int mib[] = {CTL_KERN, KERN_OSTYPE}; + int rv = sysctl(mib, __arraycount(mib), buf, &len, NULL, 0); + assert(!rv); + + printf("sysctl: '%s' size: '%zu'\n", buf, len); +} + +void test_sysctlbyname() { + char buf[100]; + size_t len = sizeof(buf); + int rv = sysctlbyname("kern.ostype", buf, &len, NULL, 0); + assert(!rv); + + printf("sysctlbyname: '%s' size: '%zu'\n", buf, len); +} + +void test_sysctlnametomib() { + int mib[CTL_MAXNAME]; + size_t mib_len = __arraycount(mib); + int rv = sysctlnametomib("kern.ostype", &mib[0], &mib_len); + assert(!rv); + + char buf[100]; + size_t len = sizeof(buf); + rv = sysctl(mib, mib_len, buf, &len, NULL, 0); + assert(!rv); + + printf("sysctlnametomib: '%s' size: '%zu'\n", buf, len); +} + +int main(void) { + printf("sysctl\n"); + + test_sysctl(); + test_sysctlbyname(); + test_sysctlnametomib(); + + // CHECK: sysctl + // CHECK: sysctl: '{{.*}}' size: '{{.*}}' + // CHECK: sysctlbyname: '{{.*}}' size: '{{.*}}' + // CHECK: sysctlnametomib: '{{.*}}' size: '{{.*}}' + + return 0; +} |

