test-unit 3.3.6 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
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