diff mbox series

[v2,2/2] Add unlink10 test

Message ID 20240605-unlink09-v2-2-bfa0bbdc8753@suse.com
State Superseded
Headers show
Series Fix unlink09 test | expand

Commit Message

Andrea Cervesato June 5, 2024, 2:40 p.m. UTC
From: Andrea Cervesato <andrea.cervesato@suse.com>

This test verifies that unlink(2) fails with EROFS when target file
is on a read-only filesystem.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 runtest/syscalls                            |  1 +
 testcases/kernel/syscalls/unlink/.gitignore |  1 +
 testcases/kernel/syscalls/unlink/unlink10.c | 33 +++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+)

Comments

Wei Gao June 6, 2024, 10:10 p.m. UTC | #1
On Wed, Jun 05, 2024 at 04:40:39PM +0200, Andrea Cervesato wrote:
> From: Andrea Cervesato <andrea.cervesato@suse.com>
> 
> This test verifies that unlink(2) fails with EROFS when target file
> is on a read-only filesystem.
> 
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
>  runtest/syscalls                            |  1 +
>  testcases/kernel/syscalls/unlink/.gitignore |  1 +
>  testcases/kernel/syscalls/unlink/unlink10.c | 33 +++++++++++++++++++++++++++++
>  3 files changed, 35 insertions(+)
> 
> diff --git a/runtest/syscalls b/runtest/syscalls
> index cf06ee563..b59b64314 100644
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -1655,6 +1655,7 @@ unlink05 unlink05
>  unlink07 unlink07
>  unlink08 unlink08
>  unlink09 unlink09
> +unlink10 unlink10
>  
>  #unlinkat test cases
>  unlinkat01 unlinkat01
> diff --git a/testcases/kernel/syscalls/unlink/.gitignore b/testcases/kernel/syscalls/unlink/.gitignore
> index 6038cc29d..4fc24059a 100644
> --- a/testcases/kernel/syscalls/unlink/.gitignore
> +++ b/testcases/kernel/syscalls/unlink/.gitignore
> @@ -2,3 +2,4 @@
>  /unlink07
>  /unlink08
>  /unlink09
> +/unlink10
> diff --git a/testcases/kernel/syscalls/unlink/unlink10.c b/testcases/kernel/syscalls/unlink/unlink10.c
> new file mode 100644
> index 000000000..861f24a50
> --- /dev/null
> +++ b/testcases/kernel/syscalls/unlink/unlink10.c
> @@ -0,0 +1,33 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (c) 2024 FUJITSU LIMITED. All Rights Reserved.
> + * Author: Yang Xu <xuyang2018.jy@fujitsu.com>
> + * Copyright (C) 2024 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
> + */
> +
> +/*\
> + * [Description]
> + *
> + * Verify that unlink(2) fails with EROFS when target file is on a read-only
> + * filesystem.
> + */
> +
> +#include <sys/ioctl.h>
> +#include "tst_test.h"
> +#include "lapi/fs.h"
> +
> +#define MNTPOINT "erofs"
> +#define FILENAME MNTPOINT"/file"
> +
> +static void run(void)
> +{
> +	TST_EXP_FAIL(unlink(FILENAME), EROFS,
> +		"%s", "target file in read-only filesystem");
> +}
> +
> +static struct tst_test test = {
> +	.test_all = run,
> +	.needs_rofs = 1,
> +	.needs_root = 1,
> +	.mntpoint = MNTPOINT,
> +};
Reviewed-by: Wei Gao <wegao@suse.com>
> 
> -- 
> 2.35.3
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Wei Gao June 6, 2024, 10:59 p.m. UTC | #2
On Wed, Jun 05, 2024 at 04:40:39PM +0200, Andrea Cervesato wrote:
> From: Andrea Cervesato <andrea.cervesato@suse.com>
> 
> This test verifies that unlink(2) fails with EROFS when target file
> is on a read-only filesystem.
> 
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
>  runtest/syscalls                            |  1 +
>  testcases/kernel/syscalls/unlink/.gitignore |  1 +
>  testcases/kernel/syscalls/unlink/unlink10.c | 33 +++++++++++++++++++++++++++++
>  3 files changed, 35 insertions(+)
> 
> diff --git a/runtest/syscalls b/runtest/syscalls
> index cf06ee563..b59b64314 100644
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -1655,6 +1655,7 @@ unlink05 unlink05
>  unlink07 unlink07
>  unlink08 unlink08
>  unlink09 unlink09
> +unlink10 unlink10
>  
>  #unlinkat test cases
>  unlinkat01 unlinkat01
> diff --git a/testcases/kernel/syscalls/unlink/.gitignore b/testcases/kernel/syscalls/unlink/.gitignore
> index 6038cc29d..4fc24059a 100644
> --- a/testcases/kernel/syscalls/unlink/.gitignore
> +++ b/testcases/kernel/syscalls/unlink/.gitignore
> @@ -2,3 +2,4 @@
>  /unlink07
>  /unlink08
>  /unlink09
> +/unlink10
> diff --git a/testcases/kernel/syscalls/unlink/unlink10.c b/testcases/kernel/syscalls/unlink/unlink10.c
> new file mode 100644
> index 000000000..861f24a50
> --- /dev/null
> +++ b/testcases/kernel/syscalls/unlink/unlink10.c
> @@ -0,0 +1,33 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (c) 2024 FUJITSU LIMITED. All Rights Reserved.
> + * Author: Yang Xu <xuyang2018.jy@fujitsu.com>
> + * Copyright (C) 2024 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
> + */
> +
> +/*\
> + * [Description]
> + *
> + * Verify that unlink(2) fails with EROFS when target file is on a read-only
> + * filesystem.
> + */
> +
> +#include <sys/ioctl.h>
> +#include "tst_test.h"
> +#include "lapi/fs.h"
> +
> +#define MNTPOINT "erofs"
> +#define FILENAME MNTPOINT"/file"
> +
> +static void run(void)
> +{
> +	TST_EXP_FAIL(unlink(FILENAME), EROFS,
> +		"%s", "target file in read-only filesystem");
> +}
> +
> +static struct tst_test test = {
> +	.test_all = run,
> +	.needs_rofs = 1,
> +	.needs_root = 1,
> +	.mntpoint = MNTPOINT,
> +};
Reviewed-by: Wei Gao <wegao@suse.com>
> 
> -- 
> 2.35.3
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Petr Vorel June 19, 2024, 4:05 p.m. UTC | #3
Hi Andrea, Wei,

