From 2ca58e42904db6de1d4b30ad5c618205bad8b313 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 27 Sep 2016 08:35:30 +0000 Subject: assertions.rb: success option * test/lib/test/unit/assertions.rb (assert_in_out_err): add success option to check the exit status. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/lib/test/unit/assertions.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/lib/test/unit/assertions.rb b/test/lib/test/unit/assertions.rb index 22c3ebe700..c9d148d55a 100644 --- a/test/lib/test/unit/assertions.rb +++ b/test/lib/test/unit/assertions.rb @@ -548,7 +548,8 @@ EOT faildesc end - def assert_in_out_err(args, test_stdin = "", test_stdout = [], test_stderr = [], message = nil, **opt) + def assert_in_out_err(args, test_stdin = "", test_stdout = [], test_stderr = [], message = nil, + success: nil, **opt) stdout, stderr, status = EnvUtil.invoke_ruby(args, test_stdin, true, true, **opt) if signo = status.termsig EnvUtil.diagnostic_reports(Signal.signame(signo), EnvUtil.rubybin, status.pid, Time.now) @@ -570,6 +571,15 @@ EOT end end end + unless success.nil? + a.for("success?") do + if success + assert_predicate(status, :success?) + else + assert_not_predicate(status, :success?) + end + end + end end status end -- cgit v1.2.3