From: Pádraig Brady
Date: Mon, 1 Dec 2025 17:31:53 +0000 (+0000) Subject: tests: enable mkdir/writable-under-readonly.sh X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d5a75a2f93aef30fe6b99eead74f8c0f11203e43;p=thirdparty%2Fcoreutils.git tests: enable mkdir/writable-under-readonly.sh * tests/mkdir/writable-under-readonly.sh: Address FIXMEs and enable. Addresses https://github.com/coreutils/coreutils/issues/137 --- diff --git a/tests/mkdir/writable-under-readonly.sh b/tests/mkdir/writable-under-readonly.sh index dc07ec8444..320210895a 100755 --- a/tests/mkdir/writable-under-readonly.sh +++ b/tests/mkdir/writable-under-readonly.sh @@ -1,6 +1,4 @@ #!/bin/sh -# FIXME: convert this to a root-only test. - # Copyright (C) 2005-2025 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -21,32 +19,23 @@ # # "mkdir -p /a/b/c" no longer fails merely because a leading prefix # directory (e.g., /a or /a/b) exists on a read-only file system. -# -# Demonstrate the problem, as root: . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir require_root_ -# FIXME: for now, skip it unconditionally -skip_ temporarily disabled +cwd=$(pwd) +cleanup_() { cd /; umount "$cwd/mnt-ro/rw"; umount "$cwd/mnt-ro"; } -# FIXME: define cleanup_ to do the umount - -# FIXME: use mktemp -cd /tmp \ - && dd if=/dev/zero of=1 bs=8192 count=50 \ - && dd if=/dev/zero of=2 bs=8192 count=50 \ - && mkdir -p mnt-ro && mkfs -t ext2 1 && mkfs -t ext2 2 \ - && mount -o loop=/dev/loop3 1 mnt-ro \ - && mkdir -p mnt-ro/rw \ - && mount -o remount,ro mnt-ro \ - && mount -o loop=/dev/loop4 2 mnt-ro/rw +dd if=/dev/zero of=1 bs=8192 count=50 && +dd if=/dev/zero of=2 bs=8192 count=50 && +mkdir -p mnt-ro && mkfs -t ext2 1 && mkfs -t ext2 2 && +mount -o loop 1 mnt-ro && +mkdir -p mnt-ro/rw && +mount -o remount,ro mnt-ro && +mount -o loop 2 mnt-ro/rw || +skip_ 'Failed to setup loopback mounts' mkdir -p mnt-ro/rw/sub || fail=1 -# To clean up -umount /tmp/2 -umount /tmp/1 - Exit $fail