summaryrefslogtreecommitdiff
path: root/tool/test/testunit/test_load_failure.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-06-02 20:25:08 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-06-03 20:22:10 +0900
commit4589056384cdc8ed7c8a99713b216b7176ff49b9 (patch)
tree200c1ac99ac72ec77cc65591e8718c95d62724ec /tool/test/testunit/test_load_failure.rb
parent1bb7c3c447db5a13356ae83097773a7de572e69c (diff)
Exit with a failure if any test files failed to load
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7897
Diffstat (limited to 'tool/test/testunit/test_load_failure.rb')
-rw-r--r--tool/test/testunit/test_load_failure.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/tool/test/testunit/test_load_failure.rb b/tool/test/testunit/test_load_failure.rb
new file mode 100644
index 0000000000..63db33fd2c
--- /dev/null
+++ b/tool/test/testunit/test_load_failure.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+require 'test/unit'
+
+class TestLoadFailure < Test::Unit::TestCase
+ def test_load_failure
+ assert_not_predicate(load_failure, :success?)
+ end
+
+ def test_load_failure_parallel
+ assert_not_predicate(load_failure("-j2"), :success?)
+ end
+
+ private
+
+ def load_failure(*args)
+ IO.popen([*@options[:ruby], "#{__dir__}/../runner.rb",
+ "#{__dir__}/test4test_load_failure.rb",
+ "--verbose", *args], err: [:child, :out]) {|f|
+ assert_include(f.read, "test4test_load_failure.rb")
+ }
+ $?
+ end
+end