test-unit 3.4.4 → 3.4.5

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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/Rakefile +0 -9
  4. data/doc/text/getting-started.md +1 -1
  5. data/doc/text/news.md +26 -1
  6. data/lib/test/unit/assertions.rb +93 -17
  7. data/lib/test/unit/testcase.rb +1 -1
  8. data/lib/test/unit/testsuite.rb +1 -1
  9. data/lib/test/unit/util/memory-usage.rb +47 -0
  10. data/lib/test/unit/version.rb +1 -1
  11. data/lib/test/unit.rb +4 -4
  12. metadata +6 -83
  13. data/test/collector/test-descendant.rb +0 -182
  14. data/test/collector/test-load.rb +0 -475
  15. data/test/collector/test_dir.rb +0 -407
  16. data/test/collector/test_objectspace.rb +0 -102
  17. data/test/fixtures/header-label.csv +0 -3
  18. data/test/fixtures/header-label.tsv +0 -3
  19. data/test/fixtures/header.csv +0 -3
  20. data/test/fixtures/header.tsv +0 -3
  21. data/test/fixtures/no-header.csv +0 -2
  22. data/test/fixtures/no-header.tsv +0 -2
  23. data/test/fixtures/plus.csv +0 -3
  24. data/test/run-test.rb +0 -22
  25. data/test/test-assertions.rb +0 -2281
  26. data/test/test-attribute-matcher.rb +0 -38
  27. data/test/test-attribute.rb +0 -123
  28. data/test/test-code-snippet.rb +0 -79
  29. data/test/test-color-scheme.rb +0 -123
  30. data/test/test-color.rb +0 -47
  31. data/test/test-data.rb +0 -419
  32. data/test/test-diff.rb +0 -518
  33. data/test/test-emacs-runner.rb +0 -60
  34. data/test/test-error.rb +0 -26
  35. data/test/test-failure.rb +0 -33
  36. data/test/test-fault-location-detector.rb +0 -163
  37. data/test/test-fixture.rb +0 -713
  38. data/test/test-notification.rb +0 -33
  39. data/test/test-omission.rb +0 -81
  40. data/test/test-pending.rb +0 -70
  41. data/test/test-priority.rb +0 -184
  42. data/test/test-test-case.rb +0 -1284
  43. data/test/test-test-result.rb +0 -113
  44. data/test/test-test-suite-creator.rb +0 -97
  45. data/test/test-test-suite.rb +0 -151
  46. data/test/testunit-test-util.rb +0 -33
  47. data/test/ui/test_testrunmediator.rb +0 -20
  48. data/test/util/test-method-owner-finder.rb +0 -38
  49. data/test/util/test-output.rb +0 -11
  50. data/test/util/test_backtracefilter.rb +0 -52
  51. data/test/util/test_observable.rb +0 -102
  52. data/test/util/test_procwrapper.rb +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bf06d094c228d2826f3ffd368b7587dad9844cb59429790157c1d00f963e527
4
- data.tar.gz: d5d07e063a929674b11047dee03b185fdf73f926e48aa8830f2f2fa7d4c88b58
3
+ metadata.gz: ddfd1116eddbfd3b3f9235d50e05f71c37b6327a4f3e79c549962f32b50f5075
4
+ data.tar.gz: 40c2137c8a8cf1b188a16bc1777456c2f418cbe2fb9af881b465f4a8e1b15625
5
5
  SHA512:
6
- metadata.gz: 63d7fa4261919b37f31bd412335cc086778622f4ff63e6f645baf7c8440493e3dc2be0206bff51f5a24bb0f5f90122a61db5cbe31b2499360045092069164605
7
- data.tar.gz: 50238b29eda4de9e4ece1c64fe3cd9a583ceeb7cb965c4e6660d39017ded8a27579723dfe206f434ff0bbd71dba9085e4af987d83d6bf76cf3ef16a475f31e4b
6
+ metadata.gz: 7235989cdea7459d1e1f5a43c7c0a70d5b3deeae7efca4b0f804c23d8c50e76de4afb688487716e177d70b2972f49e9df1869dcc567085270f91976c636ff787
7
+ data.tar.gz: aba5319ba07fc555c698a4d68c702e01a4599f7ee84d4b15461438fec9b30cb265c2d38163e3f0af383c6f7c5c641fa1a03c02e0b33634fe10d7cf0fed3964fb
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # test-unit
2
2
 
