summaryrefslogtreecommitdiffhomepage
path: root/test/mrbtest.rake
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2014-07-10 21:43:07 +0900
committertake_cheeze <[email protected]>2014-07-12 14:11:18 +0900
commit03866f25f86a4f0d0f924b664414fedaac31319d (patch)
tree890a25f96916c8eea4906f423f8ffcfc9d41f01c /test/mrbtest.rake
parent4f66de36c4531783da624a6ff0b8bfb22d083efd (diff)
downloadmruby-03866f25f86a4f0d0f924b664414fedaac31319d.tar.gz
mruby-03866f25f86a4f0d0f924b664414fedaac31319d.zip
Run mrbgem and core tests on minimum dependencies.
Solves #2355. In test drivers: * Uses `mrb_t_pass_result` to check and pass test result to main `mrb_state`. * Adds `mrb_init_test_driver` to init test `mrb_state`.
Diffstat (limited to 'test/mrbtest.rake')
-rw-r--r--test/mrbtest.rake11
1 files changed, 4 insertions, 7 deletions
diff --git a/test/mrbtest.rake b/test/mrbtest.rake
index c28cf3577..21afad946 100644
--- a/test/mrbtest.rake
+++ b/test/mrbtest.rake
@@ -12,11 +12,12 @@ MRuby.each_target do
ass_lib = ass_c.ext(exts.object)
mrbtest_lib = libfile("#{current_build_dir}/mrbtest")
- 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|
+ mrbtest_objs = gems.map do |v|
+ v.test_objs + [v.test_rbireps.ext(exts.object)]
+ end
+ file mrbtest_lib => [mlib, ass_lib] + mrbtest_objs do |t|
archiver.run t.name, t.prerequisites
end
- file mrbtest_lib => "#{build_dir}/test/no_mrb_open_test.c".ext(exts.object)
unless build_mrbtest_lib_only?
driver_obj = objfile("#{current_build_dir}/driver")
@@ -55,16 +56,12 @@ 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