diff --git a/bintest/mruby-cli.rb b/bintest/mruby-cli.rb index 3286e5e..2874247 100644 --- a/bintest/mruby-cli.rb +++ b/bintest/mruby-cli.rb @@ -36,6 +36,14 @@ assert_true status.success?, "`#{app_name}` did not exit cleanly" assert_include output, "Hello World" + output, status = Open3.capture2(APP_PATH, "--version") + assert_true status.success?, "`#{app_name}` did not exit cleanly when requesting version" + assert_include output, "#{app_name} version 0.0.1" + + output, status = Open3.capture2(APP_PATH, "--help") + assert_true status.success?, "`#{app_name}` did not exit cleanly when requesting help" + assert_include output, "#{app_name} [switches] [arguments]" + %w(x86_64-pc-linux-gnu i686-pc-linux-gnu).each do |host| output, status = Open3.capture2("file mruby/build/x86_64-pc-linux-gnu/bin/#{app_name}") assert_include output, ", stripped" diff --git a/mrblib/mruby-cli/generate.rb b/mrblib/mruby-cli/generate.rb new file mode 100644 index 0000000..b8f796c --- /dev/null +++ b/mrblib/mruby-cli/generate.rb @@ -0,0 +1,187 @@ +module MRubyCLI + class Generate + OBJECT_GENERATOR = [ + :cli, + :help, + :options, + :version + ] + + def initialize(name, output) + @name = name + @output = output + end + + def run(object) + raise RuntimeError unless OBJECT_GENERATOR.include? object + send("generate_#{object}") + end + + private + def generate_help + Util::write_file("mrblib/#{@name}/help.rb", content_of_help_rb) + end + + def content_of_help_rb + < 'mruby-print' spec.add_dependency 'mruby-mtest', :mgem => 'mruby-mtest' + spec.add_dependency 'mruby-getopts', :mgem => 'mruby-getopts' end MRBGEM_RAKE end @@ -259,23 +236,11 @@ def tools def mrblib <