summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2014-03-10 04:45:28 +0900
committertake_cheeze <[email protected]>2014-03-10 04:45:28 +0900
commit77fba20480ef7ecfc8e32acd74a7a389d8f5d1a2 (patch)
treef2c158988029e5daccb8abf9fc09b6f2bc3eaa37 /test
parentc740a78e5c1eddc8563ec8f6a82e948f93b56493 (diff)
downloadmruby-77fba20480ef7ecfc8e32acd74a7a389d8f5d1a2.tar.gz
mruby-77fba20480ef7ecfc8e32acd74a7a389d8f5d1a2.zip
reduce mrb_open calls in mrbgem test
Diffstat (limited to 'test')
-rw-r--r--test/mrbtest.rake8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/mrbtest.rake b/test/mrbtest.rake
index a49a25fd8..1c52eafbd 100644
--- a/test/mrbtest.rake
+++ b/test/mrbtest.rake
@@ -12,9 +12,11 @@ MRuby.each_target do
ass_lib = ass_c.ext(exts.object)
mrbtest_lib = libfile("#{current_build_dir}/mrbtest")
- file mrbtest_lib => [mlib, ass_lib, gems.map(&:test_objs), gems.map { |g| g.test_rbireps.ext(exts.object) }].flatten do |t|
+ gem_test_files = gems.select { |g| g.run_test_in_other_mrb_state? }.map { |g| g.test_rbireps.ext(exts.object) }
+ file mrbtest_lib => [mlib, ass_lib, gems.map(&:test_objs), gem_test_files].flatten do |t|
archiver.run t.name, t.prerequisites
end
+ file mrbtest_lib => "#{build_dir}/test/no_mrb_open_test.o"
unless build_mrbtest_lib_only?
driver_obj = objfile("#{current_build_dir}/driver")
@@ -53,12 +55,16 @@ MRuby.each_target do
f.puts IO.read(init)
mrbc.run f, mrbs, 'mrbtest_irep'
gems.each do |g|
+ next unless g.run_test_in_other_mrb_state?
f.puts %Q[void GENERATED_TMP_mrb_#{g.funcname}_gem_test(mrb_state *mrb);]
end
+ f.puts %Q[void no_mrb_open_mrbgem_test(mrb_state *mrb);]
f.puts %Q[void mrbgemtest_init(mrb_state* mrb) {]
gems.each do |g|
+ next unless g.run_test_in_other_mrb_state?
f.puts %Q[ GENERATED_TMP_mrb_#{g.funcname}_gem_test(mrb);]
end
+ f.puts %Q[ no_mrb_open_mrbgem_test(mrb);]
f.puts %Q[}]
end
end