about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorHleb Valoshka <375gnu@gmail.com>2013-09-04 15:07:19 +0300
committerEric Wong <normalperson@yhbt.net>2013-09-04 17:29:19 +0000
commit90340eb8f2c5bf820eabd3c25fb39e45285b1c40 (patch)
tree061d89a6124252689469eaf9621895d0f90e76c2 /test
parent71f656e40de99d240c873ebb23451f76e46e5a20 (diff)
downloadkgio-90340eb8f2c5bf820eabd3c25fb39e45285b1c40.tar.gz
[ew: this avoids a TOCTOU issue for multiple test invocations]

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'test')
-rw-r--r--test/lib_read_write.rb2
-rw-r--r--test/lib_server_accept.rb2
-rw-r--r--test/test_unix_client_read_server_write.rb4
-rw-r--r--test/test_unix_connect.rb5
-rw-r--r--test/test_unix_server.rb4
-rw-r--r--test/test_unix_server_read_client_write.rb4
6 files changed, 17 insertions, 4 deletions
diff --git a/test/lib_read_write.rb b/test/lib_read_write.rb
index 5034db8..cac87b7 100644
--- a/test/lib_read_write.rb
+++ b/test/lib_read_write.rb
@@ -2,6 +2,7 @@
 require 'test/unit'
 require 'io/nonblock'
 require 'digest/sha1'
+require 'fileutils'
 $-w = true
 require 'kgio'
 
@@ -11,6 +12,7 @@ module LibReadWriteTest
   def teardown
     @rd.close if defined?(@rd) && ! @rd.closed?
     @wr.close if defined?(@wr) && ! @wr.closed?
+    FileUtils.remove_entry_secure(@tmpdir) if defined?(@tmpdir)
   end
 
   def test_write_empty
diff --git a/test/lib_server_accept.rb b/test/lib_server_accept.rb
index ff0f733..db0d120 100644
--- a/test/lib_server_accept.rb
+++ b/test/lib_server_accept.rb
@@ -1,6 +1,7 @@
 require 'test/unit'
 require 'fcntl'
 require 'io/nonblock'
+require 'fileutils'
 $-w = true
 require 'kgio'
 
@@ -8,6 +9,7 @@ module LibServerAccept
 
   def teardown
     @srv.close unless @srv.closed?
+    FileUtils.remove_entry_secure(@tmpdir) if defined?(@tmpdir)
     Kgio.accept_cloexec = true
     Kgio.accept_nonblock = false
   end
diff --git a/test/test_unix_client_read_server_write.rb b/test/test_unix_client_read_server_write.rb
index f5d481a..2f2b7b9 100644
--- a/test/test_unix_client_read_server_write.rb
+++ b/test/test_unix_client_read_server_write.rb
@@ -1,9 +1,11 @@
 require './test/lib_read_write'
 require 'tempfile'
+require 'tmpdir'
 
 class TestUnixClientReadServerWrite < Test::Unit::TestCase
   def setup
-    tmp = Tempfile.new('kgio_unix_0')
+    @tmpdir = Dir.mktmpdir('kgio_unix_0')
+    tmp = Tempfile.new('kgio_unix_0', @tmpdir)
     @path = tmp.path
     File.unlink(@path)
     tmp.close rescue nil
diff --git a/test/test_unix_connect.rb b/test/test_unix_connect.rb
index 007f422..60cb8c0 100644
--- a/test/test_unix_connect.rb
+++ b/test/test_unix_connect.rb
@@ -3,6 +3,7 @@ require 'io/nonblock'
 $-w = true
 require 'kgio'
 require 'tempfile'
+require 'tmpdir'
 
 class SubSocket < Kgio::Socket
   attr_accessor :foo
@@ -14,7 +15,8 @@ end
 class TestKgioUnixConnect < Test::Unit::TestCase
 
   def setup
-    tmp = Tempfile.new('kgio_unix_1')
+    @tmpdir = Dir.mktmpdir('kgio_unix_1')
+    tmp = Tempfile.new('kgio_unix_1', @tmpdir)
     @path = tmp.path
     File.unlink(@path)
     tmp.close rescue nil
@@ -25,6 +27,7 @@ class TestKgioUnixConnect < Test::Unit::TestCase
   def teardown
     @srv.close unless @srv.closed?
     File.unlink(@path)
+    FileUtils.remove_entry_secure(@tmpdir)
     Kgio.accept_cloexec = true
   end
 
diff --git a/test/test_unix_server.rb b/test/test_unix_server.rb
index b15d9ec..02e4d8d 100644
--- a/test/test_unix_server.rb
+++ b/test/test_unix_server.rb
@@ -1,10 +1,12 @@
 require 'tempfile'
+require 'tmpdir'
 require './test/lib_server_accept'
 
 class TestKgioUNIXServer < Test::Unit::TestCase
 
   def setup
-    tmp = Tempfile.new('kgio_unix_2')
+    @tmpdir = Dir.mktmpdir('kgio_unix_2')
+    tmp = Tempfile.new('kgio_unix_2', @tmpdir)
     @path = tmp.path
     File.unlink(@path)
     tmp.close rescue nil
diff --git a/test/test_unix_server_read_client_write.rb b/test/test_unix_server_read_client_write.rb
index 0f57bfe..a994e01 100644
--- a/test/test_unix_server_read_client_write.rb
+++ b/test/test_unix_server_read_client_write.rb
@@ -1,9 +1,11 @@
 require './test/lib_read_write'
 require 'tempfile'
+require 'tmpdir'
 
 class TestUnixServerReadClientWrite < Test::Unit::TestCase
   def setup
-    tmp = Tempfile.new('kgio_unix_3')
+    @tmpdir = Dir.mktmpdir('kgio_unix_3')
+    tmp = Tempfile.new('kgio_unix_3', @tmpdir)
     @path = tmp.path
     File.unlink(@path)
     tmp.close rescue nil