summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYAMAMOTO Masaya <[email protected]>2017-10-11 17:55:27 +0900
committerYAMAMOTO Masaya <[email protected]>2017-10-11 17:58:11 +0900
commitdcd5d0ffec1a6cee3ff1eb81c7d819f8d23dde46 (patch)
tree18bc206aa15e4e8f78b4e3244a871fc566dbddf7
parentacdc2d1f242f2547ca842be5d62a2b06356b39ea (diff)
downloadmruby-dcd5d0ffec1a6cee3ff1eb81c7d819f8d23dde46.tar.gz
mruby-dcd5d0ffec1a6cee3ff1eb81c7d819f8d23dde46.zip
Test for MRB_WITHOUT_FLOAT
-rw-r--r--mrbgems/mruby-test/driver.c2
-rw-r--r--mrbgems/mruby-test/mrbgem.rake4
-rw-r--r--test/t/array.rb2
-rw-r--r--test/t/class.rb2
-rw-r--r--test/t/hash.rb2
-rw-r--r--test/t/integer.rb53
-rw-r--r--test/t/numeric.rb2
-rw-r--r--test/t/range.rb2
-rw-r--r--test/t/string.rb11
9 files changed, 48 insertions, 32 deletions
diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c
index da0d721d4..bc8cce607 100644
--- a/mrbgems/mruby-test/driver.c
+++ b/mrbgems/mruby-test/driver.c
@@ -94,11 +94,13 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose)
mrb_define_const(mrb, mrbtest, "FIXNUM_MIN", mrb_fixnum_value(MRB_INT_MIN));
mrb_define_const(mrb, mrbtest, "FIXNUM_BIT", mrb_fixnum_value(MRB_INT_BIT));
+#ifndef MRB_WITHOUT_FLOAT
#ifdef MRB_USE_FLOAT
mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-6));
#else
mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-12));
#endif
+#endif
if (verbose) {
mrb_gv_set(mrb, mrb_intern_lit(mrb, "$mrbtest_verbose"), mrb_true_value());
diff --git a/mrbgems/mruby-test/mrbgem.rake b/mrbgems/mruby-test/mrbgem.rake
index ae4c2f131..49714078b 100644
--- a/mrbgems/mruby-test/mrbgem.rake
+++ b/mrbgems/mruby-test/mrbgem.rake
@@ -7,6 +7,10 @@ MRuby::Gem::Specification.new('mruby-test') do |spec|
spec.add_dependency('mruby-compiler', :core => 'mruby-compiler')
spec.test_rbfiles = Dir.glob("#{MRUBY_ROOT}/test/t/*.rb")
+ if build.cc.defines.flatten.include?("MRB_WITHOUT_FLOAT")
+ spec.test_rbfiles.delete("#{MRUBY_ROOT}/test/t/float.rb")
+ end
+
clib = "#{build_dir}/mrbtest.c"
mlib = clib.ext(exts.object)
diff --git a/test/t/array.rb b/test/t/array.rb
index 7c11265a4..d2edd0189 100644
--- a/test/t/array.rb
+++ b/test/t/array.rb
@@ -55,7 +55,7 @@ assert('Array#[]', '15.2.12.5.4') do
assert_equal(nil, [1,2,3].[](-4))
a = [ "a", "b", "c", "d", "e" ]
- assert_equal("b", a[1.1])
+ assert_equal("b", a[1.1]) if class_defined?("Float")
assert_equal(["b", "c"], a[1,2])
assert_equal(["b", "c", "d"], a[1..-2])
end
diff --git a/test/t/class.rb b/test/t/class.rb
index eb077fce6..a5118fa93 100644
--- a/test/t/class.rb
+++ b/test/t/class.rb
@@ -358,7 +358,7 @@ assert('singleton tests') do
7
end
end
- end
+ end if class_defined?("Float")
end
assert('clone Class') do
diff --git a/test/t/hash.rb b/test/t/hash.rb
index c63b8c009..5403a5901 100644
--- a/test/t/hash.rb
+++ b/test/t/hash.rb
@@ -8,7 +8,7 @@ end
assert('Hash#==', '15.2.13.4.1') do
assert_true({ 'abc' => 'abc' } == { 'abc' => 'abc' })
assert_false({ 'abc' => 'abc' } == { 'cba' => 'cba' })
- assert_true({ :equal => 1 } == { :equal => 1.0 })
+ assert_true({ :equal => 1 } == { :equal => 1.0 }) if class_defined?("Float")
assert_false({ :a => 1 } == true)
end
diff --git a/test/t/integer.rb b/test/t/integer.rb
index d4ef8b519..cea97a1e6 100644
--- a/test/t/integer.rb
+++ b/test/t/integer.rb
@@ -7,56 +7,65 @@ end
assert('Integer#+', '15.2.8.3.1') do
a = 1+1
- b = 1+1.0
+ b = 1+1.0 if class_defined?("Float")
assert_equal 2, a
- assert_equal 2.0, b
+ assert_equal 2.0, b if class_defined?("Float")
assert_raise(TypeError){ 0+nil }
assert_raise(TypeError){ 1+nil }
c = Mrbtest::FIXNUM_MAX + 1
d = Mrbtest::FIXNUM_MAX.__send__(:+, 1)
- e = Mrbtest::FIXNUM_MAX + 1.0
- assert_equal Float, c.class
- assert_equal Float, d.class
- assert_float e, c
- assert_float e, d
+
+ if class_defined?("Float")
+ e = Mrbtest::FIXNUM_MAX + 1.0
+ assert_equal Float, c.class
+ assert_equal Float, d.class
+ assert_float e, c
+ assert_float e, d
+ end
end
assert('Integer#-', '15.2.8.3.2') do
a = 2-1
- b = 2-1.0
+ b = 2-1.0 if class_defined?("Float")
assert_equal 1, a
- assert_equal 1.0, b
+ assert_equal 1.0, b if class_defined?("Float")
c = Mrbtest::FIXNUM_MIN - 1
d = Mrbtest::FIXNUM_MIN.__send__(:-, 1)
- e = Mrbtest::FIXNUM_MIN - 1.0
- assert_equal Float, c.class
- assert_equal Float, d.class
- assert_float e, c
- assert_float e, d
+
+ if class_defined?("Float")
+ e = Mrbtest::FIXNUM_MIN - 1.0
+ assert_equal Float, c.class
+ assert_equal Float, d.class
+ assert_float e, c
+ assert_float e, d
+ end
end
assert('Integer#*', '15.2.8.3.3') do
a = 1*1
- b = 1*1.0
+ b = 1*1.0 if class_defined?("Float")
assert_equal 1, a
- assert_equal 1.0, b
+ assert_equal 1.0, b if class_defined?("Float")
assert_raise(TypeError){ 0*nil }
assert_raise(TypeError){ 1*nil }
c = Mrbtest::FIXNUM_MAX * 2
d = Mrbtest::FIXNUM_MAX.__send__(:*, 2)
- e = Mrbtest::FIXNUM_MAX * 2.0
- assert_equal Float, c.class
- assert_equal Float, d.class
- assert_float e, c
- assert_float e, d
+
+ if class_defined?("Float")
+ e = Mrbtest::FIXNUM_MAX * 2.0
+ assert_equal Float, c.class
+ assert_equal Float, d.class
+ assert_float e, c
+ assert_float e, d
+ end
end
assert('Integer#/', '15.2.8.3.4') do
@@ -218,7 +227,7 @@ end
assert('Integer#to_f', '15.2.8.3.23') do
assert_equal 1.0, 1.to_f
-end
+end if class_defined?("Float")
assert('Integer#to_i', '15.2.8.3.24') do
assert_equal 1, 1.to_i
diff --git a/test/t/numeric.rb b/test/t/numeric.rb
index 120cc960d..38c62a669 100644
--- a/test/t/numeric.rb
+++ b/test/t/numeric.rb
@@ -15,7 +15,7 @@ end
assert('Numeric#abs', '15.2.7.4.3') do
assert_equal(1, 1.abs)
- assert_equal(1.0, -1.abs)
+ assert_equal(1.0, -1.abs) if class_defined?("Float")
end
assert('Numeric#pow') do
diff --git a/test/t/range.rb b/test/t/range.rb
index 5391369de..3e67fcc1c 100644
--- a/test/t/range.rb
+++ b/test/t/range.rb
@@ -8,7 +8,7 @@ end
assert('Range#==', '15.2.14.4.1') do
assert_true (1..10) == (1..10)
assert_false (1..10) == (1..100)
- assert_true (1..10) == Range.new(1.0, 10.0)
+ assert_true (1..10) == Range.new(1.0, 10.0) if class_defined?("Float")
end
assert('Range#===', '15.2.14.4.2') do
diff --git a/test/t/string.rb b/test/t/string.rb
index a4139622a..c9041469e 100644
--- a/test/t/string.rb
+++ b/test/t/string.rb
@@ -154,10 +154,11 @@ assert('String#[]=') do
d[-10] = 'X'
end
- e = 'abc'
- e[1.1] = 'X'
- assert_equal 'aXc', e
-
+ if class_defined?("Float")
+ e = 'abc'
+ e[1.1] = 'X'
+ assert_equal 'aXc', e
+ end
# length of args is 2
a1 = 'abc'
@@ -629,7 +630,7 @@ assert('String#to_f', '15.2.10.5.38') do
assert_float(12345.6789, c)
assert_float(0, d)
assert_float(Float::INFINITY, e)
-end
+end if class_defined?("Float")
assert('String#to_i', '15.2.10.5.39') do
a = ''.to_i