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

ruby-changes:43040

From: nobu <ko1@a...>
Date: Sun, 22 May 2016 16:27:11 +0900 (JST)
Subject: [ruby-changes:43040] nobu:r55114 (trunk): -test-/integer

nobu	2016-05-22 16:27:02 +0900 (Sun, 22 May 2016)

  New Revision: 55114

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

  Log:
    -test-/integer
    
    * ext/-test-/integer/core_ext.c: move testutil/integer.c.
    * test/lib/-test-/integer.rb: extract implementation details from
      test/unit/assertions.rb.  [Bug #12408]

  Added directories:
    trunk/test/lib/-test-/
  Added files:
    trunk/ext/-test-/integer/core_ext.c
    trunk/test/lib/-test-/integer.rb
  Removed files:
    trunk/ext/-test-/testutil/extconf.rb
    trunk/ext/-test-/testutil/init.c
    trunk/ext/-test-/testutil/integer.c
  Modified files:
    trunk/ChangeLog
    trunk/test/-ext-/integer/test_integer.rb
    trunk/test/-ext-/num2int/test_num2int.rb
    trunk/test/lib/test/unit/assertions.rb
    trunk/test/lib/test/unit.rb
    trunk/test/ruby/test_bignum.rb
Index: ext/-test-/integer/core_ext.c
===================================================================
--- ext/-test-/integer/core_ext.c	(revision 0)
+++ ext/-test-/integer/core_ext.c	(revision 55114)
@@ -0,0 +1,29 @@ https://github.com/ruby/ruby/blob/trunk/ext/-test-/integer/core_ext.c#L1
+#include "internal.h"
+
+static VALUE
+int_bignum_p(VALUE self)
+{
+    return RB_TYPE_P(self, T_BIGNUM) ? Qtrue : Qfalse;
+}
+
+static VALUE
+int_fixnum_p(VALUE self)
+{
+    return FIXNUM_P(self) ? Qtrue : Qfalse;
+}
+
+static VALUE
+rb_int_to_bignum(VALUE x)
+{
+    if (FIXNUM_P(x))
+        x = rb_int2big(FIX2LONG(x));
+    return x;
+}
+
+void
+Init_core_ext(VALUE klass)
+{
+    rb_define_method(rb_cInteger, "bignum?", int_bignum_p, 0);
+    rb_define_method(rb_cInteger, "fixnum?", int_fixnum_p, 0);
+    rb_define_method(rb_cInteger, "to_bignum", rb_int_to_bignum, 0);
+}

Property changes on: ext/-test-/integer/core_ext.c
___________________________________________________________________
Added: svn:eol-style
   + LF

Index: ext/-test-/testutil/integer.c
===================================================================
--- ext/-test-/testutil/integer.c	(revision 55113)
+++ ext/-test-/testutil/integer.c	(revision 55114)
@@ -1,29 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/ext/-test-/testutil/integer.c#L0
-#include "internal.h"
-
-static VALUE
-int_bignum_p(VALUE self)
-{
-    return RB_TYPE_P(self, T_BIGNUM) ? Qtrue : Qfalse;
-}
-
-static VALUE
-int_fixnum_p(VALUE self)
-{
-    return FIXNUM_P(self) ? Qtrue : Qfalse;
-}
-
-static VALUE
-rb_int_to_bignum(VALUE x)
-{
-    if (FIXNUM_P(x))
-        x = rb_int2big(FIX2LONG(x));
-    return x;
-}
-
-void
-Init_integer(VALUE klass)
-{
-    rb_define_method(rb_cInteger, "bignum?", int_bignum_p, 0);
-    rb_define_method(rb_cInteger, "fixnum?", int_fixnum_p, 0);
-    rb_define_method(rb_cInteger, "to_bignum", rb_int_to_bignum, 0);
-}
Index: ext/-test-/testutil/init.c
===================================================================
--- ext/-test-/testutil/init.c	(revision 55113)
+++ ext/-test-/testutil/init.c	(revision 55114)
@@ -1,11 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/ext/-test-/testutil/init.c#L0
-#include "ruby.h"
-
-#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);}
-
-void
-Init_testutil(void)
-{
-    VALUE mBug = rb_define_module("Bug");
-    VALUE klass = rb_define_class_under(mBug, "TestUtil", rb_cObject);
-    TEST_INIT_FUNCS(init);
-}
Index: ext/-test-/testutil/extconf.rb
===================================================================
--- ext/-test-/testutil/extconf.rb	(revision 55113)
+++ ext/-test-/testutil/extconf.rb	(revision 55114)
@@ -1,8 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/ext/-test-/testutil/extconf.rb#L0
-# frozen_string_literal: false
-$INCFLAGS << " -I$(topdir) -I$(top_srcdir)"
-$srcs = Dir[File.join($srcdir, "*.{#{SRC_EXT.join(%q{,})}}")]
-inits = $srcs.map {|s| File.basename(s, ".*")}
-inits.delete("init")
-inits.map! {|s|"X(#{s})"}
-$defs << "-DTEST_INIT_FUNCS(X)=\"#{inits.join(' ')}\""
-create_makefile("-test-/testutil")
Index: test/-ext-/num2int/test_num2int.rb
===================================================================
--- test/-ext-/num2int/test_num2int.rb	(revision 55113)
+++ test/-ext-/num2int/test_num2int.rb	(revision 55114)
@@ -1,6 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/test/-ext-/num2int/test_num2int.rb#L1
 # frozen_string_literal: false
 require 'test/unit'
 require '-test-/num2int'
+require '-test-/integer'
 
 class TestNum2int < Test::Unit::TestCase
   SHRT_MIN = -32768
Index: test/-ext-/integer/test_integer.rb
===================================================================
--- test/-ext-/integer/test_integer.rb	(revision 55113)
+++ test/-ext-/integer/test_integer.rb	(revision 55114)
@@ -1,5 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/test/-ext-/integer/test_integer.rb#L1
 # frozen_string_literal: false
 require 'test/unit'
+require '-test-/integer'
 
 class TestInteger < Test::Unit::TestCase
   FIXNUM_MIN = Integer::FIXNUM_MIN
Index: test/lib/-test-/integer.rb
===================================================================
--- test/lib/-test-/integer.rb	(revision 0)
+++ test/lib/-test-/integer.rb	(revision 55114)
@@ -0,0 +1,14 @@ https://github.com/ruby/ruby/blob/trunk/test/lib/-test-/integer.rb#L1
+require 'test/unit'
+require '-test-/integer.so'
+
+module Test::Unit::Assertions
+  def assert_fixnum(v, msg=nil)
+    assert_instance_of(Integer, v, msg)
+    assert_predicate(v, :fixnum?, msg)
+  end
+
+  def assert_bignum(v, msg=nil)
+    assert_instance_of(Integer, v, msg)
+    assert_predicate(v, :bignum?, msg)
+  end
+end

Property changes on: test/lib/-test-/integer.rb
___________________________________________________________________
Added: svn:eol-style
   + LF

Index: test/lib/test/unit/assertions.rb
===================================================================
--- test/lib/test/unit/assertions.rb	(revision 55113)
+++ test/lib/test/unit/assertions.rb	(revision 55114)
@@ -771,16 +771,6 @@ eom https://github.com/ruby/ruby/blob/trunk/test/lib/test/unit/assertions.rb#L771
         values
       end
 
-      def assert_fixnum(v, msg=nil)
-        assert_instance_of(Integer, v, msg)
-        assert_predicate(v, :fixnum?, msg)
-      end
-
-      def assert_bignum(v, msg=nil)
-        assert_instance_of(Integer, v, msg)
-        assert_predicate(v, :bignum?, msg)
-      end
-
       class << (AssertFile = Struct.new(:failure_message).new)
         include Assertions
         def assert_file_predicate(predicate, *args)
Index: test/lib/test/unit.rb
===================================================================
--- test/lib/test/unit.rb	(revision 55113)
+++ test/lib/test/unit.rb	(revision 55114)
@@ -8,7 +8,6 @@ require 'test/unit/assertions' https://github.com/ruby/ruby/blob/trunk/test/lib/test/unit.rb#L8
 require_relative '../envutil'
 require 'test/unit/testcase'
 require 'optparse'
-require '-test-/testutil'
 
 # See Test::Unit
 module Test
Index: test/ruby/test_bignum.rb
===================================================================
--- test/ruby/test_bignum.rb	(revision 55113)
+++ test/ruby/test_bignum.rb	(revision 55114)
@@ -1,5 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/test/ruby/test_bignum.rb#L1
 # frozen_string_literal: false
 require 'test/unit'
+begin
+  require '-test-/integer'
+rescue LoadError
+else
 
 class TestBignum < Test::Unit::TestCase
   FIXNUM_MIN = Integer::FIXNUM_MIN
@@ -734,3 +738,4 @@ class TestBignum < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_bignum.rb#L738
     assert_equal(T1024 ^ 10, T1024 ^ obj)
   end
 end
+end
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 55113)
+++ ChangeLog	(revision 55114)
@@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Sun May 22 16:27:00 2016  Nobuyoshi Nakada  <nobu@r...>
+
+	* ext/-test-/integer/core_ext.c: move testutil/integer.c.
+
+	* test/lib/-test-/integer.rb: extract implementation details from
+	  test/unit/assertions.rb.  [Bug #12408]
+
 Sun May 22 14:57:43 2016  Martin Duerst  <duerst@i...>
 
         * include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a

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

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