From de5cd5a635e3b975ca7acc5caf0363f2811abd95 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 21 Apr 2023 10:53:53 +0900 Subject: Use shorter path as `SPEC_TEMP_DIR` The temporary directory under the build directory may be too long as a UNIX socket path. On macOS, the default `TMPDIR` per user is also very long. --- tool/rubyspec_temp.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 tool/rubyspec_temp.rb (limited to 'tool') diff --git a/tool/rubyspec_temp.rb b/tool/rubyspec_temp.rb new file mode 100644 index 0000000000..339bfce211 --- /dev/null +++ b/tool/rubyspec_temp.rb @@ -0,0 +1,13 @@ +require "tmpdir" +require "fileutils" + +if (tmpdir = Dir.mktmpdir("rubyspec_temp.")).size > 80 + # On macOS, the default TMPDIR is very long, inspite of UNIX socket + # path length is limited. + Dir.rmdir(tmpdir) + tmpdir = Dir.mktmpdir("rubyspec_temp.", "/tmp") +end +# warn "tmpdir(#{tmpdir.size}) = #{tmpdir}" +END {FileUtils.rm_rf(tmpdir)} + +ENV["TMPDIR"] = ENV["SPEC_TEMP_DIR"] = tmpdir -- cgit v1.2.1