diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-12 09:16:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-12 09:16:43 -0400 |
commit | 47e0de1a74505537788dad41a55a7bdc224462b9 (patch) | |
tree | 4ede496b97f530521de4ac8dacc26098f4ac368a /tools/testing | |
parent | 90eac7eee2f4257644dcfb9d22348fded7c24afd (diff) | |
parent | ce6a144a0d01c6628496e4c0d18fbf3a0362cc67 (diff) |
Merge tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kselftest updates from Shuah Khan:
- fix for missing arguments to printf
- fix to build failures on 32-bit systems.
- enhancement to run memfd_test run on all architectures as most
architectures support __NR_memfd_create
* tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
selftests/memfd: Run test on all architectures
memfd_test: Add missing argument to printf()
memfd_test: Make it work on 32-bit systems
Diffstat (limited to 'tools/testing')
-rw-r--r-- | tools/testing/selftests/memfd/Makefile | 21 | ||||
-rw-r--r-- | tools/testing/selftests/memfd/memfd_test.c | 36 |
2 files changed, 17 insertions, 40 deletions
diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile index ad4ab01cd28f..b80cd10d53ba 100644 --- a/tools/testing/selftests/memfd/Makefile +++ b/tools/testing/selftests/memfd/Makefile | |||
@@ -1,38 +1,17 @@ | |||
1 | uname_M := $(shell uname -m 2>/dev/null || echo not) | ||
2 | ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/) | ||
3 | ifeq ($(ARCH),i386) | ||
4 | ARCH := x86 | ||
5 | endif | ||
6 | ifeq ($(ARCH),x86_64) | ||
7 | ARCH := x86 | ||
8 | endif | ||
9 | |||
10 | CFLAGS += -D_FILE_OFFSET_BITS=64 | 1 | CFLAGS += -D_FILE_OFFSET_BITS=64 |
11 | CFLAGS += -I../../../../arch/x86/include/generated/uapi/ | ||
12 | CFLAGS += -I../../../../arch/x86/include/uapi/ | ||
13 | CFLAGS += -I../../../../include/uapi/ | 2 | CFLAGS += -I../../../../include/uapi/ |
14 | CFLAGS += -I../../../../include/ | 3 | CFLAGS += -I../../../../include/ |
15 | 4 | ||
16 | all: | 5 | all: |
17 | ifeq ($(ARCH),x86) | ||
18 | gcc $(CFLAGS) memfd_test.c -o memfd_test | 6 | gcc $(CFLAGS) memfd_test.c -o memfd_test |
19 | else | ||
20 | echo "Not an x86 target, can't build memfd selftest" | ||
21 | endif | ||
22 | 7 | ||
23 | run_tests: all | 8 | run_tests: all |
24 | ifeq ($(ARCH),x86) | ||
25 | gcc $(CFLAGS) memfd_test.c -o memfd_test | 9 | gcc $(CFLAGS) memfd_test.c -o memfd_test |
26 | endif | ||
27 | @./memfd_test || echo "memfd_test: [FAIL]" | 10 | @./memfd_test || echo "memfd_test: [FAIL]" |
28 | 11 | ||
29 | build_fuse: | 12 | build_fuse: |
30 | ifeq ($(ARCH),x86) | ||
31 | gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt | 13 | gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt |
32 | gcc $(CFLAGS) fuse_test.c -o fuse_test | 14 | gcc $(CFLAGS) fuse_test.c -o fuse_test |
33 | else | ||
34 | echo "Not an x86 target, can't build memfd selftest" | ||
35 | endif | ||
36 | 15 | ||
37 | run_fuse: build_fuse | 16 | run_fuse: build_fuse |
38 | @./run_fuse_test.sh || echo "fuse_test: [FAIL]" | 17 | @./run_fuse_test.sh || echo "fuse_test: [FAIL]" |
diff --git a/tools/testing/selftests/memfd/memfd_test.c b/tools/testing/selftests/memfd/memfd_test.c index 3634c909b1b0..0b9eafb7ab7b 100644 --- a/tools/testing/selftests/memfd/memfd_test.c +++ b/tools/testing/selftests/memfd/memfd_test.c | |||
@@ -59,9 +59,9 @@ static void mfd_fail_new(const char *name, unsigned int flags) | |||
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | static __u64 mfd_assert_get_seals(int fd) | 62 | static unsigned int mfd_assert_get_seals(int fd) |
63 | { | 63 | { |
64 | long r; | 64 | int r; |
65 | 65 | ||
66 | r = fcntl(fd, F_GET_SEALS); | 66 | r = fcntl(fd, F_GET_SEALS); |
67 | if (r < 0) { | 67 | if (r < 0) { |
@@ -69,50 +69,48 @@ static __u64 mfd_assert_get_seals(int fd) | |||
69 | abort(); | 69 | abort(); |
70 | } | 70 | } |
71 | 71 | ||
72 | return r; | 72 | return (unsigned int)r; |
73 | } | 73 | } |
74 | 74 | ||
75 | static void mfd_assert_has_seals(int fd, __u64 seals) | 75 | static void mfd_assert_has_seals(int fd, unsigned int seals) |
76 | { | 76 | { |
77 | __u64 s; | 77 | unsigned int s; |
78 | 78 | ||
79 | s = mfd_assert_get_seals(fd); | 79 | s = mfd_assert_get_seals(fd); |
80 | if (s != seals) { | 80 | if (s != seals) { |
81 | printf("%llu != %llu = GET_SEALS(%d)\n", | 81 | printf("%u != %u = GET_SEALS(%d)\n", seals, s, fd); |
82 | (unsigned long long)seals, (unsigned long long)s, fd); | ||
83 | abort(); | 82 | abort(); |
84 | } | 83 | } |
85 | } | 84 | } |
86 | 85 | ||
87 | static void mfd_assert_add_seals(int fd, __u64 seals) | 86 | static void mfd_assert_add_seals(int fd, unsigned int seals) |
88 | { | 87 | { |
89 | long r; | 88 | int r; |
90 | __u64 s; | 89 | unsigned int s; |
91 | 90 | ||
92 | s = mfd_assert_get_seals(fd); | 91 | s = mfd_assert_get_seals(fd); |
93 | r = fcntl(fd, F_ADD_SEALS, seals); | 92 | r = fcntl(fd, F_ADD_SEALS, seals); |
94 | if (r < 0) { | 93 | if (r < 0) { |
95 | printf("ADD_SEALS(%d, %llu -> %llu) failed: %m\n", | 94 | printf("ADD_SEALS(%d, %u -> %u) failed: %m\n", fd, s, seals); |
96 | fd, (unsigned long long)s, (unsigned long long)seals); | ||
97 | abort(); | 95 | abort(); |
98 | } | 96 | } |
99 | } | 97 | } |
100 | 98 | ||
101 | static void mfd_fail_add_seals(int fd, __u64 seals) | 99 | static void mfd_fail_add_seals(int fd, unsigned int seals) |
102 | { | 100 | { |
103 | long r; | 101 | int r; |
104 | __u64 s; | 102 | unsigned int s; |
105 | 103 | ||
106 | r = fcntl(fd, F_GET_SEALS); | 104 | r = fcntl(fd, F_GET_SEALS); |
107 | if (r < 0) | 105 | if (r < 0) |
108 | s = 0; | 106 | s = 0; |
109 | else | 107 | else |
110 | s = r; | 108 | s = (unsigned int)r; |
111 | 109 | ||
112 | r = fcntl(fd, F_ADD_SEALS, seals); | 110 | r = fcntl(fd, F_ADD_SEALS, seals); |
113 | if (r >= 0) { | 111 | if (r >= 0) { |
114 | printf("ADD_SEALS(%d, %llu -> %llu) didn't fail as expected\n", | 112 | printf("ADD_SEALS(%d, %u -> %u) didn't fail as expected\n", |
115 | fd, (unsigned long long)s, (unsigned long long)seals); | 113 | fd, s, seals); |
116 | abort(); | 114 | abort(); |
117 | } | 115 | } |
118 | } | 116 | } |
@@ -205,7 +203,7 @@ static void mfd_fail_open(int fd, int flags, mode_t mode) | |||
205 | sprintf(buf, "/proc/self/fd/%d", fd); | 203 | sprintf(buf, "/proc/self/fd/%d", fd); |
206 | r = open(buf, flags, mode); | 204 | r = open(buf, flags, mode); |
207 | if (r >= 0) { | 205 | if (r >= 0) { |
208 | printf("open(%s) didn't fail as expected\n"); | 206 | printf("open(%s) didn't fail as expected\n", buf); |
209 | abort(); | 207 | abort(); |
210 | } | 208 | } |
211 | } | 209 | } |