> > This test verifies that unlink(2) fails with EROFS when target file
> > is on a read-only filesystem.

Test LGTM, but I would prefer to merge it together with unlink09.c change (first
patch).

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr
diff mbox series

Patch

diff --git a/runtest/syscalls b/runtest/syscalls
index cf06ee563..b59b64314 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -1655,6 +1655,7 @@  unlink05 unlink05
 unlink07 unlink07
 unlink08 unlink08
 unlink09 unlink09
+unlink10 unlink10
 
 #unlinkat test cases
 unlinkat01 unlinkat01
diff --git a/testcases/kernel/syscalls/unlink/.gitignore b/testcases/kernel/syscalls/unlink/.gitignore
index 6038cc29d..4fc24059a 100644
--- a/testcases/kernel/syscalls/unlink/.gitignore
+++ b/testcases/kernel/syscalls/unlink/.gitignore
@@ -2,3 +2,4 @@ 
 /unlink07
 /unlink08
 /unlink09
+/unlink10
diff --git a/testcases/kernel/syscalls/unlink/unlink10.c b/testcases/kernel/syscalls/unlink/unlink10.c
new file mode 100644
index 000000000..861f24a50
--- /dev/null
+++ b/testcases/kernel/syscalls/unlink/unlink10.c
@@ -0,0 +1,33 @@ 
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2024 FUJITSU LIMITED. All Rights Reserved.
+ * Author: Yang Xu <xuyang2018.jy@fujitsu.com>
+ * Copyright (C) 2024 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * [Description]
+ *
+ * Verify that unlink(2) fails with EROFS when target file is on a read-only
+ * filesystem.
+ */
+
+#include <sys/ioctl.h>
+#include "tst_test.h"
+#include "lapi/fs.h"
+
+#define MNTPOINT "erofs"
+#define FILENAME MNTPOINT"/file"
+
+static void run(void)
+{
+	TST_EXP_FAIL(unlink(FILENAME), EROFS,
+		"%s", "target file in read-only filesystem");
+}
+
+static struct tst_test test = {
+	.test_all = run,
+	.needs_rofs = 1,
+	.needs_root = 1,
+	.mntpoint = MNTPOINT,
+};