mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

Not only powerpc64le, also s390x and arm32 seem failing too. These failures are probably caused by filesystem settings on Travis, but unrelated to CPUs.
53 lines
1.3 KiB
Ruby
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
|