mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fix errors when XDG_CONFIG_HOME points to non-writable directory
`$HOME/.config` is not writable on CI
because I think tests should not corrupt user's data.
And GitHub Actions CI sets `XDG_CONFIG_HOME`
since `Version: 20210309.1`.
2130811016 (step)
:16:301
```
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
```
This commit is contained in:
parent
05ebaee80e
commit
e0dd072978
1 changed files with 2 additions and 0 deletions
|
@ -17,12 +17,14 @@ module TestIRB
|
||||||
Dir.chdir(@tmpdir)
|
Dir.chdir(@tmpdir)
|
||||||
@home_backup = ENV["HOME"]
|
@home_backup = ENV["HOME"]
|
||||||
ENV["HOME"] = @tmpdir
|
ENV["HOME"] = @tmpdir
|
||||||
|
@xdg_config_home_backup = ENV.delete("XDG_CONFIG_HOME")
|
||||||
@default_encoding = [Encoding.default_external, Encoding.default_internal]
|
@default_encoding = [Encoding.default_external, Encoding.default_internal]
|
||||||
@stdio_encodings = [STDIN, STDOUT, STDERR].map {|io| [io.external_encoding, io.internal_encoding] }
|
@stdio_encodings = [STDIN, STDOUT, STDERR].map {|io| [io.external_encoding, io.internal_encoding] }
|
||||||
IRB.instance_variable_get(:@CONF).clear
|
IRB.instance_variable_get(:@CONF).clear
|
||||||
end
|
end
|
||||||
|
|
||||||
def teardown
|
def teardown
|
||||||
|
ENV["XDG_CONFIG_HOME"] = @xdg_config_home_backup
|
||||||
ENV["HOME"] = @home_backup
|
ENV["HOME"] = @home_backup
|
||||||
Dir.chdir(@pwd)
|
Dir.chdir(@pwd)
|
||||||
FileUtils.rm_rf(@tmpdir)
|
FileUtils.rm_rf(@tmpdir)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue