aboutsummaryrefslogtreecommitdiffstats
path: root/trace-read.c
diff options
context:
space:
mode:
Diffstat (limited to 'trace-read.c')
-rw-r--r--trace-read.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/trace-read.c b/trace-read.c
index 38e3534..2e45bff 100644
--- a/trace-read.c
+++ b/trace-read.c
@@ -826,6 +826,7 @@ static void process_plugin_option(char *option)
826} 826}
827 827
828enum { 828enum {
829 OPT_check_event_parsing = 252,
829 OPT_kallsyms = 253, 830 OPT_kallsyms = 253,
830 OPT_events = 254, 831 OPT_events = 254,
831 OPT_cpu = 255, 832 OPT_cpu = 255,
@@ -848,6 +849,8 @@ void trace_report (int argc, char **argv)
848 int test_filters = 0; 849 int test_filters = 0;
849 int raw = 0; 850 int raw = 0;
850 int neg = 0; 851 int neg = 0;
852 int ret = 0;
853 int check_event_parsing = 0;
851 int c; 854 int c;
852 855
853 list_head_init(&handle_list); 856 list_head_init(&handle_list);
@@ -868,6 +871,8 @@ void trace_report (int argc, char **argv)
868 {"events", no_argument, NULL, OPT_events}, 871 {"events", no_argument, NULL, OPT_events},
869 {"filter-test", no_argument, NULL, 'T'}, 872 {"filter-test", no_argument, NULL, 'T'},
870 {"kallsyms", required_argument, NULL, OPT_kallsyms}, 873 {"kallsyms", required_argument, NULL, OPT_kallsyms},
874 {"check-events", no_argument, NULL,
875 OPT_check_event_parsing},
871 {"help", no_argument, NULL, '?'}, 876 {"help", no_argument, NULL, '?'},
872 {NULL, 0, NULL, 0} 877 {NULL, 0, NULL, 0}
873 }; 878 };
@@ -948,6 +953,9 @@ void trace_report (int argc, char **argv)
948 case OPT_kallsyms: 953 case OPT_kallsyms:
949 functions = optarg; 954 functions = optarg;
950 break; 955 break;
956 case OPT_check_event_parsing:
957 check_event_parsing = 1;
958 break;
951 default: 959 default:
952 usage(argv); 960 usage(argv);
953 } 961 }
@@ -1005,8 +1013,16 @@ void trace_report (int argc, char **argv)
1005 return; 1013 return;
1006 } 1014 }
1007 1015
1008 if (tracecmd_read_headers(handle) < 0) 1016 ret = tracecmd_read_headers(handle);
1009 return; 1017 if (check_event_parsing) {
1018 if (ret || pevent->parsing_failures)
1019 exit(EINVAL);
1020 else
1021 exit(0);
1022 } else {
1023 if (ret)
1024 return;
1025 }
1010 1026
1011 if (show_funcs) { 1027 if (show_funcs) {
1012 pevent_print_funcs(pevent); 1028 pevent_print_funcs(pevent);