1#!/bin/sh 2# A really simple script to create a swap-backed msdosfs filesystem, then 3# test to see if msdosfs_conv.c rev 1.45[2] works properly. 4# Note that this is a requisite condition but far away from sufficient condition. 5# You must check file system by "dir /x" on MS Windows. 6 7mkdir /tmp/msdosfstest 8mdconfig -a -t swap -s 128m -u 10 9bsdlabel -w md10 auto 10newfs_msdos -F 16 -b 8192 /dev/md10a 11mount_msdosfs -L ja_JP.eucJP -D CP932 -l /dev/md10a /tmp/msdosfstest 12# The comment is UTF-8, the actual command uses the eucJP representation. 13# touch /tmp/msdosfstest/ア (HALFWIDTH KATAKANA LETTER A) 14touch /tmp/msdosfstest/$'\216\261' 15if [ $? -eq 0 ]; then 16 umount /tmp/msdosfstest 17 mount_msdosfs -L ja_JP.eucJP -D CP932 -s /dev/md10a /tmp/msdosfstest 18 ls /tmp/msdosfstest/$'\216\261' 19 if [ $? -eq 0 ]; then 20 echo "ok 5 (pass stage 1/2)" 21 umount /tmp/msdosfstest 22 mount_msdosfs -L uk_UA.KOI8-U -D CP866 -l /dev/md10a /tmp/msdosfstest 23 # The comment is UTF-8, the actual command uses the KOI8-U representation. 24 # ls /tmp/msdosfstest/▒ (MEDIUM SHADE) 25 ls /tmp/msdosfstest/$'\221' 26 if [ $? -ne 0 ]; then 27 # assume that U+FF71 was recorded with long name 28 echo "ok 5 (pass stage 2/2)" 29 else 30 # only 0xb1 was found (doesn't have long name) 31 echo "not ok 5" 32 fi 33 else 34 echo "not ok 5" 35 fi 36else 37 echo "not ok 5" 38fi 39umount /tmp/msdosfstest 40mdconfig -d -u 10 41rmdir /tmp/msdosfstest 42