[前][次][番号順一覧][スレッド一覧]

ruby-changes:52369

From: eregon <ko1@a...>
Date: Tue, 28 Aug 2018 04:08:44 +0900 (JST)
Subject: [ruby-changes:52369] eregon:r64578 (trunk): Rewrite Etc.sysconf spec to allow nil or Integer for all variables

eregon	2018-08-28 04:08:38 +0900 (Tue, 28 Aug 2018)

  New Revision: 64578

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64578

  Log:
    Rewrite Etc.sysconf spec to allow nil or Integer for all variables

  Modified files:
    trunk/spec/ruby/library/etc/sysconf_spec.rb
Index: spec/ruby/library/etc/sysconf_spec.rb
===================================================================
--- spec/ruby/library/etc/sysconf_spec.rb	(revision 64577)
+++ spec/ruby/library/etc/sysconf_spec.rb	(revision 64578)
@@ -3,29 +3,20 @@ require 'etc' https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/etc/sysconf_spec.rb#L3
 
 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

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]