diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2020-07-03 11:28:16 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2020-07-03 11:28:16 +0900 |
commit | 607678068648e2922c3728b4e5e954ff5bb4a9ef (patch) | |
tree | 17213ecfbf246a0527befbc85c42209b3590495b | |
parent | 380699de48bf697e9c9610858d4c897ebb4bd79f (diff) | |
download | json-607678068648e2922c3728b4e5e954ff5bb4a9ef.tar.gz |
Do not add a relative path to $LOAD_PATH
... because it conflicts with test/ruby/test_m17n.rb.
An exception `incompatible character encodings: UTF-8 and UTF-16BE`
occurs when:
* a non-existence relative path is added to $LOAD_PATH,
* ASCII-incompatible encoding is set to default_external, and
* some file is loaded.
```
$LOAD_PATH << "no_existing_dir"
Encoding.default_external = Encoding::UTF_16BE
load "dummy.rb" #=> incompatible character encodings: UTF-8 and UTF-16BE
```
This issue can be actually observed by a combination of out-of-place
build and the following command:
make test-all TESTS="json ruby/m17n -n test_object_inspect_external"
http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411
ASCII-incompatible default external encoding assumes that the cwd is the
encoding, and it is attempted to beconcatenated with a non-existence
relative LOAD_PATH UTF-8 string, which causes the exception.
This changeset avoids a relative path.
-rw-r--r-- | tests/test_helper.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/test_helper.rb b/tests/test_helper.rb index c5ec0fc..446c020 100644 --- a/tests/test_helper.rb +++ b/tests/test_helper.rb @@ -1,12 +1,12 @@ case ENV['JSON'] when 'pure' - $:.unshift 'lib' + $:.unshift File.join(__dir__, '../lib') require 'json/pure' when 'ext' - $:.unshift 'ext', 'lib' + $:.unshift File.join(__dir__, '../ext'), File.join(__dir__, '../lib') require 'json/ext' else - $:.unshift 'ext', 'lib' + $:.unshift File.join(__dir__, '../ext'), File.join(__dir__, '../lib') require 'json' end |