11404c3a4SR. Imura#!/bin/sh
21404c3a4SR. Imura# A really simple script to create a swap-backed msdosfs filesystem, then
31404c3a4SR. Imura# test to see if msdosfs_conv.c rev 1.45[2] works properly.
41404c3a4SR. Imura# Note that this is a requisite condition but far away from sufficient condition.
51404c3a4SR. Imura# You must check file system by "dir /x" on MS Windows.
61404c3a4SR. Imura
71404c3a4SR. Imuramkdir /tmp/msdosfstest
81404c3a4SR. Imuramdconfig -a -t swap -s 128m -u 10
91404c3a4SR. Imurabsdlabel -w md10 auto
101404c3a4SR. Imuranewfs_msdos -F 16 -b 8192 /dev/md10a
111404c3a4SR. Imuramount_msdosfs -L ja_JP.eucJP -D CP932 -l /dev/md10a /tmp/msdosfstest
12381edcdaSUlrich Spörlein# The comment is UTF-8, the actual command uses the eucJP representation.
13381edcdaSUlrich Spörlein# touch /tmp/msdosfstest/ア (HALFWIDTH KATAKANA LETTER A)
14381edcdaSUlrich Spörleintouch /tmp/msdosfstest/$'\216\261'
151404c3a4SR. Imuraif [ $? -eq 0 ]; then
161404c3a4SR. Imura	umount /tmp/msdosfstest
171404c3a4SR. Imura	mount_msdosfs -L ja_JP.eucJP -D CP932 -s /dev/md10a /tmp/msdosfstest
18381edcdaSUlrich Spörlein	ls /tmp/msdosfstest/$'\216\261'
191404c3a4SR. Imura	if [ $? -eq 0 ]; then
201404c3a4SR. Imura		echo "ok 5 (pass stage 1/2)"
211404c3a4SR. Imura		umount /tmp/msdosfstest
221404c3a4SR. Imura		mount_msdosfs -L uk_UA.KOI8-U -D CP866 -l /dev/md10a /tmp/msdosfstest
23381edcdaSUlrich Spörlein		# The comment is UTF-8, the actual command uses the KOI8-U representation.
24381edcdaSUlrich Spörlein		# ls /tmp/msdosfstest/▒ (MEDIUM SHADE)
25381edcdaSUlrich Spörlein		ls /tmp/msdosfstest/$'\221'
261404c3a4SR. Imura		if [ $? -ne 0 ]; then
271404c3a4SR. Imura			# assume that U+FF71 was recorded with long name
281404c3a4SR. Imura			echo "ok 5 (pass stage 2/2)"
291404c3a4SR. Imura		else
301404c3a4SR. Imura			# only 0xb1 was found (doesn't have long name)
311404c3a4SR. Imura			echo "not ok 5"
321404c3a4SR. Imura		fi
331404c3a4SR. Imura	else
341404c3a4SR. Imura		echo "not ok 5"
351404c3a4SR. Imura	fi
361404c3a4SR. Imuraelse
371404c3a4SR. Imura	echo "not ok 5"
381404c3a4SR. Imurafi
391404c3a4SR. Imuraumount /tmp/msdosfstest
401404c3a4SR. Imuramdconfig -d -u 10
411404c3a4SR. Imurarmdir /tmp/msdosfstest
42