[ruby-trunk - Bug #5708][Open] Tempfile.new(pre) with block in test_autoclose

Issue #5708 has been reported by Akira T…


Bug #5708: Tempfile.new(pre) with block in test_autoclose

Author: Akira T.
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2011-12-03 trunk 33934) [x86_64-linux]

気がついたのですが、test/ruby/test_io.rb の test_autoclose で、
Tempfile.new をブロック付きで使っています。

Tempfile.new はブロックを呼び出さないので、バグではないかと思われます。

test/ruby/test_io.rb:

def test_autoclose
feature2250 = ‘[ruby-core:26222]’
pre = ‘ft2250’

Tempfile.new(pre) do |t|
  f = IO.for_fd(t.fileno)
  assert_equal(true, f.autoclose?)
  f.autoclose = false
  assert_equal(false, f.autoclose?)
  f.close
  assert_nothing_raised(Errno::EBADF) {t.close}

  t.open
  f = IO.for_fd(t.fileno, autoclose: false)
  assert_equal(false, f.autoclose?)
  f.autoclose = true
  assert_equal(true, f.autoclose?)
  f.close
  assert_raise(Errno::EBADF) {t.close}
end

Tempfile.new(pre) do |t|
  try_fdopen(t.fileno)
  assert_raise(Errno::EBADF) {t.close}
end

Tempfile.new(pre) do |t|
  try_fdopen(f.fileno, false)
  assert_nothing_raised(Errno::EBADF) {t.close}
end

end

Issue #5708 has been updated by Tomoyuki C…

Status changed from Open to Closed

r34129 で修正済みのようですので閉じます。

Bug #5708: Tempfile.new(pre) with block in test_autoclose

Author: Akira T.
Status: Closed
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2011-12-03 trunk 33934) [x86_64-linux]

気がついたのですが、test/ruby/test_io.rb の test_autoclose で、
Tempfile.new をブロック付きで使っています。

Tempfile.new はブロックを呼び出さないので、バグではないかと思われます。

test/ruby/test_io.rb:

def test_autoclose
feature2250 = ‘[ruby-core:26222]’
pre = ‘ft2250’

Tempfile.new(pre) do |t|
  f = IO.for_fd(t.fileno)
  assert_equal(true, f.autoclose?)
  f.autoclose = false
  assert_equal(false, f.autoclose?)
  f.close
  assert_nothing_raised(Errno::EBADF) {t.close}

  t.open
  f = IO.for_fd(t.fileno, autoclose: false)
  assert_equal(false, f.autoclose?)
  f.autoclose = true
  assert_equal(true, f.autoclose?)
  f.close
  assert_raise(Errno::EBADF) {t.close}
end

Tempfile.new(pre) do |t|
  try_fdopen(t.fileno)
  assert_raise(Errno::EBADF) {t.close}
end

Tempfile.new(pre) do |t|
  try_fdopen(f.fileno, false)
  assert_nothing_raised(Errno::EBADF) {t.close}
end

end