3
- [![](https://badge.fury.io/rb/test-unit.svg)](http://badge.fury.io/rb/test-unit)
4
- [![](https://travis-ci.org/test-unit/test-unit.svg?branch=master)](https://travis-ci.org/test-unit/test-unit)
3
+ [![Gem Version](https://badge.fury.io/rb/test-unit.png)](http://badge.fury.io/rb/test-unit)
4
+ [![Build Status for Ruby 2.1+](https://github.com/test-unit/test-unit/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/test-unit/test-unit/actions/workflows/test.yml?query=branch%3Amaster+)
5
+ [![Build Status for Ruby 1.9 and 2.0](https://travis-ci.com/test-unit/test-unit.svg?branch=master)](https://travis-ci.com/test-unit/test-unit)
5
6
 
6
7
  * http://test-unit.github.io/
7
8
  * https://github.com/test-unit/test-unit
@@ -24,7 +25,7 @@ writing tests, checking results and automated testing in Ruby.
24
25
  to radically change very soon).
25
26
 
26
27
  * test-unit will be improved actively and may break
27
- compatiblity with test-unit 1.2.3. (We will not hope it
28
+ compatibility with test-unit 1.2.3. (We will not hope it
28
29
  if it isn't needed.)
29
30
 
30
31
  * Some features exist as separated gems like GUI test
data/Rakefile CHANGED
@@ -24,7 +24,6 @@ require "packnga"
24
24
  task :default => :test
25
25
 
26
26
  base_dir = File.dirname(__FILE__)
27
- html_base_dir = File.join(base_dir, "doc", "html")
28
27
 
29
28
  helper = Bundler::GemHelper.new(base_dir)
30
29
  def helper.version_tag
@@ -53,14 +52,6 @@ def rake(*arguments)
53
52
  ruby($0, *arguments)
54
53
  end
55
54
 
56
- namespace :html do
57
- desc "Publish HTML to Web site."
58
- task :publish do
59
- # FIXME Do nothing for now
60
- #rsync_to_rubyforge(spec, "#{html_base_dir}/", "")
61
- end
62
- end
63
-
64
55
  task :test do
65
56
  ruby("test/run-test.rb")
66
57
  end
@@ -239,7 +239,7 @@ module Sub
239
239
  end
240
240
  ~~~
241
241
 
242
- ## 7. For more inforomation
242
+ ## 7. For more information
243
243
 
244
244
  Let's read the official document.
245
245
 
data/doc/text/news.md CHANGED
@@ -1,10 +1,35 @@
1
1
  # News
2
2
 
3
+ ## 3.4.5 - 2021-09-04 {#version-3-4-5}
4
+
5
+ ### Improvements
6
+
7
+ * Added more metadata to gemspec.
8
+ [GitHub#183][Patch by Kenichi Kamiya]
9
+
10
+ * Removed needless files from gem.
11
+ [GitHub#184][Patch by Kenichi Kamiya]
12
+
13
+ * Updated documents.
14
+ [GitHub#191][GitHub#192][GitHub#193][GitHub#199][GitHub#200]
15
+ [GitHub#201][Patch by Kenichi Kamiya]
16
+
17
+ * Added `assert_nothing_leaked_memory`.
18
+
19
+ ### Fixes
20
+
21
+ * Fixed typos in documents.
22
+ [GitHub#189][GitHub#190][GitHub#195][GitHub#197][Patch by Kenichi Kamiya]
23
+
24
+ ### Thanks
25
+
26
+ * Kenichi Kamiya
27
+
3
28
  ## 3.4.4 - 2021-06-04 {#version-3-4-4}
4
29
 
5
30
  ### Improvements
6
31
 
7
- * Rename `assert_all?` to `assert_all`. `assert_all?` is deprecated
32
+ * Renamed `assert_all?` to `assert_all`. `assert_all?` is deprecated
8
33
  but is available.
9
34
 
10
35
  ## 3.4.3 - 2021-06-04 {#version-3-4-3}
@@ -5,6 +5,7 @@
5
5
 
6
6
  require 'test/unit/assertion-failed-error'
7
7
  require 'test/unit/util/backtracefilter'
8
+ require 'test/unit/util/memory-usage'
8
9
  require 'test/unit/util/method-owner-finder'
9
10
  require 'test/unit/diff'
10
11
 
@@ -43,7 +44,7 @@ module Test
43
44
 
44
45
  ##
45
46
  # The assertion upon which all other assertions are based. Passes if the
46
- # block yields true.
47
+ # block yields not false nor nil.
47
48
  #
48
49
  # @example
49
50
  # assert_block "Couldn't do the thing" do
@@ -454,7 +455,7 @@ EOT
454
455
  alias_method :refute_instance_of, :assert_not_instance_of
455
456
 
456
457
  ##
457
- # Passes if `object` is nil.
458
+ # Passes if `object`.nil?.
458
459
  #
459
460
  # @example
460
461
  # assert_nil [1, 2].uniq!
@@ -627,7 +628,7 @@ EOT
627
628
  ##
628
629
  # Compares the `object1` with `object2` using `operator`.
629
630
  #
630
- # Passes if object1.__send__(operator, object2) is true.
631
+ # Passes if object1.__send__(operator, object2) is not false nor nil.
631
632
  #
632
633
  # @example
633
634
  # assert_operator 5, :>=, 4
@@ -647,7 +648,7 @@ EOT
647
648
  ##
648
649
  # Compares the `object1` with `object2` using `operator`.
649
650
  #
650
- # Passes if object1.__send__(operator, object2) is not true.
651
+ # Passes if object1.__send__(operator, object2) is false or nil.
651
652
  #
652
653
  # @example
653
654
  # assert_not_operator(5, :<, 4) # => pass
@@ -787,7 +788,7 @@ EOT
787
788
  alias_method :refute_match, :assert_not_match
788
789
 
789
790
  ##
790
- # Deprecated. Use #assert_not_match instead.
791
+ # @deprecated Use {#assert_not_match} instead.
791
792
  #
792
793
  # Passes if `regexp` !~ `string`
793
794
  #
@@ -1177,7 +1178,7 @@ EOT
1177
1178
 
1178
1179
  public
1179
1180
  ##
1180
- # Passes if the method send returns a true value.
1181
+ # Passes if the method `__send__` returns not false nor nil.
1181
1182
  #
1182
1183
  # `send_array` is composed of:
1183
1184
  # * A receiver
@@ -1217,7 +1218,7 @@ EOT
1217
1218
  end
1218
1219
 
1219
1220
  ##
1220
- # Passes if the method send doesn't return a true value.
1221
+ # Passes if the method `__send__` returns false or nil.
1221
1222
  #
1222
1223
  # `send_array` is composed of:
1223
1224
  # * A receiver
@@ -1267,7 +1268,7 @@ EOT
1267
1268
  assert_block(build_message(message,
1268
1269
  "<true> or <false> expected but was\n<?>",
1269
1270
  actual)) do
1270
- [true, false].include?(actual)
1271
+ true == actual || false == actual
1271
1272
  end
1272
1273
  end
1273
1274
  end
@@ -1283,7 +1284,7 @@ EOT
1283
1284
  assert_block(build_message(message,
1284
1285
  "<true> expected but was\n<?>",
1285
1286
  actual)) do
1286
- actual == true
1287
+ true == actual
1287
1288
  end
1288
1289
  end
1289
1290
  end
@@ -1299,14 +1300,14 @@ EOT
1299
1300
  assert_block(build_message(message,
1300
1301
  "<false> expected but was\n<?>",
1301
1302
  actual)) do
1302
- actual == false
1303
+ false == actual
1303
1304
  end
1304
1305
  end
1305
1306
  end
1306
1307
 
1307
1308
  ##
1308
1309
  # Passes if expression "`expected` `operator`
1309
- # `actual`" is true.
1310
+ # `actual`" is not false nor nil.
1310
1311
  #
1311
1312
  # @example
1312
1313
  # assert_compare(1, "<", 10) # -> pass
@@ -1435,7 +1436,7 @@ EOT
1435
1436
  end
1436
1437
 
1437
1438
  ##
1438
- # Passes if `object`.`predicate` is _true_.
1439
+ # Passes if `object`.`predicate` is not false nor nil.
1439
1440
  #
1440
1441
  # @example
1441
1442
  # assert_predicate([], :empty?) # -> pass
@@ -1457,7 +1458,7 @@ EOT
1457
1458
  end
1458
1459
 
1459
1460
  ##
1460
- # Passes if `object`.`predicate` is not _true_.
1461
+ # Passes if `object`.`predicate` is false or nil.
1461
1462
  #
1462
1463
  # @example
1463
1464
  # assert_not_predicate([1], :empty?) # -> pass
@@ -1686,12 +1687,12 @@ EOT
1686
1687
  # with any `block`.
1687
1688
  #
1688
1689
  # @example Pass patterns
1689
- # assert_all?([1, 2, 3]) {|item| item > 0} # => pass
1690
- # assert_all?([1, 2, 3], &:positive?) # => pass
1691
- # assert_all?([]) {|item| false} # => pass
1690
+ # assert_all([1, 2, 3]) {|item| item > 0} # => pass
1691
+ # assert_all([1, 2, 3], &:positive?) # => pass
1692
+ # assert_all([]) {|item| false} # => pass
1692
1693
  #
1693
1694
  # @example Failure pattern
1694
- # assert_all?([0, 1, 2], &:zero?) # => failure
1695
+ # assert_all([0, 1, 2], &:zero?) # => failure
1695
1696
  #
1696
1697
  # @param [#each] collection The check target.
1697
1698
  # @param [String] message The additional user message. It is
@@ -1729,6 +1730,81 @@ EOT
1729
1730
  # @since 3.4.3
1730
1731
  alias_method :assert_all?, :assert_all
1731
1732
 
1733
+ # @overload assert_nothing_leaked_memory(max_increasable_size, target=:physical, message=nil, &block)
1734
+ #
1735
+ # Asserts that increased memory usage by `block.call` is less
1736
+ # than `max_increasable_size`. `GC.start` is called before and
1737
+ # after `block.call`.
1738
+ #
1739
+ # This assertion may be fragile. Because memory usage is
1740
+ # depends on the current Ruby process's memory
1741
+ # usage. Launching a new Ruby process for this will produce
1742
+ # more stable result but we need to specify target code as
1743
+ # `String` instead of block for the approach. We choose easy
1744
+ # to write API approach rather than more stable result
1745
+ # approach for this case.
1746
+ #
1747
+ # @example Pass pattern
1748
+ # require "objspace"
1749
+ # size_per_object = ObjectSpace.memsize_of("Hello")
1750
+ # # If memory isn't leaked, physical memory of almost created objects
1751
+ # # (1000 - 10 objects) must be freed.
1752
+ # assert_nothing_leaked_memory(size_per_object * 10) do
1753
+ # 1_000.times do
1754
+ # "Hello".dup
1755
+ # end
1756
+ # end # => pass
1757
+ #
1758
+ # @example Failure pattern
1759
+ # require "objspace"
1760
+ # size_per_object = ObjectSpace.memsize_of("Hello")
1761
+ # strings = []
1762
+ # assert_nothing_leaked_memory(size_per_object * 10) do
1763
+ # 10_000.times do
1764
+ # # Created objects aren't GC-ed because they are referred.
1765
+ # strings << "Hello".dup
1766
+ # end
1767
+ # end # => failure
1768
+ #
1769
+ # @param target [:physical, :virtual] which memory usage is
1770
+ # used for comparing. `:physical` means physical memory usage
1771
+ # also known as Resident Set Size (RSS). `:virtual` means
1772
+ # virtual memory usage.
1773
+ # @yield [] do anything you want to measure memory usage
1774
+ # in the block.
1775
+ # @yieldreturn [void]
1776
+ # @return [void]
1777
+ #
1778
+ # @since 3.4.5
1779
+ def assert_nothing_leaked_memory(max_increasable_size,
1780
+ target=:physical,
1781
+ message=nil)
1782
+ _wrap_assertion do
1783
+ GC.start
1784
+ before = Util::MemoryUsage.new
1785
+ unless before.collected?
1786
+ omit("memory usage collection isn't supported on this platform")
1787
+ end
1788
+ yield
1789
+ GC.start
1790
+ after = Util::MemoryUsage.new
1791
+ before_value = before.__send__(target)
1792
+ after_value = after.__send__(target)
1793
+ actual_increased_size = after_value - before_value
1794
+ template = <<-TEMPLATE
1795
+ <?> was expected to be less than
1796
+ <?>.
1797
+ TEMPLATE
1798
+ full_message = build_message(message,
1799
+ template,
1800
+ actual_increased_size,
1801
+ max_increasable_size)
1802
+ assert_block(full_message) do
1803
+ actual_increased_size < max_increasable_size
1804
+ end
1805
+ end
1806
+ end
1807
+
1732
1808
  ##
1733
1809
  # Builds a failure message. `user_message` is added before the
1734
1810
  # `template` and `arguments` replaces the '?'s positionally in
@@ -447,7 +447,7 @@ module Test
447
447
  # @private
448
448
  @@method_locations = {}
449
449
  # @private
450
- @@method_location_mutex = Mutex.new
450
+ @@method_location_mutex = Thread::Mutex.new
451
451
 
452
452
  # @private
453
453
  def method_locations
@@ -77,7 +77,7 @@ module Test
77
77
  @tests -= tests
78
78
  end
79
79
 
80
- # Retuns the rolled up number of tests in this suite;
80
+ # Returns the rolled up number of tests in this suite;
81
81
  # i.e. if the suite contains other suites, it counts the
82
82
  # tests within those suites, not the suites themselves.
83
83
  def size
@@ -0,0 +1,47 @@
1
+ module Test
2
+ module Unit
3
+ module Util
4
+ class MemoryUsage
5
+ attr_reader :virtual
6
+ attr_reader :physical
7
+ def initialize
8
+ @virtual = nil
9
+ @physical = nil
10
+ collect_data
11
+ end
12
+
13
+ def collected?
14
+ return false if @virtual.nil?
15
+ return false if @physical.nil?
16
+ true
17
+ end
18
+
19
+ private
20
+ def collect_data
21
+ collect_data_proc
22
+ end
23
+
24
+ def collect_data_proc
25
+ status_file = "/proc/self/status"
26
+ return false unless File.exist?(status_file)
27
+
28
+ data = File.binread(status_file)
29
+ data.each_line do |line|
30
+ case line
31
+ when /\AVm(Size|RSS):\s*(\d+)\s*kB/
32
+ name = $1
33
+ value = Integer($2, 10) * 1024
34
+ case name
35
+ when "Size"
36
+ @virtual = value
37
+ when "RSS"
38
+ @physical = value
39
+ end
40
+ end
41
+ end
42
+ collected?
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = "3.4.4"
3
+ VERSION = "3.4.5"
4
4
  end
5
5
  end
data/lib/test/unit.rb CHANGED
@@ -324,14 +324,14 @@ module Test # :nodoc:
324
324
  # Set true when Test::Unit has run. If set to true Test::Unit
325
325
  # will not automatically run at exit.
326
326
  #
327
- # @deprecated Use Test::Unit::AutoRunner.need_auto_run= instead.
327
+ # @deprecated Use {Test::Unit::AutoRunner.need_auto_run=} instead.
328
328
  def run=(have_run)
329
329
  AutoRunner.need_auto_run = (not have_run)
330
330
  end
331
331
 
332
332
  # Already tests have run?
333
333
  #
334
- # @deprecated Use Test::Unit::AutoRunner.need_auto_run? instead.
334
+ # @deprecated Use {Test::Unit::AutoRunner.need_auto_run?} instead.
335
335
  def run?
336
336
  not AutoRunner.need_auto_run?
337
337
  end
@@ -339,7 +339,7 @@ module Test # :nodoc:
339
339
  # @api private
340
340
  @@at_start_hooks = []
341
341
 
342
- # Regsiter a hook that is run before running tests.
342
+ # Register a hook that is run before running tests.
343
343
  # To register multiple hooks, call this method multiple times.
344
344
  #
345
345
  # Here is an example test case:
@@ -425,7 +425,7 @@ module Test # :nodoc:
425
425
  # @api private
426
426
  @@at_exit_hooks = []
427
427
 
428
- # Regsiter a hook that is run after running tests.
428
+ # Register a hook that is run after running tests.
429
429
  # To register multiple hooks, call this method multiple times.
430
430
  #
431
431
  # Here is an example test case:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-unit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.4
4
+ version: 3.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-06-04 00:00:00.000000000 Z
12
+ date: 2021-09-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: power_assert
@@ -159,6 +159,7 @@ files:
159
159
  - lib/test/unit/ui/testrunnerutilities.rb
160
160
  - lib/test/unit/ui/xml/testrunner.rb
161
161
  - lib/test/unit/util/backtracefilter.rb
162
+ - lib/test/unit/util/memory-usage.rb
162
163
  - lib/test/unit/util/method-owner-finder.rb
163
164
  - lib/test/unit/util/observable.rb
164
165
  - lib/test/unit/util/output.rb
@@ -170,46 +171,6 @@ files:
170
171
  - sample/test_adder.rb
171
172
  - sample/test_subtracter.rb
172
173
  - sample/test_user.rb
173
- - test/collector/test-descendant.rb
174
- - test/collector/test-load.rb
175
- - test/collector/test_dir.rb
176
- - test/collector/test_objectspace.rb
177
- - test/fixtures/header-label.csv
178
- - test/fixtures/header-label.tsv
179
- - test/fixtures/header.csv
180
- - test/fixtures/header.tsv
181
- - test/fixtures/no-header.csv
182
- - test/fixtures/no-header.tsv
183
- - test/fixtures/plus.csv
184
- - test/run-test.rb
185
- - test/test-assertions.rb
186
- - test/test-attribute-matcher.rb
187
- - test/test-attribute.rb
188
- - test/test-code-snippet.rb
189
- - test/test-color-scheme.rb
190
- - test/test-color.rb
191
- - test/test-data.rb
192
- - test/test-diff.rb
193
- - test/test-emacs-runner.rb
194
- - test/test-error.rb
195
- - test/test-failure.rb
196
- - test/test-fault-location-detector.rb
197
- - test/test-fixture.rb
198
- - test/test-notification.rb
199
- - test/test-omission.rb
200
- - test/test-pending.rb
201
- - test/test-priority.rb
202
- - test/test-test-case.rb
203
- - test/test-test-result.rb
204
- - test/test-test-suite-creator.rb
205
- - test/test-test-suite.rb
206
- - test/testunit-test-util.rb
207
- - test/ui/test_testrunmediator.rb
208
- - test/util/test-method-owner-finder.rb
209
- - test/util/test-output.rb
210
- - test/util/test_backtracefilter.rb
211
- - test/util/test_observable.rb
212
- - test/util/test_procwrapper.rb
213
174
  homepage: http://test-unit.github.io/
214
175
  licenses:
215
176
  - Ruby
@@ -217,6 +178,8 @@ licenses:
217
178
  - PSFL
218
179
  metadata:
219
180
  source_code_uri: https://github.com/test-unit/test-unit
181
+ documentation_uri: https://test-unit.github.io/test-unit/en/
182
+ bug_tracker_uri: https://github.com/test-unit/test-unit/issues
220
183
  post_install_message:
221
184
  rdoc_options: []
222
185
  require_paths:
@@ -236,44 +199,4 @@ rubygems_version: 3.3.0.dev
236
199
  signing_key:
237
200
  specification_version: 4
238
201
  summary: An xUnit family unit testing framework for Ruby.
239
- test_files:
240
- - test/collector/test-descendant.rb
241
- - test/collector/test-load.rb
242
- - test/collector/test_dir.rb
243
- - test/collector/test_objectspace.rb
244
- - test/fixtures/header-label.csv
245
- - test/fixtures/header-label.tsv
246
- - test/fixtures/header.csv
247
- - test/fixtures/header.tsv
248
- - test/fixtures/no-header.csv
249
- - test/fixtures/no-header.tsv
250
- - test/fixtures/plus.csv
251
- - test/run-test.rb
252
- - test/test-assertions.rb
253
- - test/test-attribute-matcher.rb
254
- - test/test-attribute.rb
255
- - test/test-code-snippet.rb
256
- - test/test-color-scheme.rb
257
- - test/test-color.rb
258
- - test/test-data.rb
259
- - test/test-diff.rb
260
- - test/test-emacs-runner.rb
261
- - test/test-error.rb
262
- - test/test-failure.rb
263
- - test/test-fault-location-detector.rb
264
- - test/test-fixture.rb
265
- - test/test-notification.rb
266
- - test/test-omission.rb
267
- - test/test-pending.rb
268
- - test/test-priority.rb
269
- - test/test-test-case.rb
270
- - test/test-test-result.rb
271
- - test/test-test-suite-creator.rb
272
- - test/test-test-suite.rb
273
- - test/testunit-test-util.rb
274
- - test/ui/test_testrunmediator.rb
275
- - test/util/test-method-owner-finder.rb
276
- - test/util/test-output.rb
277
- - test/util/test_backtracefilter.rb
278
- - test/util/test_observable.rb
279
- - test/util/test_procwrapper.rb
202
+ test_files: []