summaryrefslogtreecommitdiff
path: root/spec/rubyspec
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec')
-rw-r--r--spec/rubyspec/core/process/setpriority_spec.rb41
1 files changed, 19 insertions, 22 deletions
diff --git a/spec/rubyspec/core/process/setpriority_spec.rb b/spec/rubyspec/core/process/setpriority_spec.rb
index 69032a9b69..f80b289322 100644
--- a/spec/rubyspec/core/process/setpriority_spec.rb
+++ b/spec/rubyspec/core/process/setpriority_spec.rb
@@ -1,8 +1,7 @@
require File.expand_path('../../../spec_helper', __FILE__)
describe "Process.setpriority" do
- # Needs a valid version written for Linux
- platform_is :darwin do
+ platform_is_not :windows do
it "sets the scheduling priority for a specified process" do
priority = Process.getpriority(Process::PRIO_PROCESS, 0)
IO.popen('-') do |f|
@@ -19,31 +18,29 @@ describe "Process.setpriority" do
end
Process.getpriority(Process::PRIO_PROCESS, 0).should == priority
end
- end
- # Darwin and FreeBSD don't seem to handle these at all, getting all out of
- # whack with either permission errors or just the wrong value
- platform_is_not :darwin, :freebsd, :windows do
- it "sets the scheduling priority for a specified process group" do
- priority = Process.getpriority(Process::PRIO_PGRP, 0)
- IO.popen('-') do |f|
- if f
- pr = Integer(f.gets)
- Integer(f.gets).should == 0
- Integer(f.gets).should == (pr+1)
- else
- Process.setpgrp
- pr = Process.getpriority(Process::PRIO_PGRP, 0)
- p pr
- p Process.setpriority(Process::PRIO_PGRP, 0, pr + 1)
- p Process.getpriority(Process::PRIO_PGRP, 0)
+ # Darwin and FreeBSD don't seem to handle these at all, getting all out of
+ # whack with either permission errors or just the wrong value
+ platform_is_not :darwin, :freebsd do
+ it "sets the scheduling priority for a specified process group" do
+ priority = Process.getpriority(Process::PRIO_PGRP, 0)
+ IO.popen('-') do |f|
+ if f
+ pr = Integer(f.gets)
+ Integer(f.gets).should == 0
+ Integer(f.gets).should == (pr+1)
+ else
+ Process.setpgrp
+ pr = Process.getpriority(Process::PRIO_PGRP, 0)
+ p pr
+ p Process.setpriority(Process::PRIO_PGRP, 0, pr + 1)
+ p Process.getpriority(Process::PRIO_PGRP, 0)
+ end
end
+ Process.getpriority(Process::PRIO_PGRP, 0).should == priority
end
- Process.getpriority(Process::PRIO_PGRP, 0).should == priority
end
- end
- platform_is_not :windows do
as_superuser do
it "sets the scheduling priority for a specified user" do
p = Process.getpriority(Process::PRIO_USER, 0)