Forum: Ruby-dev Error in TestIO#test_seek_symwhence and TestIO#test_seek on systems without File::Statfs#type (e.g.

205ca9566e14fb669ed977cae5af88e0?d=identicon&s=25 unknown (Guest)
on 2014-05-01 05:08
(Received via mailing list)
Issue #9789 has been updated by Naohisa Goto.



>IO::SEEK_DATA自体はうごくんでしょうか。

~~~
% dd if=/dev/zero of=/var/tmp/test.dat bs=512 count=10 seek=16384
%
% ruby -e 'f = open("/var/tmp/test.dat"); f.seek(0, :DATA); p f.pos'
8388608
% ruby -e 'f = open("/var/tmp/test.dat"); f.seek(0, :HOLE); p f.pos'
0
% ruby -e 'p IO::SEEK_DATA; p IO::SEEK_HOLE'
3
4
~~~

ということで動いています。

----------------------------------------
Bug #9789: Error in TestIO#test_seek_symwhence and TestIO#test_seek on
systems without File::Statfs#type (e.g. Solaris)
https://bugs.ruby-lang.org/issues/9789#change-46419

* Author: Naohisa Goto
* Status: Open
* Priority: Normal
* Assignee: Naohisa Goto
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.2.0dev (2014-04-30) [sparc64-solaris2.10]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED
----------------------------------------
File::Statfs#type が無い(NotImplementedErrorになる)環境にて、
TestIO#test_seek_symwhence と TestIO#test_seek がエラーになります。
Solaris 10 (64ビット)、r45760 (+ Bug #9788 のパッチ)にて確認しました。

~~~
 52) Error:
TestIO#test_seek_symwhence:
NotImplementedError: type() function is unimplemented on this machine
    /XXXXXXXXXX/test/ruby/test_io.rb:1768:in `type'
    /XXXXXXXXXX/test/ruby/test_io.rb:1768:in `block (2 levels) in
test_seek_symwhence'
    /XXXXXXXXXX/lib/open-uri.rb:36:in `open'
    /XXXXXXXXXX/lib/open-uri.rb:36:in `open'
    /XXXXXXXXXX/test/ruby/test_io.rb:1765:in `block in
test_seek_symwhence'
    /XXXXXXXXXX/test/ruby/test_io.rb:1432:in `make_tempfile'
    /XXXXXXXXXX/test/ruby/test_io.rb:1747:in `test_seek_symwhence'

 53) Error:
TestIO#test_seek:
NotImplementedError: type() function is unimplemented on this machine
    /XXXXXXXXXX/test/ruby/test_io.rb:1718:in `type'
    /XXXXXXXXXX/test/ruby/test_io.rb:1718:in `block (2 levels) in
test_seek'
    /XXXXXXXXXX/lib/open-uri.rb:36:in `open'
    /XXXXXXXXXX/lib/open-uri.rb:36:in `open'
    /XXXXXXXXXX/test/ruby/test_io.rb:1715:in `block in test_seek'
    /XXXXXXXXXX/test/ruby/test_io.rb:1432:in `make_tempfile'
    /XXXXXXXXXX/test/ruby/test_io.rb:1692:in `test_seek'
~~~
This topic is locked and can not be replied to.