]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (test_mkfds::mmap) add "shared" paramter
authorMasatake YAMATO <yamato@redhat.com>
Fri, 9 Jan 2026 02:48:35 +0000 (11:48 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Mon, 12 Jan 2026 18:39:33 +0000 (03:39 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tests/helpers/test_mkfds.c

index 7847807adf7d1d598856b0fee41bb6cc5afbd8b4..b3be3d637820c8b0fa7e4dc16aadf4ed2ff0d60e 100644 (file)
@@ -3066,17 +3066,21 @@ static void *make_mmap(const struct factory *factory, struct fdesc fdescs[] _U_,
 {
        struct arg file = decode_arg("file", factory->params, argc, argv);
        const char *sfile = ARG_STRING(file);
+       struct arg shared = decode_arg("shared", factory->params, argc, argv);
+       bool bshared = ARG_BOOLEAN(shared);
 
        int fd = open(sfile, O_RDONLY);
        if (fd < 0)
                err(EXIT_FAILURE, "failed in opening %s", sfile);
+       free_arg(&shared);
        free_arg(&file);
 
        struct stat sb;
        if (fstat(fd, &sb) < 0) {
                err(EXIT_FAILURE, "failed in fstat()");
        }
-       char *addr = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+       char *addr = mmap(NULL, sb.st_size, PROT_READ,
+                         bshared ? MAP_SHARED : MAP_PRIVATE, fd, 0);
        if (addr == MAP_FAILED) {
                err(EXIT_FAILURE, "failed in mmap()");
        }
@@ -4308,6 +4312,12 @@ static const struct factory factories[] = {
                                .desc = "file to be opened",
                                .defv.string = "/etc/passwd",
                        },
+                       {
+                               .name = "shared",
+                               .type = PTYPE_BOOLEAN,
+                               .desc = "use MAP_SHARED",
+                               .defv.boolean = FALSE,
+                       },
                        PARAM_END
                },
        },