groonga 0.9.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. metadata +38 -227
  2. data/AUTHORS +0 -5
  3. data/NEWS.ja.rdoc +0 -114
  4. data/NEWS.rdoc +0 -116
  5. data/README.ja.rdoc +0 -63
  6. data/README.rdoc +0 -64
  7. data/Rakefile +0 -216
  8. data/benchmark/common.rb +0 -49
  9. data/benchmark/read-write-many-small-items.rb +0 -144
  10. data/benchmark/write-many-small-items.rb +0 -135
  11. data/example/bookmark.rb +0 -161
  12. data/example/index-html.rb +0 -89
  13. data/example/search/config.ru +0 -211
  14. data/example/search/public/css/groonga.css +0 -122
  15. data/ext/.gitignore +0 -2
  16. data/ext/rb-grn-accessor.c +0 -52
  17. data/ext/rb-grn-array-cursor.c +0 -36
  18. data/ext/rb-grn-array.c +0 -210
  19. data/ext/rb-grn-column.c +0 -570
  20. data/ext/rb-grn-context.c +0 -655
  21. data/ext/rb-grn-database.c +0 -415
  22. data/ext/rb-grn-encoding-support.c +0 -64
  23. data/ext/rb-grn-encoding.c +0 -257
  24. data/ext/rb-grn-exception.c +0 -1110
  25. data/ext/rb-grn-expression-builder.c +0 -75
  26. data/ext/rb-grn-expression.c +0 -732
  27. data/ext/rb-grn-fix-size-column.c +0 -166
  28. data/ext/rb-grn-hash-cursor.c +0 -38
  29. data/ext/rb-grn-hash.c +0 -294
  30. data/ext/rb-grn-index-column.c +0 -488
  31. data/ext/rb-grn-logger.c +0 -325
  32. data/ext/rb-grn-object.c +0 -1335
  33. data/ext/rb-grn-operation.c +0 -198
  34. data/ext/rb-grn-patricia-trie-cursor.c +0 -39
  35. data/ext/rb-grn-patricia-trie.c +0 -488
  36. data/ext/rb-grn-procedure.c +0 -52
  37. data/ext/rb-grn-query.c +0 -260
  38. data/ext/rb-grn-record.c +0 -40
  39. data/ext/rb-grn-snippet.c +0 -328
  40. data/ext/rb-grn-table-cursor-key-support.c +0 -69
  41. data/ext/rb-grn-table-cursor.c +0 -246
  42. data/ext/rb-grn-table-key-support.c +0 -731
  43. data/ext/rb-grn-table.c +0 -2038
  44. data/ext/rb-grn-type.c +0 -181
  45. data/ext/rb-grn-utils.c +0 -769
  46. data/ext/rb-grn-variable-size-column.c +0 -36
  47. data/ext/rb-grn-variable.c +0 -108
  48. data/ext/rb-grn.h +0 -684
  49. data/ext/rb-groonga.c +0 -113
  50. data/extconf.rb +0 -216
  51. data/html/bar.svg +0 -153
  52. data/html/developer.html +0 -121
  53. data/html/developer.svg +0 -469
  54. data/html/download.svg +0 -253
  55. data/html/favicon.ico +0 -0
  56. data/html/favicon.xcf +0 -0
  57. data/html/footer.html.erb +0 -28
  58. data/html/head.html.erb +0 -4
  59. data/html/header.html.erb +0 -17
  60. data/html/index.html +0 -147
  61. data/html/install.svg +0 -636
  62. data/html/logo.xcf +0 -0
  63. data/html/ranguba.css +0 -248
  64. data/html/tutorial.svg +0 -559
  65. data/lib/groonga.rb +0 -83
  66. data/lib/groonga/expression-builder.rb +0 -285
  67. data/lib/groonga/patricia-trie.rb +0 -53
  68. data/lib/groonga/record.rb +0 -276
  69. data/lib/groonga/schema.rb +0 -916
  70. data/license/GPL +0 -340
  71. data/license/LGPL +0 -504
  72. data/license/RUBY +0 -59
  73. data/misc/grnop2ruby.rb +0 -49
  74. data/pkg-config.rb +0 -333
  75. data/src/rb-grn-table-cursor.c +0 -296
  76. data/test-unit/Rakefile +0 -40
  77. data/test-unit/TODO +0 -5
  78. data/test-unit/bin/testrb +0 -5
  79. data/test-unit/html/classic.html +0 -15
  80. data/test-unit/html/index.html +0 -25
  81. data/test-unit/html/index.html.ja +0 -27
  82. data/test-unit/lib/test/unit.rb +0 -323
  83. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  84. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  85. data/test-unit/lib/test/unit/attribute.rb +0 -125
  86. data/test-unit/lib/test/unit/autorunner.rb +0 -353
  87. data/test-unit/lib/test/unit/collector.rb +0 -36
  88. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  89. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  90. data/test-unit/lib/test/unit/collector/load.rb +0 -136
  91. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  92. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  93. data/test-unit/lib/test/unit/color.rb +0 -96
  94. data/test-unit/lib/test/unit/diff.rb +0 -724
  95. data/test-unit/lib/test/unit/error.rb +0 -130
  96. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  97. data/test-unit/lib/test/unit/failure.rb +0 -136
  98. data/test-unit/lib/test/unit/fixture.rb +0 -176
  99. data/test-unit/lib/test/unit/notification.rb +0 -129
  100. data/test-unit/lib/test/unit/omission.rb +0 -191
  101. data/test-unit/lib/test/unit/pending.rb +0 -150
  102. data/test-unit/lib/test/unit/priority.rb +0 -181
  103. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  104. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  105. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  106. data/test-unit/lib/test/unit/testcase.rb +0 -476
  107. data/test-unit/lib/test/unit/testresult.rb +0 -89
  108. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  109. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  110. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -464
  111. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  112. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  113. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  114. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  115. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  116. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  117. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  118. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  119. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  120. data/test-unit/lib/test/unit/version.rb +0 -7
  121. data/test-unit/sample/adder.rb +0 -13
  122. data/test-unit/sample/subtracter.rb +0 -12
  123. data/test-unit/sample/test_adder.rb +0 -20
  124. data/test-unit/sample/test_subtracter.rb +0 -20
  125. data/test-unit/sample/test_user.rb +0 -23
  126. data/test-unit/test/collector/test-descendant.rb +0 -133
  127. data/test-unit/test/collector/test-load.rb +0 -329
  128. data/test-unit/test/collector/test_dir.rb +0 -406
  129. data/test-unit/test/collector/test_objectspace.rb +0 -100
  130. data/test-unit/test/run-test.rb +0 -15
  131. data/test-unit/test/test-attribute.rb +0 -86
  132. data/test-unit/test/test-color-scheme.rb +0 -67
  133. data/test-unit/test/test-color.rb +0 -47
  134. data/test-unit/test/test-diff.rb +0 -518
  135. data/test-unit/test/test-emacs-runner.rb +0 -60
  136. data/test-unit/test/test-fixture.rb +0 -287
  137. data/test-unit/test/test-notification.rb +0 -33
  138. data/test-unit/test/test-omission.rb +0 -81
  139. data/test-unit/test/test-pending.rb +0 -70
  140. data/test-unit/test/test-priority.rb +0 -119
  141. data/test-unit/test/test-testcase.rb +0 -554
  142. data/test-unit/test/test_assertions.rb +0 -1151
  143. data/test-unit/test/test_error.rb +0 -26
  144. data/test-unit/test/test_failure.rb +0 -33
  145. data/test-unit/test/test_testresult.rb +0 -113
  146. data/test-unit/test/test_testsuite.rb +0 -129
  147. data/test-unit/test/testunit-test-util.rb +0 -14
  148. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  149. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  150. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  151. data/test-unit/test/util/test_observable.rb +0 -102
  152. data/test-unit/test/util/test_procwrapper.rb +0 -36
  153. data/test/.gitignore +0 -1
  154. data/test/groonga-test-utils.rb +0 -106
  155. data/test/run-test.rb +0 -58
  156. data/test/test-array.rb +0 -97
  157. data/test/test-column.rb +0 -298
  158. data/test/test-context.rb +0 -73
  159. data/test/test-database.rb +0 -113
  160. data/test/test-encoding.rb +0 -33
  161. data/test/test-exception.rb +0 -93
  162. data/test/test-expression-builder.rb +0 -156
  163. data/test/test-expression.rb +0 -133
  164. data/test/test-fix-size-column.rb +0 -65
  165. data/test/test-gqtp.rb +0 -70
  166. data/test/test-hash.rb +0 -312
  167. data/test/test-index-column.rb +0 -81
  168. data/test/test-patricia-trie.rb +0 -189
  169. data/test/test-procedure.rb +0 -37
  170. data/test/test-query.rb +0 -22
  171. data/test/test-record.rb +0 -268
  172. data/test/test-remote.rb +0 -53
  173. data/test/test-schema.rb +0 -416
  174. data/test/test-snippet.rb +0 -121
  175. data/test/test-table-cursor.rb +0 -153
  176. data/test/test-table-offset-and-limit.rb +0 -102
  177. data/test/test-table-select-normalize.rb +0 -48
  178. data/test/test-table-select.rb +0 -145
  179. data/test/test-table.rb +0 -642
  180. data/test/test-type.rb +0 -61
  181. data/test/test-variable-size-column.rb +0 -98
  182. data/test/test-variable.rb +0 -28
  183. data/test/test-vector-column.rb +0 -76
  184. data/test/test-version.rb +0 -31
  185. data/text/TUTORIAL.ja.rdoc +0 -392
  186. data/text/expression.rdoc +0 -284
