From nobody Tue Jun 16 10:58:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gfkVW4q0jz6hR4T for ; Tue, 16 Jun 2026 10:58:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gfkVW3rqYz3Fwf for ; Tue, 16 Jun 2026 10:58:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781607491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yo43MGWzJQcvp6q8r/MczEw5tx16689p0mvsoIsFKSQ=; b=FJ2FyR8zBL7TQ4C+XtIyQnwPqLFwPqcPpb3b4U3mUwCeVolwCtAhpdT1Njh9w1syMW/HeF MNe1DWn/I59zGsFLbm60XZUhngQAa1qjionYcOPq9fOyu02U0ikMCfi1GJCOtH1fLZMdY8 TCYSV6xzPFJUmH1PCu9gVuW1GTcLtsfzFA4/8ZHRyVi0c/nGKHGOktf1glXgJoAo9abWxe lSIQV/AfM0f9e14R5BgeNhIV/cKmM2O3q/ez+rt7NWkHno3UQjLM7lEXtH2qFXuc+SiGT3 wW9Ky9tj6qd/GRNIbeUyfP5LpJHj8CWa2zVqkcht0DihxyRRupDlWv+tFMQS6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781607491; a=rsa-sha256; cv=none; b=h9BPUu/K4zK6KCb8SyMWTK/PSynhYLDz1WZr98spFitEbAZwLQ+DnNxmqJILHy1KBEJH06 doYPTAjhGgv+JKjYns99lsY3/3ThgDb3/qreZovo2zuENp+2uyLcUD7/IEj5EgSuDdGn5q EIr15x8H20ue4uhQmsK0ozVK5Vi/fp7tiI9DK1fPsmtzBd7q1uzCtz2YbB8gPKAKNYLLBZ rodks4uJRVWRzQi38r7jFVPfyQJBmSILkOyL817ImZIC0QvFVOpquqmg+DVE2zY5xIcNXt LWRgVvYP6h4XrJkYoIfO7VqRBHcmy90Hl/5E4fMpOImbNUP1FkYr48lVP2EKvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781607491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yo43MGWzJQcvp6q8r/MczEw5tx16689p0mvsoIsFKSQ=; b=SGSu4RnqWKz2cMghXuHXthCWCxiQp6Qyoi8V8bFrKyAs05JMWrLUPXBxVXZalkJdLsivnu pySIknJni43DW0kS7bnL+slA4Rlg/pKEES6lcOJ6tIOoTz6ZHsyI2yvC6nGkIS42IuMAeW fnKV0IQzdmjYVF7aoowV+Df3X6Irl9fUYY8WeixOdc7CakI00I7F51Ox5h0flXZzA4Um6u dmTmrGwgAb2zYBGOT4EmzeS/Wj+42tslNs8AKSsZwQ0PL1i0SI1n3ZWuTWFgiob4zq5VFn 0e5OSxvBROdBiAIa/R8oXymYbRoF8Sh03hHCVsS4TKeZwBXT6SWjFU36n7tbew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gfkVW3PHfz7QH for ; Tue, 16 Jun 2026 10:58:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19535 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 16 Jun 2026 10:58:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefa=?utf-8?Q?n E=C3=9Fer?= Subject: git: 247665b167b1 - stable/15 - tools/test/stress2/misc: Add msdosfs tests (currently failing) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 247665b167b1ae202c50206c16d73797bc35f9b7 Auto-Submitted: auto-generated Date: Tue, 16 Jun 2026 10:58:11 +0000 Message-Id: <6a312c43.19535.6093beff@gitrepo.freebsd.org> The branch stable/15 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=247665b167b1ae202c50206c16d73797bc35f9b7 commit 247665b167b1ae202c50206c16d73797bc35f9b7 Author: Stefan Eßer AuthorDate: 2026-05-29 15:52:05 +0000 Commit: Stefan Eßer CommitDate: 2026-06-16 10:56:24 +0000 tools/test/stress2/misc: Add msdosfs tests (currently failing) Test msdos22.sh creates 1000 files with long random names consisting of only ASCII characters. The mount is performed without -L option, therefore no use of iconv to convert between character sets. Test msdos23.sh mixes some non-ASCII characters into the file names. The file system is therefore mounted with -L C.UTF-8 to include tests of the conversions between UTF-8 and UTF-16. Test msdos24.sh adds emojis to the names to test the (not yet committed) support of UTF-16 surrogate pairs in filenames. (cherry picked from commit aa029088ec130d71b406c4118346fbd933940826) (cherry picked from commit 11f23d7c078b319285727d277f05b6962280bcce) (cherry picked from commit 596dadbbb5a711477f811fed65a6c463801d16c5) (cherry picked from commit 3260c42c4183ac817cf08fcaa236d4d21b4fc0d2) --- tools/test/stress2/misc/msdos22.sh | 77 ++++++++++++++++++++++++++++++++++ tools/test/stress2/misc/msdos23.sh | 77 ++++++++++++++++++++++++++++++++++ tools/test/stress2/misc/msdos24.sh | 86 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 240 insertions(+) diff --git a/tools/test/stress2/misc/msdos22.sh b/tools/test/stress2/misc/msdos22.sh new file mode 100755 index 000000000000..f3a2110f13f1 --- /dev/null +++ b/tools/test/stress2/misc/msdos22.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +# Test file operations using long random file names consisting only of ASCII characters + +MDUNIT=10 +FS=/mnt +LOCALE=C +FILES=1000 + +export LANG=$LOCALE + +randomfilename () { + name="" + count=$(jot -r 1 10 3) + for r in $(jot -r $count 7 0); do + r=$(( r + 0 )) + c='_' + if [ $r -gt 0 ]; then + for i in $(jot $r); do + name="$name$i" + done + fi + count=$(( count - 1 )) + if [ "$count" -gt 0 ]; then + name="$name$c" + fi + done + echo "$name" +} + +( + set -e + + mdconfig -u $MDUNIT -t malloc -s 512m + newfs_msdos -c 8 -F 32 /dev/md$MDUNIT > /dev/null 2>&1 + mkdir -p $FS + mount_msdosfs /dev/md$MDUNIT $FS + + mkdir -p $FS/test + cd $FS/test + + for i in $(jot $FILES); do + testfiles="$testfiles +$(randomfilename)" + done + + testfiles=$(echo "$testfiles" | grep "." | sort -R | uniq) + + for f in $testfiles; do + echo "$f" > $f + done + for f in $(echo "$testfiles" | sort -R); do + cp $f $f.tmp + done + for f in $(echo "$testfiles" | sort -R); do + mv $f.tmp $f + done + for f in $(echo "$testfiles" | sort -R); do + rm $f + done +) + +failed=$? + +cd + +[ "$failed" -ne 0 ] && ls $FS/test + +umount /dev/md$MDUNIT + +#[ "$failed" -ne 0 ] && hd /dev/md$MDUNIT > /tmp/msdos22.dump + +fsck_msdosfs -y /dev/md$MDUNIT + +mdconfig -d -u $MDUNIT 2>/dev/null + +exit $failed diff --git a/tools/test/stress2/misc/msdos23.sh b/tools/test/stress2/misc/msdos23.sh new file mode 100755 index 000000000000..fcaa90917235 --- /dev/null +++ b/tools/test/stress2/misc/msdos23.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +# Test file operations using random file names containing non-ASCII characters + +MDUNIT=10 +FS=/mnt +LOCALE=C.UTF-8 +FILES=1000 + +export LANG=$LOCALE + +randomfilename () { + name="" + count=$(jot -r 1 10 3) + for r in $(jot -r $count 7 0); do + r=$(( r + 0 )) + c='·' + if [ $r -gt 0 ]; then + for i in $(jot $r); do + name="$name$i" + done + fi + count=$(( count - 1 )) + if [ "$count" -gt 0 ]; then + name="$name$c" + fi + done + echo "$name" +} + +( + set -e + + mdconfig -u $MDUNIT -t malloc -s 512m + newfs_msdos -c 8 -F 32 /dev/md$MDUNIT > /dev/null 2>&1 + mkdir -p $FS + mount_msdosfs -L $LOCALE /dev/md$MDUNIT $FS + + mkdir -p $FS/test + cd $FS/test + + for i in $(jot $FILES); do + testfiles="$testfiles +$(randomfilename)" + done + + testfiles=$(echo "$testfiles" | grep "." | sort -R | uniq) + + for f in $testfiles; do + echo "$f" > $f + done + for f in $(echo "$testfiles" | sort -R); do + cp $f $f.tmp + done + for f in $(echo "$testfiles" | sort -R); do + mv $f.tmp $f + done + for f in $(echo "$testfiles" | sort -R); do + rm $f + done +) + +failed=$? + +cd + +[ "$failed" -ne 0 ] && ls $FS/test + +umount /dev/md$MDUNIT + +#[ "$failed" -ne 0 ] && hd /dev/md$MDUNIT > /tmp/msdos23.dump + +fsck_msdosfs -y /dev/md$MDUNIT + +mdconfig -d -u $MDUNIT 2>/dev/null + +exit $failed diff --git a/tools/test/stress2/misc/msdos24.sh b/tools/test/stress2/misc/msdos24.sh new file mode 100755 index 000000000000..d16a869d3eea --- /dev/null +++ b/tools/test/stress2/misc/msdos24.sh @@ -0,0 +1,86 @@ +#!/bin/sh + +# Test file operations using long random file names containing UTF-16 surrogate pairs + +MDUNIT=10 +FS=/mnt +LOCALE=C.UTF-8 +FILES=1000 + +export LANG=$LOCALE + +randomfilename () { + name="" + count=$(jot -r 1 10 3) + for r in $(jot -r $count 7 0); do + r=$(( r + 0 )) + case $(jot -r 1 3 1) in + 1) + emoji="\0360\0237\0230\020$r" + c=$(echo -e $emoji) + ;; + *) + food="\0360\0237\0245\022$r" + c=$(echo -e $food) + ;; + esac + if [ $r -gt 0 ]; then + for i in $(jot $r); do + name="$name$i" + done + fi + count=$(( count - 1 )) + if [ "$count" -gt 0 ]; then + name="$name$c" + fi + done + echo "$name" +} + +( + set -e + + mdconfig -u $MDUNIT -t malloc -s 512m + newfs_msdos -c 8 -F 32 /dev/md$MDUNIT > /dev/null 2>&1 + mkdir -p $FS + mount_msdosfs -L $LOCALE /dev/md$MDUNIT $FS + + mkdir -p $FS/test + cd $FS/test + + for i in $(jot $FILES); do + testfiles="$testfiles +$(randomfilename)" + done + + testfiles=$(echo "$testfiles" | grep "." | sort -R | uniq) + + for f in $testfiles; do + echo "$f" > $f + done + for f in $(echo "$testfiles" | sort -R); do + cp $f $f.tmp + done + for f in $(echo "$testfiles" | sort -R); do + mv $f.tmp $f + done + for f in $(echo "$testfiles" | sort -R); do + rm $f + done +) + +failed=$? + +cd + +[ "$failed" -ne 0 ] && ls $FS/test + +umount /dev/md$MDUNIT + +#[ "$failed" -ne 0 ] && hd /dev/md$MDUNIT > /tmp/msdos24.dump + +fsck_msdosfs -y /dev/md$MDUNIT + +mdconfig -d -u $MDUNIT 2>/dev/null + +exit $failed