selftests/nolibc: prepare: create /dev/zero
authorZhangjin Wu <falcon@tinylab.org>
Fri, 7 Jul 2023 15:02:16 +0000 (23:02 +0800)
committerWilly Tarreau <w@1wt.eu>
Wed, 23 Aug 2023 02:38:02 +0000 (04:38 +0200)
/dev/zero is commonly used to allocate anonymous memory, it is a very
good file for tests, let's prepare it.

Suggested-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/lkml/20230702193306.GK16233@1wt.eu/
Signed-off-by: Zhangjin Wu <falcon@tinylab.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
tools/testing/selftests/nolibc/nolibc-test.c

index 1e4a395..24db3be 100644 (file)
@@ -894,11 +894,13 @@ int prepare(void)
         */
        if (stat("/dev/.", &stat_buf) == 0 || mkdir("/dev", 0755) == 0) {
                if (stat("/dev/console", &stat_buf) != 0 ||
-                   stat("/dev/null", &stat_buf) != 0) {
+                   stat("/dev/null", &stat_buf) != 0 ||
+                   stat("/dev/zero", &stat_buf) != 0) {
                        /* try devtmpfs first, otherwise fall back to manual creation */
                        if (mount("/dev", "/dev", "devtmpfs", 0, 0) != 0) {
                                mknod("/dev/console", 0600 | S_IFCHR, makedev(5, 1));
                                mknod("/dev/null",    0666 | S_IFCHR, makedev(1, 3));
+                               mknod("/dev/zero",    0666 | S_IFCHR, makedev(1, 5));
                        }
                }
        }