Project

General

Profile

Actions

Bug #5708

closed

Tempfile.new(pre) with block in test_autoclose

Added by akr (Akira Tanaka) over 12 years ago. Updated about 12 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0dev (2011-12-03 trunk 33934) [x86_64-linux]
Backport:
[ruby-dev:44928]

Description

気がついたのですが、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

Updated by nagachika (Tomoyuki Chikanaga) about 12 years ago

  • Status changed from Open to Closed

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

Actions

Also available in: Atom PDF

Like0
Like0