[前][次][番号順一覧][スレッド一覧]

ruby-changes:23540

From: nobu <ko1@a...>
Date: Tue, 8 May 2012 15:50:16 +0900 (JST)
Subject: [ruby-changes:23540] nobu:r35591 (trunk): test: why believe source directories are writable always?

nobu	2012-05-08 15:49:59 +0900 (Tue, 08 May 2012)

  New Revision: 35591

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35591

  Log:
    test: why believe source directories are writable always?

  Modified files:
    trunk/test/cgi/test_cgi_session.rb
    trunk/test/csv/test_features.rb
    trunk/test/csv/test_interface.rb
    trunk/test/csv/test_serialization.rb
    trunk/test/logger/test_logger.rb

Index: test/logger/test_logger.rb
===================================================================
--- test/logger/test_logger.rb	(revision 35590)
+++ test/logger/test_logger.rb	(revision 35591)
@@ -21,15 +21,8 @@
 
   def setup
     @logger = Logger.new(nil)
-    @filename = __FILE__ + ".#{$$}"
   end
 
-  def teardown
-    unless $DEBUG
-      File.unlink(@filename) if File.exist?(@filename)
-    end
-  end
-
   class Log
     attr_reader :label, :datetime, :pid, :severity, :progname, :msg
     def initialize(line)
@@ -279,13 +272,14 @@
   end
 
   def setup
-    @filename = __FILE__ + ".#{$$}"
+    @tempfile = Tempfile.new("logger")
+    @tempfile.close
+    @filename = @tempfile.path
+    File.unlink(@filename)
   end
 
   def teardown
-    unless $DEBUG
-      File.unlink(@filename) if File.exist?(@filename)
-    end
+    @tempfile.close(true)
   end
 
   def d(log, opt = {})
@@ -480,13 +474,14 @@
 class TestLoggerApplication < Test::Unit::TestCase
   def setup
     @app = Logger::Application.new('appname')
-    @filename = __FILE__ + ".#{$$}"
+    @tempfile = Tempfile.new("logger")
+    @tempfile.close
+    @filename = @tempfile.path
+    File.unlink(@filename)
   end
 
   def teardown
-    unless $DEBUG
-      File.unlink(@filename) if File.exist?(@filename)
-    end
+    @tempfile.close(true)
   end
 
   def test_initialize
Index: test/cgi/test_cgi_session.rb
===================================================================
--- test/cgi/test_cgi_session.rb	(revision 35590)
+++ test/cgi/test_cgi_session.rb	(revision 35591)
@@ -7,8 +7,7 @@
 
 class CGISessionTest < Test::Unit::TestCase
   def setup
-    @session_dir = File.join(File.dirname(__FILE__), 'session_dir')
-    FileUtils.mkdir_p @session_dir
+    @session_dir = Dir.mktmpdir(%w'session dir')
   end
 
   def teardown
Index: test/csv/test_features.rb
===================================================================
--- test/csv/test_features.rb	(revision 35590)
+++ test/csv/test_features.rb	(revision 35591)
@@ -208,7 +208,9 @@
   end
 
   def test_gzip_writer_bug_fix
-    file   = File.join(File.dirname(__FILE__), "temp.gz")
+    tempfile = Tempfile.new(%w"temp .gz")
+    tempfile.close
+    file = tempfile.path
     zipped = nil
     assert_nothing_raised(NoMethodError) do
       zipped = CSV.new(Zlib::GzipWriter.open(file))
@@ -220,7 +222,7 @@
     assert( Zlib::GzipReader.open(file) { |f| f.read }.
                              include?($INPUT_RECORD_SEPARATOR),
             "@row_sep did not default" )
-    File.unlink(file)
+    tempfile.close(true)
   end
 
   def test_inspect_is_smart_about_io_types
@@ -230,11 +232,13 @@
     str = CSV.new($stderr).inspect
     assert(str.include?("io_type:$stderr"), "IO type not detected.")
 
-    path = File.join(File.dirname(__FILE__), "temp.csv")
+    tempfile = Tempfile.new(%w"temp .csv")
+    tempfile.close
+    path = tempfile.path
     File.open(path, "w") { |csv| csv << "one,two,three\n1,2,3\n" }
     str  = CSV.open(path) { |csv| csv.inspect }
     assert(str.include?("io_type:File"), "IO type not detected.")
-    File.unlink(path)
+    tempfile.close(true)
   end
 
   def test_inspect_shows_key_attributes
Index: test/csv/test_interface.rb
===================================================================
--- test/csv/test_interface.rb	(revision 35590)
+++ test/csv/test_interface.rb	(revision 35591)
@@ -8,13 +8,16 @@
 #  under the terms of Ruby's license.
 
 require_relative "base"
+require "tempfile"
 
 class TestCSV::Interface < TestCSV
   extend DifferentOFS
 
   def setup
     super
-    @path = File.join(File.dirname(__FILE__), "temp_test_data.csv")
+    @tempfile = Tempfile.new(%w"temp .csv")
+    @tempfile.close
+    @path = @tempfile.path
 
     File.open(@path, "wb") do |file|
       file << "1\t2\t3\r\n"
@@ -25,7 +28,7 @@
   end
 
   def teardown
-    File.unlink(@path)
+    @tempfile.close(true)
     super
   end
 
@@ -112,7 +115,7 @@
       assert_equal(nil, csv.shift)
     end
   end
-  
+
   def test_enumerators_are_supported
     CSV.open(@path, col_sep: "\t", row_sep: "\r\n") do |csv|
       enum = csv.each
Index: test/csv/test_serialization.rb
===================================================================
--- test/csv/test_serialization.rb	(revision 35590)
+++ test/csv/test_serialization.rb	(revision 35591)
@@ -131,7 +131,9 @@
   def test_io
     test_class_dump
 
-    data_file = File.join(File.dirname(__FILE__), "serialization_test_data.csv")
+    tempfile = Tempfile.new(%w"serialization .csv")
+    tempfile.close
+    data_file = tempfile.path
     CSV.dump(@names, File.open(data_file, "wb"))
 
     assert(File.exist?(data_file))
@@ -145,7 +147,7 @@
 
     assert_equal(@names, CSV.load(File.open(data_file)))
 
-    File.unlink(data_file)
+    tempfile.close(true)
   end
 
   def test_custom_dump_and_load

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]