-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
The Bash script given below gives a few examples in which OSSUnixSubprocess doesn’t pass down inherited environment variables as expected, the output is:
$ ./test.sh
OK (\x41\x42\x43):
0000000 41 42 43
0000000 41 42 43
Output does not match (\x09\x31\x09\x32\x09):
0000000 09 31 09 32 09
0000000 31 09 32
Output does not match (\x46\x72\x61\x6E\xC3\xA7\x61\x69\x73):
0000000 46 72 61 6e c3 a7 61 69 73
0000000 46 72 61 6e e7 61 69 73
Error in Pharo (\x46\x72\x61\x6E\xE7\x61\x69\x73):
0000000 46 72 61 6e e7 61 69 73
ZnInvalidUTF8: Illegal continuation byte for utf-8 encoding
Error in Pharo (\xF0\x9F\x92\xA3):
0000000 f0 9f 92 a3
Instance of WideString did not understand #tfPointerAddress
The script ‘test.sh’ (you will probably need to modify ‘pharovm’ and ‘pharoimage’):
#!/bin/bash
pharovm=~/'Documents/Pharo/vms/110-x64/Pharo.app/Contents/MacOS/Pharo'
pharoimage=~/'Documents/Pharo/images/Pharo 11.0 - 64bit (development version, latest)/Pharo 11.0 - 64bit (development version, latest).image'
script="
[
Metacello new
baseline: 'OSSubprocess';
repository: 'github://pharo-contributions/OSSubprocess:master/repository';
load
] on: MetacelloNotification , NewUndeclaredWarning do: [ :notification |
notification resume ].
(Smalltalk at: #OSSUnixSubprocess) new
shell: '/bin/bash' command: 'echo -n \"\$TEST\" | hexdump';
runAndWait.
nil"
run() {
printf '%s\n' "$1 ($2):"
export TEST="$(printf %b "$2")"
/bin/bash -c 'echo -n "$TEST" | hexdump' | head -n 1
"${pharovm}" --headless "${pharoimage}" eval "${script}" 2>&1 | head -n 1
tput sgr0
printf '\n'
}
run 'OK' '\x41\x42\x43'
run 'Output does not match' '\x09\x31\x09\x32\x09'
run 'Output does not match' '\x46\x72\x61\x6E\xC3\xA7\x61\x69\x73'
run 'Error in Pharo' '\x46\x72\x61\x6E\xE7\x61\x69\x73'
run 'Error in Pharo' '\xF0\x9F\x92\xA3'Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels