rroonga 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/NEWS.ja.rdoc +13 -0
  2. data/NEWS.rdoc +13 -0
  3. data/Rakefile +2 -4
  4. data/ext/groonga/extconf.rb +4 -3
  5. data/ext/groonga/rb-grn.h +698 -0
  6. data/html/developer.html +10 -7
  7. data/html/index.html +1 -1
  8. data/pkg-config.rb +1 -1
  9. data/test/run-test.rb +9 -3
  10. metadata +35 -84
  11. data/test-unit/Rakefile +0 -40
  12. data/test-unit/TODO +0 -5
  13. data/test-unit/bin/testrb +0 -5
  14. data/test-unit/html/classic.html +0 -15
  15. data/test-unit/html/index.html +0 -25
  16. data/test-unit/html/index.html.ja +0 -27
  17. data/test-unit/lib/test/unit.rb +0 -323
  18. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  19. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  20. data/test-unit/lib/test/unit/attribute.rb +0 -125
  21. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  22. data/test-unit/lib/test/unit/collector.rb +0 -36
  23. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  24. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  25. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  26. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  27. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  28. data/test-unit/lib/test/unit/color.rb +0 -96
  29. data/test-unit/lib/test/unit/diff.rb +0 -724
  30. data/test-unit/lib/test/unit/error.rb +0 -130
  31. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  32. data/test-unit/lib/test/unit/failure.rb +0 -136
  33. data/test-unit/lib/test/unit/fixture.rb +0 -176
  34. data/test-unit/lib/test/unit/notification.rb +0 -129
  35. data/test-unit/lib/test/unit/omission.rb +0 -191
  36. data/test-unit/lib/test/unit/pending.rb +0 -150
  37. data/test-unit/lib/test/unit/priority.rb +0 -180
  38. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  39. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  40. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  41. data/test-unit/lib/test/unit/testcase.rb +0 -476
  42. data/test-unit/lib/test/unit/testresult.rb +0 -89
  43. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  44. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  45. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  46. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  47. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  48. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  49. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  50. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  51. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  52. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  53. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  54. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  55. data/test-unit/lib/test/unit/version.rb +0 -7
  56. data/test-unit/sample/adder.rb +0 -13
  57. data/test-unit/sample/subtracter.rb +0 -12
  58. data/test-unit/sample/test_adder.rb +0 -20
  59. data/test-unit/sample/test_subtracter.rb +0 -20
  60. data/test-unit/sample/test_user.rb +0 -23
  61. data/test-unit/test/collector/test-descendant.rb +0 -133
  62. data/test-unit/test/collector/test-load.rb +0 -442
  63. data/test-unit/test/collector/test_dir.rb +0 -406
  64. data/test-unit/test/collector/test_objectspace.rb +0 -100
  65. data/test-unit/test/run-test.rb +0 -15
  66. data/test-unit/test/test-attribute.rb +0 -86
  67. data/test-unit/test/test-color-scheme.rb +0 -67
  68. data/test-unit/test/test-color.rb +0 -47
  69. data/test-unit/test/test-diff.rb +0 -518
  70. data/test-unit/test/test-emacs-runner.rb +0 -60
  71. data/test-unit/test/test-fixture.rb +0 -287
  72. data/test-unit/test/test-notification.rb +0 -33
  73. data/test-unit/test/test-omission.rb +0 -81
  74. data/test-unit/test/test-pending.rb +0 -70
  75. data/test-unit/test/test-priority.rb +0 -119
  76. data/test-unit/test/test-testcase.rb +0 -544
  77. data/test-unit/test/test_assertions.rb +0 -1151
  78. data/test-unit/test/test_error.rb +0 -26
  79. data/test-unit/test/test_failure.rb +0 -33
  80. data/test-unit/test/test_testresult.rb +0 -113
  81. data/test-unit/test/test_testsuite.rb +0 -129
  82. data/test-unit/test/testunit-test-util.rb +0 -14
  83. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  84. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  85. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  86. data/test-unit/test/util/test_observable.rb +0 -102
  87. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -1,125 +0,0 @@
