summary refs log tree commit diff
path: root/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/parted/gpt-unicode-test-fix.patch')
-rw-r--r--pkgs/tools/misc/parted/gpt-unicode-test-fix.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
new file mode 100644
index 000000000000..470188bf55e5
--- /dev/null
+++ b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
@@ -0,0 +1,38 @@
+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