diff options
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/mrbgems.rake | 3 | ||||
| -rw-r--r-- | tasks/mruby_build.rake | 15 | ||||
| -rw-r--r-- | tasks/mruby_build_commands.rake | 20 |
3 files changed, 34 insertions, 4 deletions
diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake index 1f3aa0811..c18a9a181 100644 --- a/tasks/mrbgems.rake +++ b/tasks/mrbgems.rake @@ -8,7 +8,7 @@ MRuby.each_target do # loader all gems self.libmruby << objfile("#{build_dir}/mrbgems/gem_init") - file objfile("#{build_dir}/mrbgems/gem_init") => "#{build_dir}/mrbgems/gem_init.c" + file objfile("#{build_dir}/mrbgems/gem_init") => ["#{build_dir}/mrbgems/gem_init.c", "#{build_dir}/LEGAL"] file "#{build_dir}/mrbgems/gem_init.c" => [MRUBY_CONFIG] do |t| FileUtils.mkdir_p "#{build_dir}/mrbgems" open(t.name, 'w') do |f| @@ -42,7 +42,6 @@ MRuby.each_target do end # legal documents - self.libmruby << "#{build_dir}/LEGAL" file "#{build_dir}/LEGAL" => [MRUBY_CONFIG] do |t| open(t.name, 'w+') do |f| f.puts <<LEGAL diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake index e24a8ac61..dcb557bfd 100644 --- a/tasks/mruby_build.rake +++ b/tasks/mruby_build.rake @@ -194,10 +194,21 @@ module MRuby end # Build class CrossBuild < Build + attr_block %w(test_runner) + + def initialize(name, &block) + @test_runner = Command::CrossTestRunner.new(self) + super + end + def run_test mrbtest = exefile("#{build_dir}/test/mrbtest") - puts "You should run #{mrbtest} on target device." - puts + if (@test_runner.command == nil) + puts "You should run #{mrbtest} on target device." + puts + else + @test_runner.run(mrbtest) + end end end # CrossBuild end # MRuby diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake index b647ccf98..b968d07be 100644 --- a/tasks/mruby_build_commands.rake +++ b/tasks/mruby_build_commands.rake @@ -259,4 +259,24 @@ module MRuby end end end + + class Command::CrossTestRunner < Command + attr_accessor :runner_options + attr_accessor :verbose_flag + attr_accessor :flags + + def initialize(build) + super + @command = nil + @runner_options = '%{flags} %{infile}' + @verbose_flag = '' + @flags = [] + end + + def run(testbinfile) + puts "TEST for " + @build.name + _run runner_options, { :flags => [flags, verbose_flag].flatten.join(' '), :infile => testbinfile } + end + end + end |
