mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Rewrite Etc.sysconf spec to allow nil or Integer for all variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									e61e6ae587
								
							
						
					
					
						commit
						8500714adc
					
				
					 1 changed files with 13 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -3,29 +3,20 @@ require 'etc'
 | 
			
		|||
 | 
			
		||||
platform_is_not :windows do
 | 
			
		||||
  describe "Etc.sysconf" do
 | 
			
		||||
    def should_be_integer_or_nil(value)
 | 
			
		||||
      if value.nil?
 | 
			
		||||
        value.should == nil
 | 
			
		||||
      else
 | 
			
		||||
        value.should be_kind_of(Integer)
 | 
			
		||||
    %w[
 | 
			
		||||
      SC_ARG_MAX SC_CHILD_MAX SC_HOST_NAME_MAX SC_LOGIN_NAME_MAX SC_NGROUPS_MAX
 | 
			
		||||
      SC_CLK_TCK SC_OPEN_MAX SC_PAGESIZE SC_RE_DUP_MAX SC_STREAM_MAX
 | 
			
		||||
      SC_SYMLOOP_MAX SC_TTY_NAME_MAX SC_TZNAME_MAX SC_VERSION
 | 
			
		||||
    ].each do |const|
 | 
			
		||||
      it "returns the value of POSIX.1 system configuration variable #{const}" do
 | 
			
		||||
        var = Etc.const_get(const)
 | 
			
		||||
        value = Etc.sysconf(var)
 | 
			
		||||
        if value.nil?
 | 
			
		||||
          value.should == nil
 | 
			
		||||
        else
 | 
			
		||||
          value.should be_kind_of(Integer)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "returns the value of POSIX.1 system configuration variables" do
 | 
			
		||||
      Etc.sysconf(Etc::SC_ARG_MAX).should be_kind_of(Integer)
 | 
			
		||||
      should_be_integer_or_nil(Etc.sysconf(Etc::SC_CHILD_MAX))
 | 
			
		||||
      Etc.sysconf(Etc::SC_HOST_NAME_MAX).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_LOGIN_NAME_MAX).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_NGROUPS_MAX).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_CLK_TCK).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_OPEN_MAX).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_PAGESIZE).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_RE_DUP_MAX).should be_kind_of(Integer)
 | 
			
		||||
      Etc.sysconf(Etc::SC_STREAM_MAX).should be_kind_of(Integer)
 | 
			
		||||
      should_be_integer_or_nil(Etc.sysconf(Etc::SC_SYMLOOP_MAX))
 | 
			
		||||
      Etc.sysconf(Etc::SC_TTY_NAME_MAX).should be_kind_of(Integer)
 | 
			
		||||
      should_be_integer_or_nil(Etc.sysconf(Etc::SC_TZNAME_MAX))
 | 
			
		||||
      Etc.sysconf(Etc::SC_VERSION).should be_kind_of(Integer)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue