Hi Vit

>> * test/io/console/test_io_console.rb (test_noctty): daemon() on
>> =A0 OpenBSD seems not to detach the controlling terminal, when the
>> =A0 argument noclose is non-zero. =A0ref: [Bug #5135]
>
> Nobu, you closed the issue but I am still fighting with four failed tests=
: https://gist.github.com/1127698

Following two failures seems point out a kernel issue. Can you please
elaborate your filesystem,
mount option, et al?
Also, please show us your kernel and glibc version.

 28) Failure:
test_seek(TestDir)
[/builddir/build/BUILD/ruby-1.9.3-preview1/test/ruby/test_dir.rb:39]:
<".."> expected but was
<"a">.
 29) Failure:
test_set_pos(TestDir)
[/builddir/build/BUILD/ruby-1.9.3-preview1/test/ruby/test_dir.rb:81]:
<".."> expected but was
<"a">.


And can you please try run following minimum script by using strace.

---------------------------------------------------------------------------=
-----------------------------
require 'fileutils'

# setup
@root =3D "testdir"

FileUtils.remove_entry(@root, true)
FileUtils.mkdir(@root)
for i in ?a..?z
  if i.ord % 2 =3D=3D 0
    FileUtils.touch(File.join(@root, i))
  else
    FileUtils.mkdir(File.join(@root, i))
  end
end


dir =3D Dir.open(@root)
cache =3D []

# 1.read and cache
loop do
  pos =3D dir.tell
  break unless name =3D dir.read
  puts "[pos=3D#{pos}, name=3D#{name}]"
  cache << [pos, name]
end

# seek and compare
for x,y in cache.sort_by {|z| z[0] % 3 } # shuffle
  dir.seek(x)
  ret =3D dir.read
  if y =3D=3D ret
    puts "seek(#{x}) entry =3D #{ret}"
  else
    puts "Eek!! seek(#{x}) entry =3D #{ret} but, we expected #{y}"
  end
end
---------------------------------------------------------------------------=
-----------------------------

example, my Ext4 filesystem show following result.

%   ruby-trunk fstest.rb
[pos=3D0, name=3D.]
[pos=3D89822176, name=3Dd]
[pos=3D194165296, name=3Dj]
[pos=3D271696806, name=3Dn]
[pos=3D608323928, name=3De]
[pos=3D652813187, name=3Di]
[pos=3D661317888, name=3Dq]
[pos=3D680493873, name=3Dt]
[pos=3D764719427, name=3Dr]
[pos=3D773318942, name=3Dp]
[pos=3D820798994, name=3Dy]
[pos=3D846165918, name=3Dk]
[pos=3D875980547, name=3Dv]
[pos=3D915529337, name=3Df]
[pos=3D1008597156, name=3Dg]
[pos=3D1236501901, name=3Do]
[pos=3D1383945616, name=3Dx]
[pos=3D1419715873, name=3Dm]
[pos=3D1511546423, name=3Ds]
[pos=3D1514771115, name=3Db]
[pos=3D1661695967, name=3Dz]
[pos=3D1666995949, name=3Dw]
[pos=3D1837064742, name=3D..]
[pos=3D1860637837, name=3Dc]
[pos=3D1886395128, name=3Du]
[pos=3D1899245332, name=3Dh]
[pos=3D2068400167, name=3Da]
[pos=3D2074218752, name=3Dl]
seek(0) entry =3D .
seek(1886395128) entry =3D u
seek(1837064742) entry =3D ..
seek(271696806) entry =3D n
seek(1514771115) entry =3D b
seek(846165918) entry =3D k
seek(661317888) entry =3D q
seek(680493873) entry =3D t
seek(1008597156) entry =3D g
seek(1236501901) entry =3D o
seek(2068400167) entry =3D a
seek(1899245332) entry =3D h
seek(89822176) entry =3D d
seek(1860637837) entry =3D c
seek(194165296) entry =3D j
seek(1666995949) entry =3D w
seek(1383945616) entry =3D x
seek(1419715873) entry =3D m
seek(1511546423) entry =3D s
seek(608323928) entry =3D e
seek(1661695967) entry =3D z
seek(773318942) entry =3D p
seek(652813187) entry =3D i
seek(915529337) entry =3D f
seek(875980547) entry =3D v
seek(764719427) entry =3D r
seek(820798994) entry =3D y
seek(2074218752) entry =3D l


% strace -v ruby-trunk  fstest.rb

# Note: -v is very important.


(snip)
lseek(6, 2074218752, SEEK_SET)          =3D 2074218752
getdents(6, {{d_ino=3D3671518, d_off=3D2147483647, d_reclen=3D24,
d_name=3D"l"}}, 32768) =3D 24
write(1, "seek(2074218752) entry =3D l", 26seek(2074218752) entry =3D l) =
=3D 26
write(1, "\n", 1
)                       =3D 1
getrlimit(RLIMIT_STACK, {rlim_cur=3D8720000, rlim_max=3DRLIM_INFINITY}) =3D=
 0
rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER|SA_SIGINFO,
0x380be0eeb0}, {0x4b2fbc, [], SA_RESTORER|S\
A_SIGINFO, 0x380be0eeb0}, 8) =3D 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER|SA_SIGINFO,
0x380be0eeb0}, {SIG_IGN, [], SA_RESTORER|SA\
_SIGINFO, 0x380be0eeb0}, 8) =3D 0
close(6)                                =3D 0
write(5, "!", 1)                        =3D 1
munmap(0x7f6fb20f4000, 1052672)         =3D 0
exit_group(0)                           =3D ?