2011-02-14 22:41:43 +11:00
|
|
|
# Test that redo can handle a script whose path contains non-ASCII characters.
|
t/103-unicode: workaround unicode normalization on newer macOS.
As named, the file would be extracted by git on macOS, then
(un)helpfully normalized by the macOS filesystem. After that,
"git clean -fdx" would delete the file, since it no longer
had the expected name, so git thought it wasn't part of its repo.
I considered pre-normalizing the filename, but a) that would break
on any future OS that normalizes differently; and b) that means we
won't test denormalized filenames. Instead, we'll remove the directory
from git, and create it from sh instead, then figure out what name
it got really created as, and then pass the "real" name to redo.
2019-07-24 03:00:52 -04:00
|
|
|
# Note: the test directory is intentionally *not* a normalized unicode
|
|
|
|
|
# string, ie. filesystems like macOS will convert it to a different string
|
|
|
|
|
# at creation time. This tests weird normalization edge cases.
|
|
|
|
|
#
|
|
|
|
|
# Unfortunately, on macOS with APFS, it may helpfully normalize the path at
|
|
|
|
|
# *create* time, but not on future *open* attempts. Thus, we let the shell
|
|
|
|
|
# figure out what directory name actually got created, then pass that to redo.
|
|
|
|
|
# Hence the weird wildcard expansion loop.
|
|
|
|
|
rm -rf test-uni*.tmp
|
|
|
|
|
mkdir "test-uniçøðë.tmp"
|
|
|
|
|
for p in test-uni*.tmp; do
|
|
|
|
|
: >$p/test1.do
|
|
|
|
|
redo "$p/test1"
|
|
|
|
|
done
|
|
|
|
|
|