]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tools/regression/msdosfs/msdosfstest-5.sh
Merge bmake-20230909
[FreeBSD/FreeBSD.git] / tools / regression / msdosfs / msdosfstest-5.sh
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
7 mkdir /tmp/msdosfstest
8 mdconfig -a -t swap -s 128m -u 10
9 bsdlabel -w md10 auto
10 newfs_msdos -F 16 -b 8192 /dev/md10a
11 mount_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)
14 touch /tmp/msdosfstest/$'\216\261'
15 if [ $? -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
36 else
37         echo "not ok 5"
38 fi
39 umount /tmp/msdosfstest
40 mdconfig -d -u 10
41 rmdir /tmp/msdosfstest