summaryrefslogtreecommitdiff
path: root/tools/perf/tests/pmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/tests/pmu.c')
-rw-r--r--tools/perf/tests/pmu.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/perf/tests/pmu.c b/tools/perf/tests/pmu.c
index 8507bd615e97..3cf25f883df7 100644
--- a/tools/perf/tests/pmu.c
+++ b/tools/perf/tests/pmu.c
@@ -3,6 +3,7 @@
#include "pmu.h"
#include "tests.h"
#include <errno.h>
+#include <fcntl.h>
#include <stdio.h>
#include <linux/kernel.h>
#include <linux/limits.h>
@@ -149,10 +150,16 @@ static int test__pmu(struct test_suite *test __maybe_unused, int subtest __maybe
do {
struct perf_event_attr attr;
+ int fd;
memset(&attr, 0, sizeof(attr));
- ret = perf_pmu__format_parse(format, &formats);
+ fd = open(format, O_DIRECTORY);
+ if (fd < 0) {
+ ret = fd;
+ break;
+ }
+ ret = perf_pmu__format_parse(fd, &formats);
if (ret)
break;