From: Petr Vorel <pvorel@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH V3 00/10] Add new LTP tests related to fsmount family of syscalls
Date: Tue, 25 Feb 2020 15:23:14 +0100 [thread overview]
Message-ID: <20200225142314.GD62318@gacrux.arch.suse.de> (raw)
In-Reply-To: <cover.1582612624.git.viresh.kumar@linaro.org>
Hi,
I addressed some of my concerns here (+ add fspick.h to remove a bit of the duplicity):
https://github.com/pevik/ltp/tree/Viresh_Kumar/fsmount.v3.fixes
LGTM, but I'd like to have more look.
I'd also appreciate somebody else to have look.
Kind regards,
Petr
diff --git lib/tst_device.c lib/tst_device.c
index c53ae36cf..d99fb8bc5 100644
--- lib/tst_device.c
+++ lib/tst_device.c
@@ -404,7 +404,7 @@ int tst_is_mounted(const char *path)
SAFE_FCLOSE(NULL, file);
if (!ret)
- tst_resm(TWARN, "No device is mounted at %s", path);
+ tst_resm(TINFO, "No device is mounted at %s", path);
return ret;
}
diff --git testcases/kernel/syscalls/fsconfig/fsconfig02.c testcases/kernel/syscalls/fsconfig/fsconfig02.c
index d51a869ac..c3722691a 100644
--- testcases/kernel/syscalls/fsconfig/fsconfig02.c
+++ testcases/kernel/syscalls/fsconfig/fsconfig02.c
@@ -7,8 +7,8 @@
#include "tst_test.h"
#include "lapi/fsmount.h"
-int fd = -1, temp_fd = -1, invalid_fd = -1;
-int aux_0 = 0, aux_1 = 1, aux_fdcwd = AT_FDCWD, aux_minus1 = -1;
+static int fd = -1, temp_fd = -1, invalid_fd = -1;
+static int aux_0 = 0, aux_1 = 1, aux_fdcwd = AT_FDCWD, aux_minus1 = -1;
static struct tcase {
char *name;
@@ -51,9 +51,7 @@ static void setup(void)
{
fsopen_supported_by_kernel();
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
+ TEST(fd = fsopen(tst_device->fs_type, 0));
if (fd == -1)
tst_brk(TBROK | TERRNO, "fsopen() failed");
diff --git testcases/kernel/syscalls/fsmount/fsmount01.c testcases/kernel/syscalls/fsmount/fsmount01.c
index b7810df2f..6774a43ff 100644
--- testcases/kernel/syscalls/fsmount/fsmount01.c
+++ testcases/kernel/syscalls/fsmount/fsmount01.c
@@ -41,13 +41,12 @@ static void run(unsigned int n)
struct tcase *tc = &tcases[n];
int sfd, mfd;
- TEST(fsopen(tst_device->fs_type, FSOPEN_CLOEXEC));
- if (TST_RET == -1) {
+ TEST(sfd = fsopen(tst_device->fs_type, FSOPEN_CLOEXEC));
+ if (sfd == -1) {
tst_res(TBROK | TTERRNO, "fsopen() on %s failed",
tst_device->fs_type);
return;
}
- sfd = TST_RET;
TEST(fsconfig(sfd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
if (TST_RET < 0) {
diff --git testcases/kernel/syscalls/fsmount/fsmount02.c testcases/kernel/syscalls/fsmount/fsmount02.c
index c61caa8e8..90dbff1fd 100644
--- testcases/kernel/syscalls/fsmount/fsmount02.c
+++ testcases/kernel/syscalls/fsmount/fsmount02.c
@@ -33,9 +33,7 @@ static void setup(void)
{
fsopen_supported_by_kernel();
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
+ TEST(fd = fsopen(tst_device->fs_type, 0));
if (fd == -1)
tst_brk(TBROK | TERRNO, "fsopen() failed");
diff --git testcases/kernel/syscalls/fsopen/fsopen01.c testcases/kernel/syscalls/fsopen/fsopen01.c
index 51fab25d9..84cb38fcf 100644
--- testcases/kernel/syscalls/fsopen/fsopen01.c
+++ testcases/kernel/syscalls/fsopen/fsopen01.c
@@ -25,9 +25,7 @@ static void run(unsigned int n)
struct tcase *tc = &tcases[n];
int fd, fsmfd;
- TEST(fsopen(tst_device->fs_type, tc->flags));
- fd = TST_RET;
-
+ TEST(fd = fsopen(tst_device->fs_type, tc->flags));
if (fd == -1) {
tst_res(TFAIL | TERRNO, "fsopen() failed");
return;
diff --git testcases/kernel/syscalls/fspick/fspick.h testcases/kernel/syscalls/fspick/fspick.h
new file mode 100644
index 000000000..8d42eff05
--- /dev/null
+++ testcases/kernel/syscalls/fspick/fspick.h
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 Viresh Kumar <viresh.kumar@linaro.org>
+ */
+
+#ifndef FSPICK_H__
+#define FSPICK_H__
+
+#define MNTPOINT "mntpoint"
+
+static int ismounted;
+
+static void cleanup(void)
+{
+ if (ismounted)
+ SAFE_UMOUNT(MNTPOINT);
+}
+
+static void setup(void)
+{
+ int fd, fsmfd;
+
+ fsopen_supported_by_kernel();
+
+ TEST(fd = fsopen(tst_device->fs_type, 0));
+ if (fd == -1)
+ tst_brk(TBROK | TERRNO, "fsopen() failed");
+
+ TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
+ if (TST_RET == -1) {
+ SAFE_CLOSE(fd);
+ tst_brk(TBROK | TERRNO, "fsconfig() failed");
+ }
+
+ TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
+ if (TST_RET == -1) {
+ SAFE_CLOSE(fd);
+ tst_brk(TBROK | TERRNO, "fsconfig() failed");
+ }
+
+ TEST(fsmfd = fsmount(fd, 0, 0));
+ SAFE_CLOSE(fd);
+
+ if (TST_RET == -1)
+ tst_brk(TBROK | TERRNO, "fsmount() failed");
+
+ TEST(move_mount(fsmfd, "", AT_FDCWD, MNTPOINT,
+ MOVE_MOUNT_F_EMPTY_PATH));
+ SAFE_CLOSE(fsmfd);
+
+ if (TST_RET == -1)
+ tst_brk(TBROK | TERRNO, "move_mount() failed");
+
+ ismounted = 1;
+
+ if (!tst_is_mounted(MNTPOINT))
+ tst_brk(TBROK | TERRNO, "device not mounted");
+}
+
+#endif /* FSPICK_H__ */
diff --git testcases/kernel/syscalls/fspick/fspick01.c testcases/kernel/syscalls/fspick/fspick01.c
index 9d4b28a6a..217cb1f12 100644
--- testcases/kernel/syscalls/fspick/fspick01.c
+++ testcases/kernel/syscalls/fspick/fspick01.c
@@ -6,8 +6,7 @@
*/
#include "tst_test.h"
#include "lapi/fsmount.h"
-
-#define MNTPOINT "mntpoint"
+#include "fspick.h"
#define TCASE_ENTRY(_flags) {.name = "Flag " #_flags, .flags = _flags}
@@ -21,58 +20,6 @@ static struct tcase {
TCASE_ENTRY(FSPICK_EMPTY_PATH),
};
-static int ismounted;
-
-static void cleanup(void)
-{
- if (ismounted)
- SAFE_UMOUNT(MNTPOINT);
-}
-
-static void setup(void)
-{
- int fd, fsmfd;
-
- fsopen_supported_by_kernel();
-
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
- if (fd == -1)
- tst_brk(TBROK | TERRNO, "fsopen() failed");
-
- TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
- if (TST_RET == -1) {
- SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
- }
-
- TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
- if (TST_RET == -1) {
- SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
- }
-
- TEST(fsmount(fd, 0, 0));
- SAFE_CLOSE(fd);
-
- if (TST_RET == -1)
- tst_brk(TBROK | TERRNO, "fsmount() failed");
-
- fsmfd = TST_RET;
- TEST(move_mount(fsmfd, "", AT_FDCWD, MNTPOINT,
- MOVE_MOUNT_F_EMPTY_PATH));
- SAFE_CLOSE(fsmfd);
-
- if (TST_RET == -1)
- tst_brk(TBROK | TERRNO, "move_mount() failed");
-
- ismounted = 1;
-
- if (!tst_is_mounted(MNTPOINT))
- tst_brk(TBROK | TERRNO, "device not mounted");
-}
-
static void run(unsigned int n)
{
struct tcase *tc = &tcases[n];
diff --git testcases/kernel/syscalls/fspick/fspick02.c testcases/kernel/syscalls/fspick/fspick02.c
index c702140ec..dc552c754 100644
--- testcases/kernel/syscalls/fspick/fspick02.c
+++ testcases/kernel/syscalls/fspick/fspick02.c
@@ -6,8 +6,7 @@
*/
#include "tst_test.h"
#include "lapi/fsmount.h"
-
-#define MNTPOINT "mntpoint"
+#include "fspick.h"
static struct tcase {
char *name;
@@ -21,59 +20,6 @@ static struct tcase {
{"invalid-flags", AT_FDCWD, MNTPOINT, 0x10, EINVAL},
};
-static int ismounted;
-
-static void cleanup(void)
-{
- if (ismounted)
- SAFE_UMOUNT(MNTPOINT);
-}
-
-static void setup(void)
-{
- int fd, fsmfd;
-
- fsopen_supported_by_kernel();
-
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
- if (fd == -1)
- tst_brk(TBROK | TERRNO, "fsopen() failed");
-
- TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
- if (TST_RET == -1) {
- SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
- }
-
- TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
- if (TST_RET == -1) {
- SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
- }
-
- TEST(fsmount(fd, 0, 0));
- SAFE_CLOSE(fd);
-
- if (TST_RET == -1)
- tst_brk(TBROK | TERRNO, "fsmount() failed");
-
- fsmfd = TST_RET;
-
- TEST(move_mount(fsmfd, "", AT_FDCWD, MNTPOINT,
- MOVE_MOUNT_F_EMPTY_PATH));
- SAFE_CLOSE(fsmfd);
-
- if (TST_RET == -1)
- tst_brk(TBROK | TERRNO, "move_mount() failed");
-
- ismounted = 1;
-
- if (!tst_is_mounted(MNTPOINT))
- tst_brk(TBROK | TERRNO, "device not mounted");
-}
-
static void run(unsigned int n)
{
struct tcase *tc = &tcases[n];
diff --git testcases/kernel/syscalls/move_mount/move_mount01.c testcases/kernel/syscalls/move_mount/move_mount01.c
index aef0e15e1..b5513dd18 100644
--- testcases/kernel/syscalls/move_mount/move_mount01.c
+++ testcases/kernel/syscalls/move_mount/move_mount01.c
@@ -28,25 +28,23 @@ static void run(unsigned int n)
struct tcase *tc = &tcases[n];
int fsmfd, fd;
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
+ TEST(fd = fsopen(tst_device->fs_type, 0));
if (fd == -1) {
- tst_res(TBROK | TERRNO, "fsopen() failed");
+ tst_res(TFAIL | TERRNO, "fsopen() failed");
return;
}
TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig() failed");
+ tst_res(TFAIL | TERRNO, "fsconfig() failed");
return;
}
TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig() failed");
+ tst_res(TFAIL | TERRNO, "fsconfig() failed");
return;
}
@@ -54,7 +52,7 @@ static void run(unsigned int n)
SAFE_CLOSE(fd);
if (TST_RET == -1) {
- tst_res(TBROK | TERRNO, "fsmount() failed");
+ tst_res(TFAIL | TERRNO, "fsmount() failed");
return;
}
diff --git testcases/kernel/syscalls/move_mount/move_mount02.c testcases/kernel/syscalls/move_mount/move_mount02.c
index 98b7be77f..d85381e90 100644
--- testcases/kernel/syscalls/move_mount/move_mount02.c
+++ testcases/kernel/syscalls/move_mount/move_mount02.c
@@ -32,25 +32,23 @@ static void run(unsigned int n)
struct tcase *tc = &tcases[n];
int fd;
- TEST(fsopen(tst_device->fs_type, 0));
- fd = TST_RET;
-
+ TEST(fd = fsopen(tst_device->fs_type, 0));
if (fd == -1) {
- tst_res(TBROK | TERRNO, "fsopen() failed");
+ tst_res(TFAIL | TERRNO, "fsopen() failed");
return;
}
TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig() failed");
+ tst_res(TFAIL | TERRNO, "fsconfig() failed");
return;
}
TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig() failed");
+ tst_res(TFAIL | TERRNO, "fsconfig() failed");
return;
}
@@ -58,7 +56,7 @@ static void run(unsigned int n)
SAFE_CLOSE(fd);
if (TST_RET == -1) {
- tst_res(TBROK | TERRNO, "fsmount() failed");
+ tst_res(TFAIL | TERRNO, "fsmount() failed");
return;
}
diff --git testcases/kernel/syscalls/open_tree/open_tree01.c testcases/kernel/syscalls/open_tree/open_tree01.c
index ef603cc27..191d3196d 100644
--- testcases/kernel/syscalls/open_tree/open_tree01.c
+++ testcases/kernel/syscalls/open_tree/open_tree01.c
@@ -52,18 +52,18 @@ static void run(unsigned int n)
TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig failed");
+ tst_res(TBROK | TERRNO, "fsconfig() failed");
return;
}
TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_res(TBROK | TERRNO, "fsconfig failed");
+ tst_res(TBROK | TERRNO, "fsconfig() failed");
return;
}
- TEST(fsmount(fd, 0, 0));
+ TEST(fsmfd = fsmount(fd, 0, 0));
SAFE_CLOSE(fd);
if (TST_RET == -1) {
@@ -71,8 +71,6 @@ static void run(unsigned int n)
return;
}
- fsmfd = TST_RET;
-
TEST(move_mount(fsmfd, "", AT_FDCWD, MNTPOINT,
MOVE_MOUNT_F_EMPTY_PATH));
SAFE_CLOSE(fsmfd);
diff --git testcases/kernel/syscalls/open_tree/open_tree02.c testcases/kernel/syscalls/open_tree/open_tree02.c
index 5d0ffcf4e..2823531cb 100644
--- testcases/kernel/syscalls/open_tree/open_tree02.c
+++ testcases/kernel/syscalls/open_tree/open_tree02.c
@@ -44,22 +44,21 @@ static void setup(void)
TEST(fsconfig(fd, FSCONFIG_SET_STRING, "source", tst_device->dev, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
+ tst_brk(TBROK | TERRNO, "fsconfig() failed");
}
TEST(fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0));
if (TST_RET == -1) {
SAFE_CLOSE(fd);
- tst_brk(TBROK | TERRNO, "fsconfig failed");
+ tst_brk(TBROK | TERRNO, "fsconfig() failed");
}
- TEST(fsmount(fd, 0, 0));
+ TEST(fsmfd = fsmount(fd, 0, 0));
SAFE_CLOSE(fd);
if (TST_RET == -1)
tst_brk(TBROK | TERRNO, "fsmount() failed");
- fsmfd = TST_RET;
TEST(move_mount(fsmfd, "", AT_FDCWD, MNTPOINT,
MOVE_MOUNT_F_EMPTY_PATH));
SAFE_CLOSE(fsmfd);
prev parent reply other threads:[~2020-02-25 14:23 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 6:40 [LTP] [PATCH V3 00/10] Add new LTP tests related to fsmount family of syscalls Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 01/10] tst_device: Add tst_ismount() helper Viresh Kumar
2020-02-25 10:39 ` [LTP] [PATCH V4 1/10] tst_device: Add tst_is_mounted() helper Viresh Kumar
2020-02-26 5:14 ` Zorro Lang
2020-02-26 5:58 ` Yang Xu
2020-02-26 6:28 ` Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 02/10] lapi/fsmount.h: Add fsopen_supported_by_kernel() Viresh Kumar
2020-02-26 5:51 ` Zorro Lang
2020-02-25 6:40 ` [LTP] [PATCH V3 03/10] lapi/fsmount.h: Include "lapi/fcntl.h" Viresh Kumar
2020-02-26 5:51 ` Zorro Lang
2020-02-25 6:40 ` [LTP] [PATCH V3 04/10] syscalls/fsopen: New tests Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 05/10] syscalls/fsconfig: " Viresh Kumar
2020-02-25 13:46 ` Petr Vorel
2020-02-27 4:54 ` Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 06/10] syscalls/fsmount: Improve fsmount01 test Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 07/10] syscalls/fsmount: Add failure tests Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 08/10] syscalls/move_mount: New tests Viresh Kumar
2020-02-25 13:57 ` Petr Vorel
2020-02-26 2:27 ` Viresh Kumar
2020-02-26 3:34 ` Yang Xu
2020-02-26 4:34 ` Viresh Kumar
2020-02-26 7:47 ` Petr Vorel
2020-02-26 8:23 ` Viresh Kumar
2020-02-26 8:53 ` Petr Vorel
2020-02-26 8:59 ` Viresh Kumar
2020-02-26 9:20 ` Petr Vorel
2020-02-25 6:40 ` [LTP] [PATCH V3 09/10] syscalls/fspick: " Viresh Kumar
2020-02-25 6:40 ` [LTP] [PATCH V3 10/10] syscalls/open_tree: " Viresh Kumar
2020-02-25 14:25 ` Petr Vorel
2020-02-25 10:00 ` [LTP] [PATCH V3 00/10] Add new LTP tests related to fsmount family of syscalls Li Wang
2020-02-25 10:32 ` Petr Vorel
2020-02-25 10:48 ` Viresh Kumar
2020-02-25 14:23 ` Petr Vorel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200225142314.GD62318@gacrux.arch.suse.de \
--to=pvorel@suse.cz \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.