test-unit 3.3.6 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7aaedb309f50feea0367554eeef8b79f0daf6edb5c75c4b66df9e990c35d371
4
- data.tar.gz: 17bd1f32e290087d6b57cf5337dbd8cc8259896671ef1cc6c23b15579e52698b
3
+ metadata.gz: fa35cb23e3ed29c4404a4547bafab08b764435c98defa3f630bd651238261f01
4
+ data.tar.gz: a792423f3928652f0dec87ab0d29b2acdbd1f100c3e62e64db3f57ecb788f918
5
5
  SHA512:
6
- metadata.gz: d86d52e5ed5bc4930f6b26f76d0294cb2e50261f16495649e75eb79ab2631cd23c2bfd6602ede230384f3971e9f780f87a8324ca15a0b3a09866a1c449641e55
7
- data.tar.gz: 26975998cc3e8c4c6e5d372b3d3e51316e2709508fdb5ebd87083dcf658941f4b038bcc4f6e1f714ba891a14c1ccbca5ec5e197065a45163dcfd5861cd5b6c15
6
+ metadata.gz: 8ba6bc75724ad5d7919ea7cc23fee209c654443641d4e74a4a070b27a83babe70773538556a4762e35c77adf4bb9016191500c33ea1d4412116003d944528eab
7
+ data.tar.gz: bf6d06a9591db3d142e10f5924f92ee144c291ad1e083d745533d8b0c57555ffdb1b0fe033cab20ecb9eda4f037c9fe5ec1418176fad0ffd948e6bff48f6373a
data/BSDL ADDED
@@ -0,0 +1,24 @@
1
+ Copyright (C) 2003-2007 Nathaniel Talbott. All rights reserved.
2
+ Copyright (C) 2008 Ryan Davis. All rights reserved.
3
+ Copyright (C) 2008-2020 Sutou Kouhei. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions
7
+ are met:
8
+ 1. Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ 2. Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in the
12
+ documentation and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
+ SUCH DAMAGE.
data/COPYING CHANGED
@@ -2,66 +2,63 @@ test-unit is copyrighted free software by Kouhei Sutou
2
2
  <kou@cozmixng.org>, Ryan Davis <ryand-ruby@zenspider.com>
3
3
  and Nathaniel Talbott <nathaniel@talbott.ws>.
4
4
 
5
- You can redistribute it and/or modify it under either the terms of the GPL
6
- version 2 (see the file GPL), or the conditions below:
5
+ You can redistribute it and/or modify it under either the terms of the
6
+ 2-clause BSDL (see the file BSDL), or the conditions below:
7
7
 
8
- 1. You may make and give away verbatim copies of the source form of the
9
- software without restriction, provided that you duplicate all of the
10
- original copyright notices and associated disclaimers.
8
+ 1. You may make and give away verbatim copies of the source form of the
9
+ software without restriction, provided that you duplicate all of the
10
+ original copyright notices and associated disclaimers.
11
11
 
12
- 2. You may modify your copy of the software in any way, provided that
13
- you do at least ONE of the following:
12
+ 2. You may modify your copy of the software in any way, provided that
13
+ you do at least ONE of the following:
14
14
 
15
- a) place your modifications in the Public Domain or otherwise
16
- make them Freely Available, such as by posting said
17
- modifications to Usenet or an equivalent medium, or by allowing
18
- the author to include your modifications in the software.
15
+ a. place your modifications in the Public Domain or otherwise
16
+ make them Freely Available, such as by posting said
17
+ modifications to Usenet or an equivalent medium, or by allowing
18
+ the author to include your modifications in the software.
19
19
 
20
- b) use the modified software only within your corporation or
21
- organization.
20
+ b. use the modified software only within your corporation or
21
+ organization.
22
22
 
23
- c) give non-standard binaries non-standard names, with
24
- instructions on where to get the original software distribution.
23
+ c. give non-standard binaries non-standard names, with
24
+ instructions on where to get the original software distribution.
25
25
 
