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/