summaryrefslogtreecommitdiff
path: root/spec/ruby/library/etc/sysconf_spec.rb
blob: 5c7ad318366b04705f0f0497cbad0cf55d90b79f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
require File.expand_path('../../../spec_helper', __FILE__)
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)
      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