data/test-unit/Rakefile DELETED
@@ -1,40 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'rubygems'
4
- gem 'rdoc'
5
- require 'hoe'
6
- require './lib/test/unit/version.rb'
7
-
8
- ENV["NODOT"] = "yes"
9
-
10
- version = Test::Unit::VERSION
11
- ENV["VERSION"] = version
12
- Hoe.spec('test-unit') do |p|
13
- Hoe::Test::SUPPORTED_TEST_FRAMEWORKS[:testunit2] = "test/run-test.rb"
14
- p.version = version
15
- p.developer('Kouhei Sutou', 'kou@cozmixng.org')
16
- p.developer('Ryan Davis', 'ryand-ruby@zenspider.com')
17
-
18
- # Ex-Parrot:
19
- # p.developer('Nathaniel Talbott', 'nathaniel@talbott.ws')
20
- end
21
-
22
- task :check_manifest => :clean_test_result
23
- task :check_manifest => :clean_coverage
24
-
25
- task :clean_test_result do
26
- test_results = Dir.glob("**/.test-result")
27
- sh("rm", "-rf", *test_results) unless test_results.empty?
28
- end
29
-
30
- task :clean_coverage do
31
- sh("rm", "-rf", "coverage")
32
- end
33
-
34
- task :tag do
35
- message = "Released Test::Unit #{version}!"
36
- base = "svn+ssh://#{ENV['USER']}@rubyforge.org/var/svn/test-unit/"
37
- sh 'svn', 'copy', '-m', message, "#{base}trunk", "#{base}tags/#{version}"
38
- end
39
-
40
- # vim: syntax=Ruby
data/test-unit/TODO DELETED
@@ -1,5 +0,0 @@
1
- * mock.
2
- * data-driven test.
3
- * port ruby trunk's assert_equal's intelligent inspection
4
- when inspected expected and actual are same content
5
- string.
data/test-unit/bin/testrb DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'test/unit'
3
- (r = Test::Unit::AutoRunner.new(true)).process_args(ARGV) or
4
- abort r.options.banner + " tests..."
5
- exit r.run
@@ -1,15 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <title>Test::Unit (Classic)</title>
5
- </head>
6
- <body bgcolor="red">
7
- <p style="text-align: center">
8
- <img height="161" width="308" src="test-unit-classic.png">
9
- <br>
10
- <br>
11
- <br>
12
- Read the <a href="classic/test-unit/">rdoc</a>
13
- </p>
14
- </body>
15
- </html>
@@ -1,25 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
6
- <head>
7
- <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8
- <title>Test::Unit - a Unit Testing Framework for Ruby</title>
9
- </head>
10
- <body>
11
- <h1>Test::Unit - a Unit Testing Framework for Ruby</h1>
12
- <p>[<a href="index.html.ja">Japanese</a>]</p>
13
- <ul>
14
- <li><a href="http://rubyforge.org/projects/test-unit/">Project Page</a></li>
15
- <li>
16
- <a href="test-unit/">RDoc</a>
17
- <!--(<a href="ja/test-unit/">ja</a>)-->
18
- </li>
19
- <li>
20
- <a href="classic.html">Classic</a>
21
- <!--(<a href="ja/classic.html">ja</a>)-->
22
- </li>
23
- </ul>
24
- </body>
25
- </html>
@@ -1,27 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
- <head>
7
- <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8
- <title>Test::Unit - Ruby用単体テストフレームワーク</title>
9
- </head>
10
- <body>
11
- <h1>Test::Unit - Ruby用単体テストフレームワーク</h1>
12
- <p>[<a href="./">English</a>]</p>
13
- <ul>
14
- <li>
15
- <a href="http://rubyforge.org/projects/test-unit/">プロジェクトページ</a>
16
- </li>
17
- <li>
18
- <!--<a href="ja/test-unit/">RDoc</a>-->
19
- RDoc(<a href="test-unit/">en</a>)
20
- </li>
21
- <li>
22
- <!--<a href="classic.html.html">Classic</a>-->
23
- Classic(<a href="classic.html">en</a>)
24
- </li>
25
- </ul>
26
- </body>
27
- </html>
@@ -1,323 +0,0 @@
1
- require 'test/unit/testcase'
2
- require 'test/unit/autorunner'
3
-
4
- module Test # :nodoc:
5
- #
6
- # = Test::Unit - Ruby Unit Testing Framework
7
- #
8
- # == Introduction
9
- #
10
- # Unit testing is making waves all over the place, largely due to the
11
- # fact that it is a core practice of XP. While XP is great, unit testing
12
- # has been around for a long time and has always been a good idea. One
13
- # of the keys to good unit testing, though, is not just writing tests,
14
- # but having tests. What's the difference? Well, if you just _write_ a
15
- # test and throw it away, you have no guarantee that something won't
16
- # change later which breaks your code. If, on the other hand, you _have_
17
- # tests (obviously you have to write them first), and run them as often
18
- # as possible, you slowly build up a wall of things that cannot break
19
- # without you immediately knowing about it. This is when unit testing
20
- # hits its peak usefulness.
21
- #
22
- # Enter Test::Unit, a framework for unit testing in Ruby, helping you to
23
- # design, debug and evaluate your code by making it easy to write and
24
- # have tests for it.
25
- #
26
- #
27
- # == Notes
28
- #
29
- # Test::Unit has grown out of and superceded Lapidary.
30
- #
31
- #
32
- # == Feedback
33
- #
34
- # I like (and do my best to practice) XP, so I value early releases,
35
- # user feedback, and clean, simple, expressive code. There is always
36
- # room for improvement in everything I do, and Test::Unit is no
37
- # exception. Please, let me know what you think of Test::Unit as it
38
- # stands, and what you'd like to see expanded/changed/improved/etc. If
39
- # you find a bug, let me know ASAP; one good way to let me know what the
40
- # bug is is to submit a new test that catches it :-) Also, I'd love to
41
- # hear about any successes you have with Test::Unit, and any
42
- # documentation you might add will be greatly appreciated. My contact
43
- # info is below.
44
- #
45
- #
46
- # == Contact Information
47
- #
48
- # A lot of discussion happens about Ruby in general on the ruby-talk
49
- # mailing list (http://www.ruby-lang.org/en/ml.html), and you can ask
50
- # any questions you might have there. I monitor the list, as do many
51
- # other helpful Rubyists, and you're sure to get a quick answer. Of
52
- # course, you're also welcome to email me (Nathaniel Talbott) directly
53
- # at mailto:testunit@talbott.ws, and I'll do my best to help you out.
54
- #
55
- #
56
- # == Credits
57
- #
58
- # I'd like to thank...
59
- #
60
- # Matz, for a great language!
61
- #
62
- # Masaki Suketa, for his work on RubyUnit, which filled a vital need in
63
- # the Ruby world for a very long time. I'm also grateful for his help in
64
- # polishing Test::Unit and getting the RubyUnit compatibility layer
65
- # right. His graciousness in allowing Test::Unit to supercede RubyUnit
66
- # continues to be a challenge to me to be more willing to defer my own
67
- # rights.
68
- #
69
- # Ken McKinlay, for his interest and work on unit testing, and for his
70
- # willingness to dialog about it. He was also a great help in pointing
71
- # out some of the holes in the RubyUnit compatibility layer.
72
- #
73
- # Dave Thomas, for the original idea that led to the extremely simple
74
- # "require 'test/unit'", plus his code to improve it even more by
75
- # allowing the selection of tests from the command-line. Also, without
76
- # RDoc, the documentation for Test::Unit would stink a lot more than it
77
- # does now.
78
- #
79
- # Everyone who's helped out with bug reports, feature ideas,
80
- # encouragement to continue, etc. It's a real privilege to be a part of
81
- # the Ruby community.
82
- #
83
- # The guys at RoleModel Software, for putting up with me repeating, "But
84
- # this would be so much easier in Ruby!" whenever we're coding in Java.
85
- #
86
- # My Creator, for giving me life, and giving it more abundantly.
87
- #
88
- #
89
- # == License
90
- #
91
- # Test::Unit is copyright (c) 2000-2003 Nathaniel Talbott. It is free
92
- # software, and is distributed under the Ruby license. See the COPYING
93
- # file in the standard Ruby distribution for details.
94
- #
95
- #
96
- # == Warranty
97
- #
98
- # This software is provided "as is" and without any express or
99
- # implied warranties, including, without limitation, the implied
100
- # warranties of merchantibility and fitness for a particular
101
- # purpose.
102
- #
103
- #
104
- # == Author
105
- #
106
- # Nathaniel Talbott.
107
- # Copyright (c) 2000-2003, Nathaniel Talbott
108
- #
109
- # ----
110
- #
111
- # = Usage
112
- #
113
- # The general idea behind unit testing is that you write a _test_
114
- # _method_ that makes certain _assertions_ about your code, working
115
- # against a _test_ _fixture_. A bunch of these _test_ _methods_ are
116
- # bundled up into a _test_ _suite_ and can be run any time the
117
- # developer wants. The results of a run are gathered in a _test_
118
- # _result_ and displayed to the user through some UI. So, lets break
119
- # this down and see how Test::Unit provides each of these necessary
120
- # pieces.
121
- #
122
- #
123
- # == Assertions
124
- #
125
- # These are the heart of the framework. Think of an assertion as a
126
- # statement of expected outcome, i.e. "I assert that x should be equal
127
- # to y". If, when the assertion is executed, it turns out to be
128
- # correct, nothing happens, and life is good. If, on the other hand,
129
- # your assertion turns out to be false, an error is propagated with
130
- # pertinent information so that you can go back and make your
131
- # assertion succeed, and, once again, life is good. For an explanation
132
- # of the current assertions, see Test::Unit::Assertions.
133
- #
134
- #
135
- # == Test Method & Test Fixture
136
- #
137
- # Obviously, these assertions have to be called within a context that
138
- # knows about them and can do something meaningful with their
139
- # pass/fail value. Also, it's handy to collect a bunch of related
140
- # tests, each test represented by a method, into a common test class
141
- # that knows how to run them. The tests will be in a separate class
142
- # from the code they're testing for a couple of reasons. First of all,
143
- # it allows your code to stay uncluttered with test code, making it
144
- # easier to maintain. Second, it allows the tests to be stripped out
145
- # for deployment, since they're really there for you, the developer,
146
- # and your users don't need them. Third, and most importantly, it
147
- # allows you to set up a common test fixture for your tests to run
148
- # against.
149
- #
150
- # What's a test fixture? Well, tests do not live in a vacuum; rather,
151
- # they're run against the code they are testing. Often, a collection
152
- # of tests will run against a common set of data, also called a
153
- # fixture. If they're all bundled into the same test class, they can
154
- # all share the setting up and tearing down of that data, eliminating
155
- # unnecessary duplication and making it much easier to add related
156
- # tests.
157
- #
158
- # Test::Unit::TestCase wraps up a collection of test methods together
159
- # and allows you to easily set up and tear down the same test fixture
160
- # for each test. This is done by overriding #setup and/or #teardown,
161
- # which will be called before and after each test method that is
162
- # run. The TestCase also knows how to collect the results of your
163
- # assertions into a Test::Unit::TestResult, which can then be reported
164
- # back to you... but I'm getting ahead of myself. To write a test,
165
- # follow these steps:
166
- #
167
- # * Make sure Test::Unit is in your library path.
168
- # * require 'test/unit' in your test script.
169
- # * Create a class that subclasses Test::Unit::TestCase.
170
- # * Add a method that begins with "test" to your class.
171
- # * Make assertions in your test method.
172
- # * Optionally define #setup and/or #teardown to set up and/or tear
173
- # down your common test fixture.
174
- # * You can now run your test as you would any other Ruby
175
- # script... try it and see!
176
- #
177
- # A really simple test might look like this (#setup and #teardown are
178
- # commented out to indicate that they are completely optional):
179
- #
180
- # require 'test/unit'
181
- #
182
- # class MyTest < Test::Unit::TestCase
183
- # # def setup
184
- # # end
185
- #
186
- # # def teardown
187
- # # end
188
- #
189
- # def test_fail
190
- # assert(false, 'Assertion was false.')
191
- # end
192
- # end
193
- #
194
- #
195
- # == Test Runners
196
- #
197
- # So, now you have this great test class, but you still
198
- # need a way to run it and view any failures that occur
199
- # during the run. There are some test runner; console test
200
- # runner, GTK+ test runner and so on. The console test
201
- # runner is automatically invoked for you if you require
202
- # 'test/unit' and simply run the file. To use another
203
- # runner simply set default test runner ID to
204
- # Test::Unit::AutoRunner:
205
- #
206
- # require 'test/unit'
207
- # Test::Unit::AutoRunner.default_runner = "gtk2"
208
- #
209
- # == Test Suite
210
- #
211
- # As more and more unit tests accumulate for a given project, it
212
- # becomes a real drag running them one at a time, and it also
213
- # introduces the potential to overlook a failing test because you
214
- # forget to run it. Suddenly it becomes very handy that the
215
- # TestRunners can take any object that returns a Test::Unit::TestSuite
216
- # in response to a suite method. The TestSuite can, in turn, contain
217
- # other TestSuites or individual tests (typically created by a
218
- # TestCase). In other words, you can easily wrap up a group of
219
- # TestCases and TestSuites.
220
- #
221
- # Test::Unit does a little bit more for you, by wrapping
222
- # these up automatically when you require
223
- # 'test/unit'. What does this mean? It means you could
224
- # write the above test case like this instead:
225
- #
226
- # require 'test/unit'
227
- # require 'test_myfirsttests'
228
- # require 'test_moretestsbyme'
229
- # require 'test_anothersetoftests'
230
- #
231
- # Test::Unit is smart enough to find all the test cases existing in
232
- # the ObjectSpace and wrap them up into a suite for you. It then runs
233
- # the dynamic suite using the console TestRunner.
234
- #
235
- #
236
- # == Configuration file
237
- #
238
- # Test::Unit reads 'test-unit.yml' in the current working
239
- # directory as Test::Unit's configuration file. It can
240
- # contain the following configurations:
241
- #
242
- # * color scheme definitions
243
- # * test runner to be used
244
- # * test runner options
245
- # * test collector to be used
246
- #
247
- # Except color scheme definitions, all of them are
248
- # specified by command line option.
249
- #
250
- # Here are sample color scheme definitions:
251
- #
252
- # color_schemes:
253
- # inverted:
254
- # success:
255
- # name: red
256
- # bold: true
257
- # failure:
258
- # name: green
259
- # bold: true
260
- # other_scheme:
261
- # ...
262
- #
263
- # Here are the syntax of color scheme definitions:
264
- #
265
- # color_schemes:
266
- # SCHEME_NAME:
267
- # EVENT_NAME:
268
- # name: COLOR_NAME
269
- # intensity: BOOLEAN
270
- # bold: BOOLEAN
271
- # italic: BOOLEAN
272
- # underline: BOOLEAN
273
- # ...
274
- # ...
275
- #
276
- # SCHEME_NAME:: the name of the color scheme
277
- # EVENT_NAME:: one of [success, failure, pending,
278
- # omission, notification, error]
279
- # COLOR_NAME:: one of [black, red, green, yellow, blue,
280
- # magenta, cyan, white]
281
- # BOOLEAN:: true or false
282
- #
283
- # You can use the above 'inverted' color scheme with the
284
- # following configuration:
285
- #
286
- # runner: console
287
- # console_options:
288
- # color_scheme: inverted
289
- # color_schemes:
290
- # inverted:
291
- # success:
292
- # name: red
293
- # bold: true
294
- # failure:
295
- # name: green
296
- # bold: true
297
- #
298
- # == Questions?
299
- #
300
- # I'd really like to get feedback from all levels of Ruby
301
- # practitioners about typos, grammatical errors, unclear statements,
302
- # missing points, etc., in this document (or any other).
303
- #
304
-
305
- module Unit
306
- # Set true when Test::Unit has run. If set to true Test::Unit
307
- # will not automatically run at exit.
308
- def self.run=(flag)
309
- @run = flag
310
- end
311
-
312
- # Already tests have run?
313
- def self.run?
314
- @run ||= false
315
- end
316
- end
317
- end
318
-
319
- at_exit do
320
- unless $! || Test::Unit.run?
321
- exit Test::Unit::AutoRunner.run
322
- end
323
- end