diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/nvdimm/test/nfit.c | 8 | ||||
-rwxr-xr-x | tools/testing/selftests/efivarfs/efivarfs.sh | 19 | ||||
-rw-r--r-- | tools/testing/selftests/efivarfs/open-unlink.c | 72 | ||||
-rw-r--r-- | tools/testing/selftests/ftrace/test.d/instances/instance.tc | 15 |
4 files changed, 98 insertions, 16 deletions
diff --git a/tools/testing/nvdimm/test/nfit.c b/tools/testing/nvdimm/test/nfit.c index 90bd2ea41032..b3281dcd4a5d 100644 --- a/tools/testing/nvdimm/test/nfit.c +++ b/tools/testing/nvdimm/test/nfit.c | |||
@@ -217,13 +217,16 @@ static int nfit_test_cmd_set_config_data(struct nd_cmd_set_config_hdr *nd_cmd, | |||
217 | return rc; | 217 | return rc; |
218 | } | 218 | } |
219 | 219 | ||
220 | #define NFIT_TEST_ARS_RECORDS 4 | ||
221 | |||
220 | static int nfit_test_cmd_ars_cap(struct nd_cmd_ars_cap *nd_cmd, | 222 | static int nfit_test_cmd_ars_cap(struct nd_cmd_ars_cap *nd_cmd, |
221 | unsigned int buf_len) | 223 | unsigned int buf_len) |
222 | { | 224 | { |
223 | if (buf_len < sizeof(*nd_cmd)) | 225 | if (buf_len < sizeof(*nd_cmd)) |
224 | return -EINVAL; | 226 | return -EINVAL; |
225 | 227 | ||
226 | nd_cmd->max_ars_out = 256; | 228 | nd_cmd->max_ars_out = sizeof(struct nd_cmd_ars_status) |
229 | + NFIT_TEST_ARS_RECORDS * sizeof(struct nd_ars_record); | ||
227 | nd_cmd->status = (ND_ARS_PERSISTENT | ND_ARS_VOLATILE) << 16; | 230 | nd_cmd->status = (ND_ARS_PERSISTENT | ND_ARS_VOLATILE) << 16; |
228 | 231 | ||
229 | return 0; | 232 | return 0; |
@@ -246,7 +249,8 @@ static int nfit_test_cmd_ars_status(struct nd_cmd_ars_status *nd_cmd, | |||
246 | if (buf_len < sizeof(*nd_cmd)) | 249 | if (buf_len < sizeof(*nd_cmd)) |
247 | return -EINVAL; | 250 | return -EINVAL; |
248 | 251 | ||
249 | nd_cmd->out_length = 256; | 252 | nd_cmd->out_length = sizeof(struct nd_cmd_ars_status); |
253 | /* TODO: emit error records */ | ||
250 | nd_cmd->num_records = 0; | 254 | nd_cmd->num_records = 0; |
251 | nd_cmd->address = 0; | 255 | nd_cmd->address = 0; |
252 | nd_cmd->length = -1ULL; | 256 | nd_cmd->length = -1ULL; |
diff --git a/tools/testing/selftests/efivarfs/efivarfs.sh b/tools/testing/selftests/efivarfs/efivarfs.sh index 77edcdcc016b..057278448515 100755 --- a/tools/testing/selftests/efivarfs/efivarfs.sh +++ b/tools/testing/selftests/efivarfs/efivarfs.sh | |||
@@ -88,7 +88,11 @@ test_delete() | |||
88 | exit 1 | 88 | exit 1 |
89 | fi | 89 | fi |
90 | 90 | ||
91 | rm $file | 91 | rm $file 2>/dev/null |
92 | if [ $? -ne 0 ]; then | ||
93 | chattr -i $file | ||
94 | rm $file | ||
95 | fi | ||
92 | 96 | ||
93 | if [ -e $file ]; then | 97 | if [ -e $file ]; then |
94 | echo "$file couldn't be deleted" >&2 | 98 | echo "$file couldn't be deleted" >&2 |
@@ -111,6 +115,7 @@ test_zero_size_delete() | |||
111 | exit 1 | 115 | exit 1 |
112 | fi | 116 | fi |
113 | 117 | ||
118 | chattr -i $file | ||
114 | printf "$attrs" > $file | 119 | printf "$attrs" > $file |
115 | 120 | ||
116 | if [ -e $file ]; then | 121 | if [ -e $file ]; then |
@@ -141,7 +146,11 @@ test_valid_filenames() | |||
141 | echo "$file could not be created" >&2 | 146 | echo "$file could not be created" >&2 |
142 | ret=1 | 147 | ret=1 |
143 | else | 148 | else |
144 | rm $file | 149 | rm $file 2>/dev/null |
150 | if [ $? -ne 0 ]; then | ||
151 | chattr -i $file | ||
152 | rm $file | ||
153 | fi | ||
145 | fi | 154 | fi |
146 | done | 155 | done |
147 | 156 | ||
@@ -174,7 +183,11 @@ test_invalid_filenames() | |||
174 | 183 | ||
175 | if [ -e $file ]; then | 184 | if [ -e $file ]; then |
176 | echo "Creating $file should have failed" >&2 | 185 | echo "Creating $file should have failed" >&2 |
177 | rm $file | 186 | rm $file 2>/dev/null |
187 | if [ $? -ne 0 ]; then | ||
188 | chattr -i $file | ||
189 | rm $file | ||
190 | fi | ||
178 | ret=1 | 191 | ret=1 |
179 | fi | 192 | fi |
180 | done | 193 | done |
diff --git a/tools/testing/selftests/efivarfs/open-unlink.c b/tools/testing/selftests/efivarfs/open-unlink.c index 8c0764407b3c..4af74f733036 100644 --- a/tools/testing/selftests/efivarfs/open-unlink.c +++ b/tools/testing/selftests/efivarfs/open-unlink.c | |||
@@ -1,10 +1,68 @@ | |||
1 | #include <errno.h> | ||
1 | #include <stdio.h> | 2 | #include <stdio.h> |
2 | #include <stdint.h> | 3 | #include <stdint.h> |
3 | #include <stdlib.h> | 4 | #include <stdlib.h> |
4 | #include <unistd.h> | 5 | #include <unistd.h> |
6 | #include <sys/ioctl.h> | ||
5 | #include <sys/types.h> | 7 | #include <sys/types.h> |
6 | #include <sys/stat.h> | 8 | #include <sys/stat.h> |
7 | #include <fcntl.h> | 9 | #include <fcntl.h> |
10 | #include <linux/fs.h> | ||
11 | |||
12 | static int set_immutable(const char *path, int immutable) | ||
13 | { | ||
14 | unsigned int flags; | ||
15 | int fd; | ||
16 | int rc; | ||
17 | int error; | ||
18 | |||
19 | fd = open(path, O_RDONLY); | ||
20 | if (fd < 0) | ||
21 | return fd; | ||
22 | |||
23 | rc = ioctl(fd, FS_IOC_GETFLAGS, &flags); | ||
24 | if (rc < 0) { | ||
25 | error = errno; | ||
26 | close(fd); | ||
27 | errno = error; | ||
28 | return rc; | ||
29 | } | ||
30 | |||
31 | if (immutable) | ||
32 | flags |= FS_IMMUTABLE_FL; | ||
33 | else | ||
34 | flags &= ~FS_IMMUTABLE_FL; | ||
35 | |||
36 | rc = ioctl(fd, FS_IOC_SETFLAGS, &flags); | ||
37 | error = errno; | ||
38 | close(fd); | ||
39 | errno = error; | ||
40 | return rc; | ||
41 | } | ||
42 | |||
43 | static int get_immutable(const char *path) | ||
44 | { | ||
45 | unsigned int flags; | ||
46 | int fd; | ||
47 | int rc; | ||
48 | int error; | ||
49 | |||
50 | fd = open(path, O_RDONLY); | ||
51 | if (fd < 0) | ||
52 | return fd; | ||
53 | |||
54 | rc = ioctl(fd, FS_IOC_GETFLAGS, &flags); | ||
55 | if (rc < 0) { | ||
56 | error = errno; | ||
57 | close(fd); | ||
58 | errno = error; | ||
59 | return rc; | ||
60 | } | ||
61 | close(fd); | ||
62 | if (flags & FS_IMMUTABLE_FL) | ||
63 | return 1; | ||
64 | return 0; | ||
65 | } | ||
8 | 66 | ||
9 | int main(int argc, char **argv) | 67 | int main(int argc, char **argv) |
10 | { | 68 | { |
@@ -27,7 +85,7 @@ int main(int argc, char **argv) | |||
27 | buf[4] = 0; | 85 | buf[4] = 0; |
28 | 86 | ||
29 | /* create a test variable */ | 87 | /* create a test variable */ |
30 | fd = open(path, O_WRONLY | O_CREAT); | 88 | fd = open(path, O_WRONLY | O_CREAT, 0600); |
31 | if (fd < 0) { | 89 | if (fd < 0) { |
32 | perror("open(O_WRONLY)"); | 90 | perror("open(O_WRONLY)"); |
33 | return EXIT_FAILURE; | 91 | return EXIT_FAILURE; |
@@ -41,6 +99,18 @@ int main(int argc, char **argv) | |||
41 | 99 | ||
42 | close(fd); | 100 | close(fd); |
43 | 101 | ||
102 | rc = get_immutable(path); | ||
103 | if (rc < 0) { | ||
104 | perror("ioctl(FS_IOC_GETFLAGS)"); | ||
105 | return EXIT_FAILURE; | ||
106 | } else if (rc) { | ||
107 | rc = set_immutable(path, 0); | ||
108 | if (rc < 0) { | ||
109 | perror("ioctl(FS_IOC_SETFLAGS)"); | ||
110 | return EXIT_FAILURE; | ||
111 | } | ||
112 | } | ||
113 | |||
44 | fd = open(path, O_RDONLY); | 114 | fd = open(path, O_RDONLY); |
45 | if (fd < 0) { | 115 | if (fd < 0) { |
46 | perror("open"); | 116 | perror("open"); |
diff --git a/tools/testing/selftests/ftrace/test.d/instances/instance.tc b/tools/testing/selftests/ftrace/test.d/instances/instance.tc index 773e276ff90b..1e1abe0ad354 100644 --- a/tools/testing/selftests/ftrace/test.d/instances/instance.tc +++ b/tools/testing/selftests/ftrace/test.d/instances/instance.tc | |||
@@ -39,28 +39,23 @@ instance_slam() { | |||
39 | } | 39 | } |
40 | 40 | ||
41 | instance_slam & | 41 | instance_slam & |
42 | x=`jobs -l` | 42 | p1=$! |
43 | p1=`echo $x | cut -d' ' -f2` | ||
44 | echo $p1 | 43 | echo $p1 |
45 | 44 | ||
46 | instance_slam & | 45 | instance_slam & |
47 | x=`jobs -l | tail -1` | 46 | p2=$! |
48 | p2=`echo $x | cut -d' ' -f2` | ||
49 | echo $p2 | 47 | echo $p2 |
50 | 48 | ||
51 | instance_slam & | 49 | instance_slam & |
52 | x=`jobs -l | tail -1` | 50 | p3=$! |
53 | p3=`echo $x | cut -d' ' -f2` | ||
54 | echo $p3 | 51 | echo $p3 |
55 | 52 | ||
56 | instance_slam & | 53 | instance_slam & |
57 | x=`jobs -l | tail -1` | 54 | p4=$! |
58 | p4=`echo $x | cut -d' ' -f2` | ||
59 | echo $p4 | 55 | echo $p4 |
60 | 56 | ||
61 | instance_slam & | 57 | instance_slam & |
62 | x=`jobs -l | tail -1` | 58 | p5=$! |
63 | p5=`echo $x | cut -d' ' -f2` | ||
64 | echo $p5 | 59 | echo $p5 |
65 | 60 | ||
66 | ls -lR >/dev/null | 61 | ls -lR >/dev/null |