summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-29 17:56:34 +0000
committereregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-29 17:56:34 +0000
commita578c375ada240e7c647d5ad838a92725f6e3f9d (patch)
tree42dbe526513a127135cb9d3f48fd435a5ab370ee
parentab86387a3508a467fecfc99c405f2623ef9a9c53 (diff)
Enable Process.setpriority for a single process on more platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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)