ruby-changes:55606
From: Benoit <ko1@a...>
Date: Mon, 29 Apr 2019 06:18:00 +0900 (JST)
Subject: [ruby-changes:55606] Benoit Daloze:bbb93608a3 (trunk): Move the check for CentOS CLOCK_MONOTONIC_RAW next to others
https://git.ruby-lang.org/ruby.git/commit/?id=bbb93608a3 From bbb93608a385242da93bc5256a90a6376981d86f Mon Sep 17 00:00:00 2001 From: Benoit Daloze <eregontp@g...> Date: Sun, 28 Apr 2019 23:16:03 +0200 Subject: Move the check for CentOS CLOCK_MONOTONIC_RAW next to others * Fixes "No behavior expectation was found in the example" * https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-trunk/log/20190428T093004Z.fail.html.gz diff --git a/spec/ruby/core/process/clock_getres_spec.rb b/spec/ruby/core/process/clock_getres_spec.rb index b6353fe..0fc2a95 100644 --- a/spec/ruby/core/process/clock_getres_spec.rb +++ b/spec/ruby/core/process/clock_getres_spec.rb @@ -11,24 +11,20 @@ describe "Process.clock_getres" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/process/clock_getres_spec.rb#L11 end reported = Process.clock_getres(value, :nanosecond) - # CentOS seems to report a negative resolution: - # https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-trunk/log/20190428T093004Z.fail.html.gz - unless name == :CLOCK_MONOTONIC_RAW and reported < 0 - # The clock should not be more accurate than reported (times should be - # a multiple of reported precision.) - times.select { |t| t % reported > 0 }.should be_empty - - # We're assuming precision is a multiple of ten - it may or may not - # be an incompatibility if it isn't but we'd like to notice this, - # and the spec following these wouldn't work if it isn't. - reported.should > 0 - (reported == 1 || reported % 10 == 0).should be_true - - # The clock should not be less accurate than reported (times should - # not all be a multiple of the next precision up, assuming precisions - # are multiples of ten.) - times.select { |t| t % (reported * 10) == 0 }.size.should_not == times.size - end + # The clock should not be more accurate than reported (times should be + # a multiple of reported precision.) + times.select { |t| t % reported > 0 }.should be_empty + + # We're assuming precision is a multiple of ten - it may or may not + # be an incompatibility if it isn't but we'd like to notice this, + # and the spec following these wouldn't work if it isn't. + reported.should > 0 + (reported == 1 || reported % 10 == 0).should be_true + + # The clock should not be less accurate than reported (times should + # not all be a multiple of the next precision up, assuming precisions + # are multiples of ten.) + times.select { |t| t % (reported * 10) == 0 }.size.should_not == times.size end end end diff --git a/spec/ruby/core/process/fixtures/clocks.rb b/spec/ruby/core/process/fixtures/clocks.rb index c04ae77..f8ec0f0 100644 --- a/spec/ruby/core/process/fixtures/clocks.rb +++ b/spec/ruby/core/process/fixtures/clocks.rb @@ -40,6 +40,13 @@ module ProcessSpecs https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/process/fixtures/clocks.rb#L40 } end + # CentOS seems to report a negative resolution for CLOCK_MONOTONIC_RAW + platform_is :linux do + clocks = clocks.reject { |clock, value| + clock == :CLOCK_MONOTONIC_RAW and Process.clock_getres(value, :nanosecond) < 0 + } + end + clocks end end -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/