26
- d) make other distribution arrangements with the author.
26
+ d. make other distribution arrangements with the author.
27
27
 
28
- 3. You may distribute the software in object code or binary form,
29
- provided that you do at least ONE of the following:
28
+ 3. You may distribute the software in object code or binary form,
29
+ provided that you do at least ONE of the following:
30
30
 
31
- a) distribute the binaries and library files of the software,
32
- together with instructions (in the manual page or equivalent)
33
- on where to get the original distribution.
31
+ a. distribute the binaries and library files of the software,
32
+ together with instructions (in the manual page or equivalent)
33
+ on where to get the original distribution.
34
34
 
35
- b) accompany the distribution with the machine-readable source of
36
- the software.
35
+ b. accompany the distribution with the machine-readable source of
36
+ the software.
37
37
 
38
- c) give non-standard binaries non-standard names, with
39
- instructions on where to get the original software distribution.
38
+ c. give non-standard binaries non-standard names, with
39
+ instructions on where to get the original software distribution.
40
40
 
41
- d) make other distribution arrangements with the author.
41
+ d. make other distribution arrangements with the author.
42
42
 
43
- 4. You may modify and include the part of the software into any other
44
- software (possibly commercial). But some files in the distribution
45
- are not written by the author, so that they are not under these terms.
43
+ 4. You may modify and include the part of the software into any other
44
+ software (possibly commercial). But some files in the distribution
45
+ are not written by the author, so that they are not under these terms.
46
46
 
47
- For the list of those files and their copying conditions, see the
48
- file LEGAL.
47
+ For the list of those files and their copying conditions, see the
48
+ file LEGAL.
49
49
 
50
- 5. The scripts and library files supplied as input to or produced as
51
- output from the software do not automatically fall under the
52
- copyright of the software, but belong to whomever generated them,
53
- and may be sold commercially, and may be aggregated with this
54
- software.
50
+ 5. The scripts and library files supplied as input to or produced as
51
+ output from the software do not automatically fall under the
52
+ copyright of the software, but belong to whomever generated them,
53
+ and may be sold commercially, and may be aggregated with this
54
+ software.
55
55
 
56
- 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
57
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
58
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59
- PURPOSE.
56
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
57
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
58
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59
+ PURPOSE.
60
60
 
61
61
  Exceptions
62
62
  ----------
63
63
 
64
- * lib/test/unit/diff.rb: This license, PSF license and/or LGPLv2.1
65
- or later
66
-
67
- * lib/test-unit.rb: This license and/or LGPLv2.1 or later
64
+ * lib/test/unit/diff.rb: This license and PSF license
data/README.md CHANGED
@@ -51,17 +51,13 @@ If you want to use full test-unit features:
51
51
 
52
52
  ## License
53
53
 
54
- (The Ruby License)
55
-
56
- This software is distributed under the same terms as ruby.
54
+ This software is distributed under either the terms of new Ruby
55
+ License or BSDL. See the file [COPYING](COPYING).
57
56
 
58
57
  Exception:
59
58
 
60
- * lib/test/unit/diff.rb is a triple license of the Ruby license,
61
- PSF license and LGPLv2.1 or later.
62
-
63
- * lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1
64
- or later.
59
+ * lib/test/unit/diff.rb is a triple license of (the new Ruby license
60
+ or BSDL) and PSF license.
65
61
 
66
62
  ## Authors
67
63
 
data/Rakefile CHANGED
@@ -1,20 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  #
3
3
  # Copyright (C) 2008-2017 Kouhei Sutou <kou@clear-code.com>
4
- #
5
- # This library is free software; you can redistribute it and/or
6
- # modify it under the terms of the GNU Lesser General Public
7
- # License as published by the Free Software Foundation; either
8
- # version 2.1 of the License, or (at your option) any later version.
9
- #
10
- # This library is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- # Lesser General Public License for more details.
14
- #
15
- # You should have received a copy of the GNU Lesser General Public
16
- # License along with this library; if not, write to the Free Software
17
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
4
 
