From 8500714adc05e2dc889ad20aebdb7fce1a350709 Mon Sep 17 00:00:00 2001 From: eregon Date: Mon, 27 Aug 2018 19:08:38 +0000 Subject: 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 --- spec/ruby/library/etc/sysconf_spec.rb | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) (limited to 'spec/ruby/library/etc') diff --git a/spec/ruby/library/etc/sysconf_spec.rb b/spec/ruby/library/etc/sysconf_spec.rb index 5c7ad31836..e7d59d1b22 100644 --- a/spec/ruby/library/etc/sysconf_spec.rb +++ b/spec/ruby/library/etc/sysconf_spec.rb @@ -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 -- cgit v1.2.3