39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
|
From Ludo's suggestion at:
|
||
|
|
||
|
http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;bug=18258
|
||
|
|
||
|
diff --git a/tests/.t0251-gpt-unicode.sh.swp b/tests/.t0251-gpt-unicode.sh.swp
|
||
|
deleted file mode 100644
|
||
|
index b41c337..0000000
|
||
|
Binary files a/tests/.t0251-gpt-unicode.sh.swp and /dev/null differ
|
||
|
diff --git a/tests/t0251-gpt-unicode.sh b/tests/t0251-gpt-unicode.sh
|
||
|
index c845950..fa63a72 100755
|
||
|
--- a/tests/t0251-gpt-unicode.sh
|
||
|
+++ b/tests/t0251-gpt-unicode.sh
|
||
|
@@ -22,7 +22,24 @@ dev=loop-file
|
||
|
# create zeroed device
|
||
|
truncate -s 10m $dev || fail=1
|
||
|
|
||
|
-export LC_ALL=C.UTF-8
|
||
|
+found_locale=no
|
||
|
+for locale in en_US de_DE fr_FR es_ES
|
||
|
+do
|
||
|
+ LC_ALL="$locale.UTF-8"
|
||
|
+ export LC_ALL
|
||
|
+
|
||
|
+ # In a UTF-8 locale, the string below prints as 4 characters.
|
||
|
+ if [ `printf 'foo\341\264\244' | wc -m` -eq 4 ]; then
|
||
|
+ found_locale=yes
|
||
|
+ break
|
||
|
+ fi
|
||
|
+done
|
||
|
+
|
||
|
+if [ "$found_locale" != "yes" ]; then
|
||
|
+ echo "no valid UTF-8 locale found; skipping" >&2
|
||
|
+ exit 77
|
||
|
+fi
|
||
|
+
|
||
|
# create gpt label with named partition
|
||
|
part_name=$(printf 'foo\341\264\244')
|
||
|
parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
|