1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/core/file/mtime_spec.rb
Nobuyoshi Nakada 174ddc79c5
Skip File.atime/File.mtime tests randomly failing on Travis
Not only powerpc64le, also s390x and arm32 seem failing too.  These
failures are probably caused by filesystem settings on Travis, but
unrelated to CPUs.
2022-10-24 09:32:13 +09:00

53 lines
1.3 KiB
Ruby

require_relative '../../spec_helper'
describe "File.mtime" do
before :each do
@filename = tmp('i_exist')
touch(@filename) { @mtime = Time.now }
end
after :each do
rm_r @filename
end
it "returns the modification Time of the file" do
File.mtime(@filename).should be_kind_of(Time)
File.mtime(@filename).should be_close(@mtime, TIME_TOLERANCE)
end
platform_is :linux, :windows do
unless ENV.key?('TRAVIS') # https://bugs.ruby-lang.org/issues/17926
it "returns the modification Time of the file with microseconds" do
supports_subseconds = Integer(`stat -c%y '#{__FILE__}'`[/\.(\d{1,6})/, 1], 10)
if supports_subseconds != 0
expected_time = Time.at(Time.now.to_i + 0.123456)
File.utime 0, expected_time, @filename
File.mtime(@filename).usec.should == expected_time.usec
else
File.mtime(__FILE__).usec.should == 0
end
end
end
end
it "raises an Errno::ENOENT exception if the file is not found" do
-> { File.mtime('bogus') }.should raise_error(Errno::ENOENT)
end
end
describe "File#mtime" do
before :each do
@filename = tmp('i_exist')
@f = File.open(@filename, 'w')
end
after :each do
@f.close
rm_r @filename
end
it "returns the modification Time of the file" do
@f.mtime.should be_kind_of(Time)
end
end