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