1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-10 17:31:56 +02:00

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
This commit is contained in:
Pádraig Brady
2025-12-01 17:31:53 +00:00
parent 95b737c835
commit d5a75a2f93

View File

@@ -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