19
5
  Encoding.default_internal = "UTF-8" if defined?(Encoding.default_internal)
20
6
 
@@ -1,5 +1,36 @@
1
1
  # News
2
2
 
3
+ ## 3.3.7 - 2020-11-18 {#version-3-3-7}
4
+
5
+ ### Improvements
6
+
7
+ * Improved TruffleRuby support.
8
+ [GitHub#171][Reported by Benoit Daloze]
9
+
10
+ * Removed needless `to_sym`.
11
+ [GitHub#177][Patch by icm7216]
12
+
13
+ * `assert_raise`: Added backtrace for actual error.
14
+
15
+ * Improved terminal color availability detection.
16
+ [GitHub#175][Patch by nicholas a. evans]
17
+
18
+ * Changed license to the new Ruby's.
19
+ [GitHub#174]
20
+
21
+ ### Fixes
22
+
23
+ * Fixed a typo in `--help` output:
24
+ [GitHub#176][Patch by icm7216]
25
+
26
+ ### Thanks
27
+
28
+ * Benoit Daloze
29
+
30
+ * icm7216
31
+
32
+ * nicholas a. evans
33
+
3
34
  ## 3.3.6 - 2020-06-10 {#version-3-3-6}
4
35
 
5
36
  ### Improvements
@@ -1,21 +1,4 @@
1
1
  # Copyright (C) 2012-2015 Kouhei Sutou <kou@clear-code.com>
2
- #
3
- # License: Ruby's or LGPLv2.1 or later
4
- #
5
- # This library is free software; you can redistribute it and/or
6
- # modify it under the terms of the GNU Lesser General Public
7
- # License as published by the Free Software Foundation; either
8
- # version 2.1 of the License, or (at your option) any later version.
9
- #
10
- # This library is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- # Lesser General Public License for more details.
14
- #
15
- # You should have received a copy of the GNU Lesser General Public
16
- # License along with this library; if not, write to the Free Software
17
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
- # 02110-1301 USA
19
2
 
20
3
  module Test
21
4
  module Unit
@@ -2121,7 +2121,14 @@ EOT
2121
2121
 
2122
2122
  def inspect
2123
2123
  if default_inspect?
2124
- "#{@exception.class.inspect}(<#{@exception.message}>)"
2124
+ inspected = "#{@exception.class.inspect}(<#{@exception.message}>)"
2125
+ unless (@exception.backtrace || []).empty?
2126
+ inspected += "\n"
2127
+ @exception.backtrace.each do |trace|
2128
+ inspected << "#{trace}\n"
2129
+ end
2130
+ end
2131
+ inspected
2125
2132
  else
2126
2133
  @exception.inspect
2127
2134
  end
@@ -356,7 +356,7 @@ module Test
356
356
  end
357
357
 
358
358
  o.on("--config=FILE",
359
- "Use YAML fomat FILE content as configuration file.") do |file|
359
+ "Use YAML format FILE content as configuration file.") do |file|
360
360
  load_config(file)
361
361
  end
362
362
 
@@ -463,7 +463,7 @@ module Test
463
463
  if key == :arguments
464
464
  @default_arguments.concat(value.split)
465
465
  else
466
- runner_options[key.to_sym] = value
466
+ runner_options[key] = value
467
467
  end
468
468
  end
469
469
  @runner_options = @runner_options.merge(runner_options)
@@ -5,9 +5,25 @@ module Test
5
5
  class ColorScheme
6
6
  include Enumerable
7
7
 
8
+ TERM_256 = /
9
+ [+-]256color|
10
+ \A(?:
11
+ alacritty|
12
+ iTerm\s?\d*\.app|
13
+ kitty|
14
+ mintty|
15
+ ms-terminal|
16
+ nsterm-build\d+|
17
+ nsterm|
18
+ terminator|
19
+ terminology(?:-[0-9.]+)?|
20
+ termite|
21
+ vscode
22
+ )\z/x
23
+
8
24
  class << self
9
25
  def default
10
- if available_colors == 256
26
+ if available_colors >= 256
11
27
  default_for_256_colors
12
28
  else
13
29
  default_for_8_colors
@@ -140,7 +156,9 @@ module Test
140
156
 
141
157
  def guess_available_colors_from_term_env
142
158
  case ENV["TERM"]
143
- when /-256color\z/
159
+ when /[+-]direct/
160
+ 2**24
161
+ when TERM_256
144
162
  256
145
163
  else
146
164
  nil
@@ -3,9 +3,8 @@
3
3
  # Copyright (c) 2001-2008 Python Software Foundation; All Rights Reserved
4
4
  # Copyright (c) 2008-2011 Kouhei Sutou; All Rights Reserved
5
5
  #
6
- # It is free software, and is distributed under the Ruby license, the
7
- # PSF license and/or LGPLv2.1 or later. See the COPYING file, the PSFL
8
- # file and the LGPL file.
6
+ # It is free software, and is distributed under (the new Ruby license
7
+ # or BSDL) and the PSF license.
9
8
 
10
9
  module Test
11
10
  module Unit
@@ -1,21 +1,4 @@
1
1
  # Copyright (C) 2008-2017 Kouhei Sutou <kou@clear-code.com>
2
- #
3
- # License: Ruby OR LGPL-2.1+
4
- #
5
- # This library is free software; you can redistribute it and/or
6
- # modify it under the terms of the GNU Lesser General Public
7
- # License as published by the Free Software Foundation; either
8
- # version 2.1 of the License, or (at your option) any later version.
9
- #
10
- # This library is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- # Lesser General Public License for more details.
14
- #
15
- # You should have received a copy of the GNU Lesser General Public
16
- # License along with this library; if not, write to the Free Software
17
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
- # 02110-1301 USA
19
2
 
20
3
  module Test
21
4
  module Unit
@@ -540,13 +540,28 @@ module Test
540
540
  color("#{@result.status}-marker")
541
541
  end
542
542
 
543
+ TERM_COLOR_SUPPORT = /
544
+ color| # explicitly claims color support in the name
545
+ direct| # explicitly claims "direct color" (24 bit) support
546
+ #{ColorScheme::TERM_256}|
547
+ \Acygwin|
548
+ \Alinux|
549
+ \Ansterm-bce|
550
+ \Ansterm-c-|
551
+ \Aputty|
552
+ \Arxvt|
553
+ \Ascreen|
554
+ \Atmux|
555
+ \Axterm
556
+ /x
557
+
543
558
  def guess_color_availability
544
559
  return false unless @output.tty?
545
560
  return true if windows? and ruby_2_0_or_later?
546
561
  case ENV["TERM"]
547
562
  when /(?:term|screen)(?:-(?:256)?color)?\z/
548
563
  true
549
- when /\Arxvt/
564
+ when TERM_COLOR_SUPPORT
550
565
  true
551
566
  else
552
567
  return true if ENV["EMACS"] == "t"
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = "3.3.6"
3
+ VERSION = "3.3.7"
4
4
  end
5
5
  end
@@ -98,7 +98,7 @@ module Test
98
98
 
99
99
  def check_fail_exception(expected_message, options={}, &proc)
100
100
  normalizer = lambda do |actual_message|
101
- actual_message.gsub(/(^[^:\n]+:\d+:.+\n?)+\z/, "")
101
+ actual_message.gsub(/^(?:<internal:core> )?[^:\n]+:\d+:.+\n/, "")
102
102
  end
103
103
  check_assertions(true,
104
104
  options.merge(:expected_message => expected_message,
@@ -510,7 +510,8 @@ EOM
510
510
  message = <<-EOM.chomp
511
511
  failed assert_raise.
512
512
  <ArgumentError> exception expected but was
513
- <RuntimeError(<Error>)>.
513
+ <RuntimeError(<Error>)
514
+ >.
514
515
  EOM
515
516
  check_fail_exception(message) do
516
517
  assert_raise(ArgumentError, "failed assert_raise") do
@@ -571,7 +572,8 @@ EOM
571
572
  message = <<-EOM.chomp
572
573
  failed assert_raise.
573
574
  <[ArgumentError, TypeError]> exception expected but was
574
- <RuntimeError(<Error>)>.
575
+ <RuntimeError(<Error>)
576
+ >.
575
577
  EOM
576
578
  check_fail_exception(message) do
577
579
  assert_raise(ArgumentError, TypeError, "failed assert_raise") do
@@ -596,13 +598,8 @@ EOM
596
598
 
597
599
  message = <<-EOM.chomp
598
600
  <RuntimeError(<XXX>)> exception expected but was
599
- <RuntimeError(<Error>)>.
600
-
601
- diff:
602
- - RuntimeError(<XXX>)
603
- ? ^^^
604
- + RuntimeError(<Error>)
605
- ? ^^^^^
601
+ <RuntimeError(<Error>)
602
+ >.
606
603
  EOM
607
604
  check_fail_exception(message) do
608
605
  return_value = assert_raise(RuntimeError.new("XXX")) do
@@ -613,7 +610,8 @@ EOM
613
610
  different_error_class = Class.new(StandardError)
614
611
  message = <<-EOM.chomp
615
612
  <#{different_error_class.inspect}(<Error>)> exception expected but was
616
- <RuntimeError(<Error>)>.
613
+ <RuntimeError(<Error>)
614
+ >.
617
615
  EOM
618
616
  check_fail_exception(message) do
619
617
  assert_raise(different_error_class.new("Error")) do
@@ -627,7 +625,8 @@ EOM
627
625
  end
628
626
  message = <<-EOM.chomp
629
627
  <DifferentError: "Error"> exception expected but was
630
- <RuntimeError(<Error>)>.
628
+ <RuntimeError(<Error>)
629
+ >.
631
630
  EOM
632
631
  check_fail_exception(message) do
633
632
  assert_raise(different_error) do
@@ -645,7 +644,7 @@ EOM
645
644
  end
646
645
 
647
646
  def test_assert_raise_jruby
648
- omit("For JRuby") unless Object.const_defined?(:Java)
647
+ jruby_only_test
649
648
 
650
649
  exception = Java::JavaLang::StringIndexOutOfBoundsException
651
650
 
@@ -869,6 +868,7 @@ EOM
869
868
  expected_message = <<-EOM.chomp
870
869
  Exception raised:
871
870
  RuntimeError(<Error>)
871
+
872
872
  EOM
873
873
  check_fail_exception(expected_message) {
874
874
  assert_nothing_raised {
@@ -879,6 +879,7 @@ EOM
879
879
  failed assert_nothing_raised.
880
880
  Exception raised:
881
881
  RuntimeError(<Error>)
882
+
882
883
  EOM
883
884
  check_fail_exception(expected_message) {
884
885
  assert_nothing_raised("failed assert_nothing_raised") {
@@ -888,6 +889,7 @@ EOM
888
889
  expected_message = <<-EOM.chomp
889
890
  Exception raised:
890
891
  RuntimeError(<Error>)
892
+
891
893
  EOM
892
894
  check_fail_exception(expected_message) {
893
895
  assert_nothing_raised(StandardError, RuntimeError) {
@@ -1312,7 +1314,8 @@ EOM
1312
1314
 
1313
1315
  expected_message = <<-EOM.chomp
1314
1316
  <SystemCallError> family exception expected but was
1315
- <RuntimeError(<XXX>)>.
1317
+ <RuntimeError(<XXX>)
1318
+ >.
1316
1319
  EOM
1317
1320
  check_fail_exception(expected_message) do
1318
1321
  assert_raise_kind_of(SystemCallError) do