diff options
| author | Carson McDonald <[email protected]> | 2013-01-29 21:54:03 -0500 |
|---|---|---|
| committer | Carson McDonald <[email protected]> | 2013-01-29 22:03:29 -0500 |
| commit | 79f802365f02c242fd104664e97431bd8f18001c (patch) | |
| tree | 3cd9bafaea58e0a717e1c971fa2e40a46c745079 /tasks/mrbgems_test.rake | |
| parent | e43216c45d537b456e8225b66e0c10b0703b31a0 (diff) | |
| download | mruby-79f802365f02c242fd104664e97431bd8f18001c.tar.gz mruby-79f802365f02c242fd104664e97431bd8f18001c.zip | |
Add ability to pass parameters from mrbgem.rake spec into test scripts.
Diffstat (limited to 'tasks/mrbgems_test.rake')
| -rw-r--r-- | tasks/mrbgems_test.rake | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake index cb00aba57..bc263c80e 100644 --- a/tasks/mrbgems_test.rake +++ b/tasks/mrbgems_test.rake @@ -32,7 +32,15 @@ MRuby.each_target do f.puts %Q[ exit(0);] f.puts %Q[ }] f.puts %Q[ mrb_const_set(mrb2, mrb_obj_value(mrb2->object_class), mrb_intern(mrb2, "GEMNAME"), mrb_str_new(mrb2, "#{g.name}", #{g.name.length}));] - + + if not g.test_args.empty? + f.puts %Q[ mrb_value test_args_hash = mrb_hash_new_capa(mrb, #{g.test_args.length}); ] + g.test_args.each do |arg_name, arg_value| + f.puts %Q[ mrb_hash_set(mrb2, test_args_hash, mrb_str_new(mrb2, "#{arg_name.to_s}", #{arg_name.to_s.length}), mrb_str_new(mrb2, "#{arg_value.to_s}", #{arg_value.to_s.length})); ] + end + f.puts %Q[ mrb_gv_set(mrb2, mrb_intern(mrb2, "$test_args"), test_args_hash); ] + end + f.puts %Q[ mrb_#{g.funcname}_gem_test(mrb2);] unless g.test_objs.empty? f.puts %Q[ mrb_load_irep(mrb2, gem_test_irep_#{g.funcname}_#{i});] |
