summaryrefslogtreecommitdiff
path: root/spec/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby')
-rw-r--r--spec/ruby/core/process/clock_gettime_spec.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/spec/ruby/core/process/clock_gettime_spec.rb b/spec/ruby/core/process/clock_gettime_spec.rb
index b690186ac3..56d75a04c9 100644
--- a/spec/ruby/core/process/clock_gettime_spec.rb
+++ b/spec/ruby/core/process/clock_gettime_spec.rb
@@ -2,13 +2,19 @@ require_relative '../../spec_helper'
describe "Process.clock_gettime" do
platform_is_not :windows do
- Process.constants.select { |c|
- c.to_s.start_with?('CLOCK_') &&
+ invalid_clocks = [
# These require CAP_WAKE_ALARM and are not documented in clock_gettime(),
# they return EINVAL if the permission is not granted.
- c != :CLOCK_BOOTTIME_ALARM &&
- c != :CLOCK_REALTIME_ALARM
- }.each do |c|
+ :CLOCK_BOOTTIME_ALARM,
+ :CLOCK_REALTIME_ALARM,
+ # These don't work on Solaris
+ :CLOCK_PROCESS_CPUTIME_ID,
+ :CLOCK_THREAD_CPUTIME_ID,
+ :CLOCK_VIRTUAL,
+ :CLOCK_PROF,
+ ]
+
+ Process.constants.select { |c| c.to_s.start_with?('CLOCK_') && !invalid_clocks.include?(c) }.each do |c|
it "can be called with Process::#{c}" do
value = Process.const_get(c)
Process.clock_gettime(value).should be_an_instance_of(Float)