summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-08-05 13:57:03 +0000
committerNico Weber <nicolasweber@gmx.de>2019-08-05 13:57:03 +0000
commit74989aff5351beaeb03f46fc2fe57752d57f848b (patch)
tree39eacef15bfd9b675d7493f0845c12e5b3ec6ddc /compiler-rt/test/sanitizer_common/TestCases/Posix/sysctl.cpp
parent6ca6e91615dae42a087938a6ed0a6cbc0647f7ba (diff)
downloadbcm5719-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.cpp64
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;
+}
OpenPOWER on IntegriCloud