diff options
Diffstat (limited to 'spec/ruby/core/file/atime_spec.rb')
| -rw-r--r-- | spec/ruby/core/file/atime_spec.rb | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/spec/ruby/core/file/atime_spec.rb b/spec/ruby/core/file/atime_spec.rb index 76e7fbd62a..5c6c110eec 100644 --- a/spec/ruby/core/file/atime_spec.rb +++ b/spec/ruby/core/file/atime_spec.rb @@ -1,4 +1,4 @@ -require File.expand_path('../../../spec_helper', __FILE__) +require_relative '../../spec_helper' describe "File.atime" do before :each do @@ -12,25 +12,30 @@ describe "File.atime" do it "returns the last access time for the named file as a Time object" do File.atime(@file) - File.atime(@file).should be_kind_of(Time) - end - - platform_is :linux do - ## NOTE also that some Linux systems disable atime (e.g. via mount params) for better filesystem speed. - it "returns the last access time for the named file with microseconds" do - supports_subseconds = Integer(`stat -c%x '#{__FILE__}'`[/\.(\d+)/, 1], 10) - if supports_subseconds != 0 - expected_time = Time.at(Time.now.to_i + 0.123456) - File.utime expected_time, 0, @file - File.atime(@file).usec.should == expected_time.usec - else - File.atime(__FILE__).usec.should == 0 + File.atime(@file).should.is_a?(Time) + end + + platform_is :linux, :windows do + unless ENV.key?('TRAVIS') # https://bugs.ruby-lang.org/issues/17926 + ## NOTE also that some Linux systems disable atime (e.g. via mount params) for better filesystem speed. + it "returns the last access time for the named file with microseconds" do + supports_subseconds = Integer(`stat -c%x '#{__FILE__}'`[/\.(\d{1,6})/, 1], 10) + if supports_subseconds != 0 + expected_time = Time.at(Time.now.to_i + 0.123456) + File.utime expected_time, 0, @file + File.atime(@file).usec.should == expected_time.usec + else + File.atime(__FILE__).usec.should == 0 + end + rescue Errno::ENOENT => e + # Native Windows don't have stat command. + skip e.message end end end it "raises an Errno::ENOENT exception if the file is not found" do - lambda { File.atime('a_fake_file') }.should raise_error(Errno::ENOENT) + -> { File.atime('a_fake_file') }.should.raise(Errno::ENOENT) end it "accepts an object that has a #to_path method" do @@ -50,6 +55,6 @@ describe "File#atime" do it "returns the last access time to self" do @file.atime - @file.atime.should be_kind_of(Time) + @file.atime.should.is_a?(Time) end end |
