Make redo read byte-strings from the database.
By default, the database redo uses to store file state returns filenames as Unicode strings, and if redo tries to run a build-script whose fully-qualified path contains non-ASCII characters then redo crashes when trying to promote the path to a Unicode string. This patch ensures that the database always returns byte-strings, not Unicode strings. That way, the fully-qualified path and the target name are both byte-strings and can be joined without issue. (Fixes a bug reported by Zoran Zaric.)
This commit is contained in:
parent
b43317bb83
commit
e27aaf01e7
4 changed files with 5 additions and 1 deletions
0
t/test-uniçøðë/test1.do
Normal file
0
t/test-uniçøðë/test1.do
Normal file
|
|
@ -3,4 +3,5 @@ redo-ifchange all
|
|||
redo nonshelltest shelltest \
|
||||
deltest deltest2 test.args test2.args passfailtest chdirtest \
|
||||
curse/test deps/test "space dir/test" modetest makedir2 \
|
||||
silencetest touchtest stamp/test alwaystest ifcreate-test
|
||||
silencetest touchtest stamp/test alwaystest ifcreate-test \
|
||||
unicode
|
||||
|
|
|
|||
2
t/unicode.do
Normal file
2
t/unicode.do
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# Test that redo can handle a script whose path contains non-ASCII characters.
|
||||
redo test-uniçøðë/test1
|
||||
Loading…
Add table
Add a link
Reference in a new issue