tests: compile all unit tests as C++
[lttng-tools.git] / tests / utils / testapp / gen-ust-events-ns / gen-ust-events-ns.c
index 7b02a03ea9a3aadc6ae547b971ac78220fadaf48..dadfc3d3a00301bc81ba044ef19403585812ccda 100644 (file)
@@ -1,18 +1,8 @@
 /*
  * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
  *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by the
- * Free Software Foundation; version 2.1 of the License.
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
 #ifndef _GNU_SOURCE
@@ -65,6 +55,9 @@
 #ifndef CLONE_NEWNET
 #define CLONE_NEWNET    0x40000000
 #endif
+#ifndef CLONE_NEWTIME
+#define CLONE_NEWTIME   0x00000080
+#endif
 
 static int nr_iter = 100;
 static int debug = 0;
@@ -98,7 +91,7 @@ static void debug_printf(const char *format, ...)
 
 static int get_ns_inum(const char *ns, ino_t *ns_inum)
 {
-       int ret = 0;
+       int ret = -1;
        struct stat sb;
        char proc_ns_path[LTTNG_PROC_NS_PATH_MAX];
 
@@ -109,8 +102,7 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
                        "/proc/thread-self/ns/%s", ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
-               } else {
-                       ret = -1;
+                       ret = 0;
                }
                goto end;
        }
@@ -119,8 +111,7 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
                        "/proc/self/task/%d/%s/net", lttng_gettid(), ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
-               } else {
-                       ret = -1;
+                       ret = 0;
                }
                goto end;
        }
@@ -243,7 +234,7 @@ int main(int argc, const char **argv)
                goto end;
        }
 
-       if (strncmp(ns_opt, "cgroup", 3) == 0) {
+       if (strncmp(ns_opt, "cgroup", 6) == 0) {
                ret = do_the_needful(CLONE_NEWCGROUP, "cgroup");
        } else if (strncmp(ns_opt, "ipc", 3) == 0) {
                ret = do_the_needful(CLONE_NEWIPC, "ipc");
@@ -253,7 +244,9 @@ int main(int argc, const char **argv)
                ret = do_the_needful(CLONE_NEWNET, "net");
        } else if (strncmp(ns_opt, "pid", 3) == 0) {
                ret = do_the_needful(CLONE_NEWPID, "pid");
-       } else if (strncmp(ns_opt, "user", 3) == 0) {
+       } else if (strncmp(ns_opt, "time", 4) == 0) {
+               ret = do_the_needful(CLONE_NEWTIME, "time");
+       } else if (strncmp(ns_opt, "user", 4) == 0) {
                /*
                 * Will always fail, requires a single threaded application,
                 * which can't happen with UST.
This page took 0.024121 seconds and 4 git commands to generate.