1148117Simura#!/bin/sh
2148117Simura# $FreeBSD$
3148117Simura# A really simple script to create a swap-backed msdosfs filesystem, then
4148117Simura# test to see if msdosfs_conv.c rev 1.45[2] works properly.
5148117Simura# Note that this is a requisite condition but far away from sufficient condition.
6148117Simura# You must check file system by "dir /x" on MS Windows.
7148117Simura
8148117Simuramkdir /tmp/msdosfstest
9148117Simuramdconfig -a -t swap -s 128m -u 10
10148117Simurabsdlabel -w md10 auto
11148117Simuranewfs_msdos -F 16 -b 8192 /dev/md10a
12148117Simuramount_msdosfs -L ja_JP.eucJP -D CP932 -l /dev/md10a /tmp/msdosfstest
13229656Suqs# The comment is UTF-8, the actual command uses the eucJP representation.
14229656Suqs# touch /tmp/msdosfstest/��� (HALFWIDTH KATAKANA LETTER A)
15229656Suqstouch /tmp/msdosfstest/$'\216\261'
16148117Simuraif [ $? -eq 0 ]; then
17148117Simura	umount /tmp/msdosfstest
18148117Simura	mount_msdosfs -L ja_JP.eucJP -D CP932 -s /dev/md10a /tmp/msdosfstest
19229656Suqs	ls /tmp/msdosfstest/$'\216\261'
20148117Simura	if [ $? -eq 0 ]; then
21148117Simura		echo "ok 5 (pass stage 1/2)"
22148117Simura		umount /tmp/msdosfstest
23148117Simura		mount_msdosfs -L uk_UA.KOI8-U -D CP866 -l /dev/md10a /tmp/msdosfstest
24229656Suqs		# The comment is UTF-8, the actual command uses the KOI8-U representation.
25229656Suqs		# ls /tmp/msdosfstest/��� (MEDIUM SHADE)
26229656Suqs		ls /tmp/msdosfstest/$'\221'
27148117Simura		if [ $? -ne 0 ]; then
28148117Simura			# assume that U+FF71 was recorded with long name
29148117Simura			echo "ok 5 (pass stage 2/2)"
30148117Simura		else
31148117Simura			# only 0xb1 was found (doesn't have long name)
32148117Simura			echo "not ok 5"
33148117Simura		fi
34148117Simura	else
35148117Simura		echo "not ok 5"
36148117Simura	fi
37148117Simuraelse
38148117Simura	echo "not ok 5"
39148117Simurafi
40148117Simuraumount /tmp/msdosfstest
41148117Simuramdconfig -d -u 10
42148117Simurarmdir /tmp/msdosfstest
43