Hi Vit

>> * test/io/console/test_io_console.rb (test_noctty): daemon() on
>> OpenBSD seems not to detach the controlling terminal, when the
>> argument noclose is non-zero.   
>
> 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 = "testdir"

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


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

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

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

example, my Ext4 filesystem show following result.

%   ruby-trunk fstest.rb
[pos=0, name=.]
[pos=89822176, name=d]
[pos=194165296, name=j]
[pos=271696806, name=n]
[pos=608323928, name=e]
[pos=652813187, name=i]
[pos=661317888, name=q]
[pos=680493873, name=t]
[pos=764719427, name=r]
[pos=773318942, name=p]
[pos=820798994, name=y]
[pos=846165918, name=k]
[pos=875980547, name=v]
[pos=915529337, name=f]
[pos=1008597156, name=g]
[pos=1236501901, name=o]
[pos=1383945616, name=x]
[pos=1419715873, name=m]
[pos=1511546423, name=s]
[pos=1514771115, name=b]
[pos=1661695967, name=z]
[pos=1666995949, name=w]
[pos=1837064742, name=..]
[pos=1860637837, name=c]
[pos=1886395128, name=u]
[pos=1899245332, name=h]
[pos=2068400167, name=a]
[pos=2074218752, name=l]
seek(0) entry = .
seek(1886395128) entry = u
seek(1837064742) entry = ..
seek(271696806) entry = n
seek(1514771115) entry = b
seek(846165918) entry = k
seek(661317888) entry = q
seek(680493873) entry = t
seek(1008597156) entry = g
seek(1236501901) entry = o
seek(2068400167) entry = a
seek(1899245332) entry = h
seek(89822176) entry = d
seek(1860637837) entry = c
seek(194165296) entry = j
seek(1666995949) entry = w
seek(1383945616) entry = x
seek(1419715873) entry = m
seek(1511546423) entry = s
seek(608323928) entry = e
seek(1661695967) entry = z
seek(773318942) entry = p
seek(652813187) entry = i
seek(915529337) entry = f
seek(875980547) entry = v
seek(764719427) entry = r
seek(820798994) entry = y
seek(2074218752) entry = l


% strace -v ruby-trunk  fstest.rb

# Note: -v is very important.


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