summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rw-r--r--tool/rubyspec_temp.rb13
1 files changed, 13 insertions, 0 deletions
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