tools/perf/build: Clean up various testcases
authorIngo Molnar <mingo@kernel.org>
Wed, 2 Oct 2013 13:48:49 +0000 (15:48 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 9 Oct 2013 06:48:58 +0000 (08:48 +0200)
Prepare to include them into test-all.c directly, by making sure
that they build cleanly and without warnings.

Also make sure they make a certain amount of sense and don't crash
when executed.

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-Mn9gsdutzopoowk3xurqpsxE@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/perf/config/feature-checks/test-backtrace.c
tools/perf/config/feature-checks/test-cplus-demangle.c
tools/perf/config/feature-checks/test-gtk2-infobar.c
tools/perf/config/feature-checks/test-gtk2.c
tools/perf/config/feature-checks/test-libaudit.c
tools/perf/config/feature-checks/test-libbfd.c
tools/perf/config/feature-checks/test-libunwind.c
tools/perf/config/feature-checks/test-on-exit.c

index 5b79468..5b33bcf 100644 (file)
@@ -3,8 +3,12 @@
 
 int main(void)
 {
-       backtrace(NULL, 0);
-       backtrace_symbols(NULL, 0);
+       void *backtrace_fns[10];
+       size_t entries;
+
+       entries = backtrace(backtrace_fns, 10);
+       backtrace_symbols_fd(backtrace_fns, entries, 1);
 
        return 0;
 }
+
index 5202f50..ab29f80 100644 (file)
@@ -1,9 +1,14 @@
-
+extern int printf(const char *format, ...);
 extern char *cplus_demangle(const char *, int);
 
 int main(void)
 {
-       cplus_demangle(0, 0);
+       char symbol[4096] = "FieldName__9ClassNameFd";
+       char *tmp;
+
+       tmp = cplus_demangle(symbol, 0);
+
+       printf("demangled symbol: {%s}\n", tmp);
 
        return 0;
 }
index eebcfbc..397b464 100644 (file)
@@ -2,8 +2,9 @@
 #include <gtk/gtk.h>
 #pragma GCC diagnostic error "-Wstrict-prototypes"
 
-int main(void)
+int main(int argc, char *argv[])
 {
+       gtk_init(&argc, &argv);
        gtk_info_bar_new();
 
        return 0;
index 1ac6d8a..6bd80e5 100644 (file)
@@ -4,7 +4,7 @@
 
 int main(int argc, char *argv[])
 {
-        gtk_init(&argc, &argv);
+       gtk_init(&argc, &argv);
 
         return 0;
 }
index 854a65d..f7e791e 100644 (file)
@@ -1,5 +1,7 @@
 #include <libaudit.h>
 
+extern int printf(const char *format, ...);
+
 int main(void)
 {
        printf("error message: %s\n", audit_errno_to_name(0));
index d03339c..1886c78 100644 (file)
@@ -1,7 +1,16 @@
 #include <bfd.h>
 
+extern int printf(const char *format, ...);
+
 int main(void)
 {
-       bfd_demangle(0, 0, 0);
+       char symbol[4096] = "FieldName__9ClassNameFd";
+       char *tmp;
+
+       tmp = bfd_demangle(0, symbol, 0);
+
+       printf("demangled symbol: {%s}\n", tmp);
+
        return 0;
 }
+
index 5622746..43b9369 100644 (file)
@@ -10,11 +10,18 @@ extern int UNW_OBJ(dwarf_search_unwind_table) (unw_addr_space_t as,
 
 #define dwarf_search_unwind_table UNW_OBJ(dwarf_search_unwind_table)
 
+static unw_accessors_t accessors;
+
 int main(void)
 {
        unw_addr_space_t addr_space;
-       addr_space = unw_create_addr_space(NULL, 0);
+
+       addr_space = unw_create_addr_space(&accessors, 0);
+       if (addr_space)
+               return 0;
+
        unw_init_remote(NULL, addr_space, NULL);
        dwarf_search_unwind_table(addr_space, 0, NULL, NULL, 0, NULL);
+
        return 0;
 }
index 473f1de..8f64ed3 100644 (file)
@@ -1,6 +1,15 @@
 #include <stdio.h>
 
+static void exit_fn(int status, void *__data)
+{
+       printf("exit status: %d, data: %d\n", status, *(int *)__data);
+}
+
+static int data = 123;
+
 int main(void)
 {
-       return on_exit(NULL, NULL);
+       on_exit(exit_fn, &data);
+
+       return 321;
 }