ruby-changes:46846
From: eregon <ko1@a...>
Date: Tue, 30 May 2017 02:56:39 +0900 (JST)
Subject: [ruby-changes:46846] eregon:r58961 (trunk): Enable Process.setpriority for a single process on more platforms.
eregon 2017-05-30 02:56:34 +0900 (Tue, 30 May 2017) New Revision: 58961 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=58961 Log: Enable Process.setpriority for a single process on more platforms. Modified files: trunk/spec/rubyspec/core/process/setpriority_spec.rb Index: spec/rubyspec/core/process/setpriority_spec.rb =================================================================== --- spec/rubyspec/core/process/setpriority_spec.rb (revision 58960) +++ spec/rubyspec/core/process/setpriority_spec.rb (revision 58961) @@ -1,8 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/spec/rubyspec/core/process/setpriority_spec.rb#L1 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 https://github.com/ruby/ruby/blob/trunk/spec/rubyspec/core/process/setpriority_spec.rb#L18 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) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/