From acd04ad519355882d42a00cf78926bb32b591509 Mon Sep 17 00:00:00 2001 From: take-cheeze Date: Thu, 21 Jun 2018 11:33:34 +0900 Subject: Support verbose mode in bintest. --- test/bintest.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test/bintest.rb') diff --git a/test/bintest.rb b/test/bintest.rb index 12971a9d9..b62419d44 100644 --- a/test/bintest.rb +++ b/test/bintest.rb @@ -20,6 +20,10 @@ def shellquote(s) end ARGV.each do |gem| + case gem + when '-v'; $mrbtest_verbose = true + end + case RbConfig::CONFIG['host_os'] when /mswin(?!ce)|mingw|bccwin/ gem = gem.gsub('\\', '/') -- cgit v1.2.3 From 968e3b94005e8b7f8882c274259cba6f81345ad9 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Thu, 7 Mar 2019 22:16:47 +0900 Subject: Set `GEMNAME` on bintest --- test/assert.rb | 4 +--- test/bintest.rb | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'test/bintest.rb') diff --git a/test/assert.rb b/test/assert.rb index 8a723762e..623ec9138 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -22,9 +22,7 @@ def assertion_string(err, str, iso=nil, e=nil, bt=nil) msg = "#{err}#{str}" msg += " [#{iso}]" if iso && !iso.empty? msg += " => #{e}" if e && !e.to_s.empty? - if Object.const_defined?(:GEMNAME) - msg += " (#{GEMNAME == 'mruby-test' ? 'core' : "mrbgems: #{GEMNAME}"})" - end + msg += " (#{GEMNAME == 'mruby-test' ? 'core' : "mrbgems: #{GEMNAME}"})" if $mrbtest_assert && $mrbtest_assert.size > 0 $mrbtest_assert.each do |idx, assert_msg, diff| msg += "\n - Assertion[#{idx}] Failed: #{assert_msg}\n#{diff}" diff --git a/test/bintest.rb b/test/bintest.rb index b62419d44..d0126cfa0 100644 --- a/test/bintest.rb +++ b/test/bintest.rb @@ -1,6 +1,8 @@ $:.unshift File.dirname(File.dirname(File.expand_path(__FILE__))) require 'test/assert.rb' +GEMNAME = "" + def cmd(s) case RbConfig::CONFIG['host_os'] when /mswin(?!ce)|mingw|bccwin/ @@ -30,6 +32,7 @@ ARGV.each do |gem| end Dir["#{gem}/bintest/**/*.rb"].each do |file| + GEMNAME.replace(File.basename(gem)) load file end end -- cgit v1.2.3 From 7d1a8d3f8e9e8d96a79499d84d80fdc04f287298 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sun, 10 Mar 2019 21:46:24 +0900 Subject: Add bintest header --- lib/mruby/build.rb | 1 + test/bintest.rb | 2 ++ 2 files changed, 3 insertions(+) (limited to 'test/bintest.rb') diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb index 4f81a970b..016b32b3e 100644 --- a/lib/mruby/build.rb +++ b/lib/mruby/build.rb @@ -314,6 +314,7 @@ EOS end def run_bintest + puts ">>> Bintest #{name} <<<" targets = @gems.select { |v| File.directory? "#{v.dir}/bintest" }.map { |v| filename v.dir } targets << filename(".") if File.directory? "./bintest" sh "ruby test/bintest.rb#{verbose_flag} #{targets.join ' '}" diff --git a/test/bintest.rb b/test/bintest.rb index d0126cfa0..2bcecaec5 100644 --- a/test/bintest.rb +++ b/test/bintest.rb @@ -21,6 +21,8 @@ def shellquote(s) end end +print "bintest - Command Binary Test\n\n" + ARGV.each do |gem| case gem when '-v'; $mrbtest_verbose = true -- cgit v1.2.3 From c3122c887a7fb842aac78b4735a64004a9b71a20 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Wed, 13 Mar 2019 22:04:14 +0900 Subject: Do not raise an exception when bintest fail - An exception do not raise when mrbtest fail. - There are no useful informations in exception message and backtrace. --- mrbgems/mruby-test/driver.c | 18 +++--------------- test/assert.rb | 4 +++- test/bintest.rb | 2 +- test/report.rb | 4 ---- 4 files changed, 7 insertions(+), 21 deletions(-) delete mode 100644 test/report.rb (limited to 'test/bintest.rb') diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c index 6e58c3e28..6b91b7457 100644 --- a/mrbgems/mruby-test/driver.c +++ b/mrbgems/mruby-test/driver.c @@ -29,32 +29,20 @@ print_hint(void) printf("mrbtest - Embeddable Ruby Test\n\n"); } -static int -check_error(mrb_state *mrb) -{ - /* Error check */ - /* $ko_test and $kill_test should be 0 */ - mrb_value ko_test = mrb_gv_get(mrb, mrb_intern_lit(mrb, "$ko_test")); - mrb_value kill_test = mrb_gv_get(mrb, mrb_intern_lit(mrb, "$kill_test")); - - return mrb_fixnum_p(ko_test) && mrb_fixnum(ko_test) == 0 && mrb_fixnum_p(kill_test) && mrb_fixnum(kill_test) == 0; -} - static int eval_test(mrb_state *mrb) { /* evaluate the test */ - mrb_funcall(mrb, mrb_top_self(mrb), "report", 0); + mrb_value result = mrb_funcall(mrb, mrb_top_self(mrb), "report", 0); /* did an exception occur? */ if (mrb->exc) { mrb_print_error(mrb); mrb->exc = 0; return EXIT_FAILURE; } - else if (!check_error(mrb)) { - return EXIT_FAILURE; + else { + return mrb_bool(result) ? EXIT_SUCCESS : EXIT_FAILURE; } - return EXIT_SUCCESS; } static void diff --git a/test/assert.rb b/test/assert.rb index 623ec9138..2873eece1 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -213,7 +213,7 @@ end ## # Report the test result and print all assertions # which were reported broken. -def report() +def report t_print("\n") $asserts.each do |msg| @@ -232,6 +232,8 @@ def report() t_time = Time.now - $test_start t_print(" Time: #{t_time.round(2)} seconds\n") end + + $ko_test == 0 && $kill_test == 0 end ## diff --git a/test/bintest.rb b/test/bintest.rb index 2bcecaec5..ed71e57fd 100644 --- a/test/bintest.rb +++ b/test/bintest.rb @@ -39,4 +39,4 @@ ARGV.each do |gem| end end -load 'test/report.rb' +exit report diff --git a/test/report.rb b/test/report.rb deleted file mode 100644 index fb77fd0aa..000000000 --- a/test/report.rb +++ /dev/null @@ -1,4 +0,0 @@ -report -if $ko_test > 0 or $kill_test > 0 - raise "mrbtest failed (KO:#{$ko_test}, Crash:#{$kill_test})" -end -- cgit v1.2.3