summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2013-01-08 10:07:55 +0800
committerDaniel Bovensiepen <[email protected]>2013-01-08 10:07:55 +0800
commita096dc9e3b01f4fc31fc1f910e254813884a776e (patch)
treecd353be9cb1df5e009d130ceabfcd627e7fb34a7 /test
parentaf75d8de2ca6b3eda97c588334b15920e856a53b (diff)
parent8c31c2006be7afa8da1fd01180955b108aee868c (diff)
downloadmruby-a096dc9e3b01f4fc31fc1f910e254813884a776e.tar.gz
mruby-a096dc9e3b01f4fc31fc1f910e254813884a776e.zip
Merge remote-tracking branch 'mruby/master' into array-clear
Diffstat (limited to 'test')
-rw-r--r--test/assert.rb30
-rw-r--r--test/mrbtest.rake4
-rw-r--r--test/t/gc.rb45
3 files changed, 59 insertions, 20 deletions
diff --git a/test/assert.rb b/test/assert.rb
index 89e820a00..4fe95de9d 100644
--- a/test/assert.rb
+++ b/test/assert.rb
@@ -5,14 +5,13 @@ $asserts = []
$test_start = Time.now if Object.const_defined?(:Time)
##
-# Print the assertion in a readable way
-def print_assertion_string(str, iso)
- print(str)
- if(iso != '')
- print(' [')
- print(iso)
- print(']')
- end
+# Create the assertion in a readable way
+def assertion_string(err, str, iso=nil, e=nil)
+ msg = "#{err}#{str}"
+ msg += " [#{iso}]" if iso && iso != ''
+ msg += " => #{e.message}" if e
+ msg += " (mrbgems: #{GEMNAME})" if Object.const_defined?(:GEMNAME)
+ msg
end
##
@@ -26,7 +25,7 @@ end
def assert(str = 'Assertion failed', iso = '')
begin
if(!yield)
- $asserts.push(['Fail: ', str, iso])
+ $asserts.push(assertion_string('Fail: ', str, iso))
$ko_test += 1
print('F')
else
@@ -34,7 +33,7 @@ def assert(str = 'Assertion failed', iso = '')
print('.')
end
rescue Exception => e
- $asserts.push(['Error: ', str, iso, e])
+ $asserts.push(assertion_string('Error: ', str, iso, e))
$kill_test += 1
print('X')
end
@@ -45,14 +44,9 @@ end
# which were reported broken.
def report()
print "\n"
- $asserts.each do |err, str, iso, e|
- print(err);
- print_assertion_string(str, iso)
- if e
- print(" => ")
- print(e.message)
- end
- print("\n")
+
+ $asserts.each do |msg|
+ puts msg
end
$total_test = $ok_test.+($ko_test)
diff --git a/test/mrbtest.rake b/test/mrbtest.rake
index 1d416df2c..cd560d206 100644
--- a/test/mrbtest.rake
+++ b/test/mrbtest.rake
@@ -11,7 +11,7 @@ MRuby.each_target do
objs = ["#{build_dir}/#{dir}/driver.o", mlib]
file exec => objs + gems.map{ |g| g.testlib } + ["#{build_dir}/lib/libmruby.a"] do |t|
- link t.name, t.prerequisites, [], gems.map { |g| g.mruby_libs }
+ link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs }
end
file mlib => [clib]
@@ -29,4 +29,4 @@ MRuby.each_target do
f.puts "}"
end
end
-end \ No newline at end of file
+end
diff --git a/test/t/gc.rb b/test/t/gc.rb
new file mode 100644
index 000000000..410272797
--- /dev/null
+++ b/test/t/gc.rb
@@ -0,0 +1,45 @@
+# Not ISO specified
+
+assert('GC.enable') do
+ GC.disable == false
+ GC.enable == true
+ GC.enable == false
+end
+
+assert('GC.disable') do
+ begin
+ GC.disable == false
+ GC.disable == true
+ ensure
+ GC.enable
+ end
+end
+
+assert('GC.interval_ratio=') do
+ origin = GC.interval_ratio
+ begin
+ (GC.interval_ratio = 150) == 150
+ ensure
+ GC.interval_ratio = origin
+ end
+end
+
+assert('GC.step_ratio=') do
+ origin = GC.step_ratio
+ begin
+ (GC.step_ratio = 150) == 150
+ ensure
+ GC.step_ratio = origin
+ end
+end
+
+assert('GC.generational_mode=') do
+ origin = GC.generational_mode
+ begin
+ (GC.generational_mode = false) == false
+ (GC.generational_mode = true) == true
+ (GC.generational_mode = true) == true
+ ensure
+ GC.generational_mode = origin
+ end
+end