1
- module Test
2
- module Unit
3
- module Attribute
4
- class << self
5
- def included(base)
6
- base.extend(BaseClassMethods)
7
- base.extend(ClassMethods)
8
- end
9
- end
10
-
11
- module BaseClassMethods
12
- def attributes_table
13
- {}
14
- end
15
- end
16
-
17
- module ClassMethods
18
- def method_added(name)
19
- super
20
- return unless defined?(@current_attributes)
21
-
22
- attributes = {}
23
- kept_attributes = {}
24
- @current_attributes.each do |attribute_name, attribute|
25
- attributes[attribute_name] = attribute[:value]
26
- kept_attributes[attribute_name] = attribute if attribute[:keep]
27
- end
28
- set_attributes(name, attributes)
29
- @current_attributes = kept_attributes
30
- end
31
-
32
- def attribute(name, value, options={}, *method_names)
33
- unless options.is_a?(Hash)
34
- method_names << options
35
- options = {}
36
- end
37
- @current_attributes ||= {}
38
- if method_names.empty?
39
- @current_attributes[name] = options.merge(:value => value)
40
- else
41
- method_names.each do |method_name|
42
- set_attributes(method_name, {name => value})
43
- end
44
- end
45
- end
46
-
47
- def attributes_table
48
- @attributes_table ||= {}
49
- super.merge(@attributes_table)
50
- end
51
-
52
- def set_attributes(method_name, new_attributes)
53
- return if new_attributes.empty?
54
- method_name = normalize_method_name(method_name)
55
- @attributes_table ||= {}
56
- @attributes_table[method_name] ||= {}
57
- current_attributes = @attributes_table[method_name]
58
- new_attributes.each do |key, value|
59
- key = normalize_attribute_name(key)
60
- observers = attribute_observers(key) || []
61
- observers.each do |observer|
62
- observer.call(self,
63
- key,
64
- (attributes(method_name) || {})[key],
65
- value,
66
- method_name)
67
- end
68
- current_attributes[key] = value
69
- end
70
- end
71
-
72
- def attributes(method_name)
73
- method_name = normalize_method_name(method_name)
74
- attributes = attributes_table[method_name]
75
- ancestors[1..-1].each do |ancestor|
76
- if ancestor.is_a?(Class) and ancestor < Test::Unit::Attribute
77
- parent_attributes = ancestor.attributes(method_name)
78
- if attributes
79
- attributes = (parent_attributes || {}).merge(attributes)
80
- else
81
- attributes = parent_attributes
82
- end
83
- break
84
- end
85
- end
86
- attributes
87
- end
88
-
89
- def get_attribute(method_name, attribute_name)
90
- attribute_name = normalize_attribute_name(attribute_name)
91
- (attributes(method_name) || {})[attribute_name]
92
- end
93
-
94
- @@attribute_observers = {}
95
- def register_attribute_observer(attribute_name, observer=Proc.new)
96
- attribute_name = normalize_attribute_name(attribute_name)
97
- @@attribute_observers[attribute_name] ||= []
98
- @@attribute_observers[attribute_name] << observer
99
- end
100
-
101
- def attribute_observers(attribute_name)
102
- attribute_name = normalize_attribute_name(attribute_name)
103
- @@attribute_observers[attribute_name]
104
- end
105
-
106
- private
107
- def normalize_attribute_name(name)
108
- name.to_s
109
- end
110
-
111
- def normalize_method_name(name)
112
- name.to_s
113
- end
114
- end
115
-
116
- def attributes
117
- self.class.attributes(@method_name) || {}
118
- end
119
-
120
- def [](name)
121
- self.class.get_attribute(@method_name, name)
122
- end
123
- end
124
- end
125
- end
@@ -1,360 +0,0 @@
1
- require 'test/unit/color-scheme'
2
- require 'optparse'
3
-
4
- module Test
5
- module Unit
6
- class AutoRunner
7
- RUNNERS = {}
8
- COLLECTORS = {}
9
- ADDITIONAL_OPTIONS = []
10
-
11
- class << self
12
- def register_runner(id, runner_builder=Proc.new)
13
- RUNNERS[id] = runner_builder
14
- RUNNERS[id.to_s] = runner_builder
15
- end
16
-
17
- def runner(id)
18
- RUNNERS[id.to_s]
19
- end
20
-
21
- @@default_runner = nil
22
- def default_runner
23
- runner(@@default_runner)
24
- end
25
-
26
- def default_runner=(id)
27
- @@default_runner = id
28
- end
29
-
30
- def register_collector(id, collector_builder=Proc.new)
31
- COLLECTORS[id] = collector_builder
32
- COLLECTORS[id.to_s] = collector_builder
33
- end
34
-
35
- def collector(id)
36
- COLLECTORS[id.to_s]
37
- end
38
-
39
- def register_color_scheme(id, scheme)
40
- ColorScheme[id] = scheme
41
- end
42
-
43
- def setup_option(option_builder=Proc.new)
44
- ADDITIONAL_OPTIONS << option_builder
45
- end
46
- end
47
-
48
- def self.run(force_standalone=false, default_dir=nil, argv=ARGV, &block)
49
- r = new(force_standalone || standalone?, &block)
50
- r.base = default_dir
51
- r.process_args(argv)
52
- r.run
53
- end
54
-
55
- def self.standalone?
56
- return false unless("-e" == $0)
57
- ObjectSpace.each_object(Class) do |klass|
58
- return false if(klass < TestCase)
59
- end
60
- true
61
- end
62
-
63
- register_collector(:descendant) do |auto_runner|
64
- require 'test/unit/collector/descendant'
65
- collector = Collector::Descendant.new
66
- collector.filter = auto_runner.filters
67
- collector.collect($0.sub(/\.rb\Z/, ''))
68
- end
69
-
70
- register_collector(:load) do |auto_runner|
71
- require 'test/unit/collector/load'
72
- collector = Collector::Load.new
73
- collector.patterns.concat(auto_runner.pattern) if auto_runner.pattern
74
- collector.excludes.concat(auto_runner.exclude) if auto_runner.exclude
75
- collector.base = auto_runner.base
76
- collector.filter = auto_runner.filters
77
- collector.collect(*auto_runner.to_run)
78
- end
79
-
80
- # deprecated
81
- register_collector(:object_space) do |auto_runner|
82
- require 'test/unit/collector/objectspace'
83
- c = Collector::ObjectSpace.new
84
- c.filter = auto_runner.filters
85
- c.collect($0.sub(/\.rb\Z/, ''))
86
- end
87
-
88
- # deprecated
89
- register_collector(:dir) do |auto_runner|
90
- require 'test/unit/collector/dir'
91
- c = Collector::Dir.new
92
- c.filter = auto_runner.filters
93
- c.pattern.concat(auto_runner.pattern) if auto_runner.pattern
94
- c.exclude.concat(auto_runner.exclude) if auto_runner.exclude
95
- c.base = auto_runner.base
96
- $:.push(auto_runner.base) if auto_runner.base
97
- c.collect(*(auto_runner.to_run.empty? ? ['.'] : auto_runner.to_run))
98
- end
99
-
100
- attr_reader :suite, :runner_options
101
- attr_accessor :filters, :to_run, :pattern, :exclude, :base, :workdir
102
- attr_accessor :color_scheme
103
- attr_writer :runner, :collector
104
-
105
- def initialize(standalone)
106
- Unit.run = true
107
- @standalone = standalone
108
- @runner = default_runner
109
- @collector = default_collector
110
- @filters = []
111
- @to_run = []
112
- @color_scheme = ColorScheme.default
113
- @runner_options = {}
114
- @default_arguments = []
115
- @workdir = nil
116
- config_file = "test-unit.yml"
117
- if File.exist?(config_file)
118
- load_config(config_file)
119
- else
120
- load_global_config
121
- end
122
- yield(self) if block_given?
123
- end
124
-
125
- def process_args(args = ARGV)
126
- begin
127
- args.unshift(*@default_arguments)
128
- options.order!(args) {|arg| @to_run << arg}
129
- rescue OptionParser::ParseError => e
130
- puts e
131
- puts options
132
- exit(false)
133
- end
134
- not @to_run.empty?
135
- end
136
-
137
- def options
138
- @options ||= OptionParser.new do |o|
139
- o.banner = "Test::Unit automatic runner."
140
- o.banner << "\nUsage: #{$0} [options] [-- untouched arguments]"
141
-
142
- o.on
143
- o.on('-r', '--runner=RUNNER', RUNNERS,
144
- "Use the given RUNNER.",
145
- "(" + keyword_display(RUNNERS) + ")") do |r|
146
- @runner = r
147
- end
148
-
149
- if (@standalone)
150
- o.on('-b', '--basedir=DIR', "Base directory of test suites.") do |b|
151
- @base = b
152
- end
153
-
154
- o.on('-w', '--workdir=DIR', "Working directory to run tests.") do |w|
155
- @workdir = w
156
- end
157
-
158
- o.on('-a', '--add=TORUN', Array,
159
- "Add TORUN to the list of things to run;",
160
- "can be a file or a directory.") do |a|
161
- @to_run.concat(a)
162
- end
163
-
164
- @pattern = []
165
- o.on('-p', '--pattern=PATTERN', Regexp,
166
- "Match files to collect against PATTERN.") do |e|
167
- @pattern << e
168
- end
169
-
170
- @exclude = []
171
- o.on('-x', '--exclude=PATTERN', Regexp,
172
- "Ignore files to collect against PATTERN.") do |e|
173
- @exclude << e
174
- end
175
- end
176
-
177
- o.on('-n', '--name=NAME', String,
178
- "Runs tests matching NAME.",
179
- "(patterns may be used).") do |n|
180
- n = (%r{\A/(.*)/\Z} =~ n ? Regexp.new($1) : n)
181
- case n
182
- when Regexp
183
- @filters << proc{|t| n =~ t.method_name ? true : false}
184
- else
185
- @filters << proc{|t| n == t.method_name}
186
- end
187
- end
188
-
189
- o.on('-t', '--testcase=TESTCASE', String,
190
- "Runs tests in TestCases matching TESTCASE.",
191
- "(patterns may be used).") do |n|
192
- n = (%r{\A/(.*)/\Z} =~ n ? Regexp.new($1) : n)
193
- case n
194
- when Regexp
195
- @filters << proc{|t| n =~ t.class.name ? true : false}
196
- else
197
- @filters << proc{|t| n == t.class.name}
198
- end
199
- end
200
-
201
- priority_filter = Proc.new do |test|
202
- if @filters == [priority_filter]
203
- Priority::Checker.new(test).need_to_run?
204
- else
205
- nil
206
- end
207
- end
208
- o.on("--[no-]priority-mode",
209
- "Runs some tests based on their priority.") do |priority_mode|
210
- if priority_mode
211
- Priority.enable
212
- @filters |= [priority_filter]
213
- else
214
- Priority.disable
215
- @filters -= [priority_filter]
216
- end
217
- end
218
-
219
- o.on("--default-priority=PRIORITY",
220
- Priority.available_values,
221
- "Uses PRIORITY as default priority",
222
- "(#{keyword_display(Priority.available_values)})") do |priority|
223
- Priority.default = priority
224
- end
225
-
226
- o.on('-I', "--load-path=DIR[#{File::PATH_SEPARATOR}DIR...]",
227
- "Appends directory list to $LOAD_PATH.") do |dirs|
228
- $LOAD_PATH.concat(dirs.split(File::PATH_SEPARATOR))
229
- end
230
-
231
- color_schemes = ColorScheme.all
232
- o.on("--color-scheme=SCHEME", color_schemes,
233
- "Use SCHEME as color scheme.",
234
- "(#{keyword_display(color_schemes)})") do |scheme|
235
- @color_scheme = scheme
236
- end
237
-
238
- o.on("--config=FILE",
239
- "Use YAML fomat FILE content as configuration file.") do |file|
240
- load_config(file)
241
- end
242
-
243
- o.on("--order=ORDER", TestCase::AVAILABLE_ORDERS,
244
- "Run tests in a test case in ORDER order.",
245
- "(#{keyword_display(TestCase::AVAILABLE_ORDERS)})") do |order|
246
- TestCase.test_order = order
247
- end
248
-
249
- ADDITIONAL_OPTIONS.each do |option_builder|
250
- option_builder.call(self, o)
251
- end
252
-
253
- o.on('--',
254
- "Stop processing options so that the",
255
- "remaining options will be passed to the",
256
- "test."){o.terminate}
257
-
258
- o.on('-h', '--help', 'Display this help.'){puts o; exit}
259
-
260
- o.on_tail
261
- o.on_tail('Deprecated options:')
262
-
263
- o.on_tail('--console', 'Console runner (use --runner).') do
264
- warn("Deprecated option (--console).")
265
- @runner = self.class.runner(:console)
266
- end
267
-
268
- if RUNNERS[:fox]
269
- o.on_tail('--fox', 'Fox runner (use --runner).') do
270
- warn("Deprecated option (--fox).")
271
- @runner = self.class.runner(:fox)
272
- end
273
- end
274
-
275
- o.on_tail
276
- end
277
- end
278
-
279
- def keyword_display(keywords)
280
- keywords = keywords.collect do |keyword, _|
281
- keyword.to_s
282
- end.uniq.sort
283
-
284
- i = 0
285
- keywords.collect do |keyword|
286
- if (i > 0 and keyword[0] == keywords[i - 1][0]) or
287
- ((i < keywords.size - 1) and (keyword[0] == keywords[i + 1][0]))
288
- n = 2
289
- else
290
- n = 1
291
- end
292
- i += 1
293
- keyword.sub(/^(.{#{n}})([A-Za-z]+)(?=\w*$)/, '\\1[\\2]')
294
- end.join(", ")
295
- end
296
-
297
- def run
298
- suite = @collector[self]
299
- return false if suite.nil?
300
- runner = @runner[self]
301
- return false if runner.nil?
302
- @runner_options[:color_scheme] ||= @color_scheme
303
- Dir.chdir(@workdir) if @workdir
304
- runner.run(suite, @runner_options).passed?
305
- end
306
-
307
- def load_config(file)
308
- require 'yaml'
309
- config = YAML.load(File.read(file))
310
- runner_name = config["runner"]
311
- @runner = self.class.runner(runner_name) || @runner
312
- @collector = self.class.collector(config["collector"]) || @collector
313
- (config["color_schemes"] || {}).each do |name, options|
314
- ColorScheme[name] = options
315
- end
316
- runner_options = {}
317
- (config["#{runner_name}_options"] || {}).each do |key, value|
318
- key = key.to_sym
319
- value = ColorScheme[value] if key == :color_scheme
320
- if key == :arguments
321
- @default_arguments.concat(value.split)
322
- else
323
- runner_options[key.to_sym] = value
324
- end
325
- end
326
- @runner_options = @runner_options.merge(runner_options)
327
- end
328
-
329
- private
330
- def default_runner
331
- runner = self.class.default_runner
332
- if ENV["EMACS"] == "t"
333
- runner ||= self.class.runner(:emacs)
334
- else
335
- runner ||= self.class.runner(:console)
336
- end
337
- runner
338
- end
339
-
340
- def default_collector
341
- self.class.collector(@standalone ? :load : :descendant)
342
- end
343
-
344
- def global_config_file
345
- File.expand_path("~/.test-unit.xml")
346
- rescue ArgumentError
347
- nil
348
- end
349
-
350
- def load_global_config
351
- file = global_config_file
352
- load_config(file) if file and File.exist?(file)
353
- end
354
- end
355
- end
356
- end
357
-
358
- require 'test/unit/runner/console'
359
- require 'test/unit/runner/emacs'
360
- require 'test/unit/runner/tap'