groonga-query-log 1.4.7 → 1.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/doc/text/news.md +13 -0
  3. data/groonga-query-log.gemspec +1 -0
  4. data/lib/groonga-query-log/response-comparer.rb +61 -0
  5. data/lib/groonga-query-log/version.rb +1 -1
  6. data/test/fixtures/run-regression-test/db.new/db +0 -0
  7. data/test/fixtures/run-regression-test/db.new/db.0000000 +0 -0
  8. data/test/fixtures/run-regression-test/db.new/db.0000100 +0 -0
  9. data/test/fixtures/run-regression-test/db.new/db.0000101 +0 -0
  10. data/test/fixtures/run-regression-test/db.new/db.0000102 +0 -0
  11. data/test/fixtures/run-regression-test/db.new/db.0000103 +0 -0
  12. data/test/fixtures/run-regression-test/db.new/db.0000103.c +0 -0
  13. data/test/fixtures/run-regression-test/db.new/db.001 +0 -0
  14. data/test/fixtures/run-regression-test/db.new/db.conf +0 -0
  15. data/test/fixtures/run-regression-test/db.new/groonga.log +165 -0
  16. data/test/fixtures/run-regression-test/db.old/db +0 -0
  17. data/test/fixtures/run-regression-test/db.old/db.0000000 +0 -0
  18. data/test/fixtures/run-regression-test/db.old/db.0000100 +0 -0
  19. data/test/fixtures/run-regression-test/db.old/db.0000101 +0 -0
  20. data/test/fixtures/run-regression-test/db.old/db.0000102 +0 -0
  21. data/test/fixtures/run-regression-test/db.old/db.0000103 +0 -0
  22. data/test/fixtures/run-regression-test/db.old/db.0000103.c +0 -0
  23. data/test/fixtures/run-regression-test/db.old/db.001 +0 -0
  24. data/test/fixtures/run-regression-test/db.old/db.conf +0 -0
  25. data/test/fixtures/run-regression-test/db.old/groonga.log +79 -0
  26. data/test/fixtures/run-regression-test/results/query.log +0 -0
  27. data/test/test-response-comparer.rb +213 -0
  28. metadata +97 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 140bb8239642bb57ed4a1e71e13c186f442c5fbc20b21a603f6e7a8621fab476
4
- data.tar.gz: b4aceb74d1261eb48ee2334ed5637c30913352cd1ecf9f431dd29711cf59f371
3
+ metadata.gz: 7da31522950bf888a173fa1caec9cc3a7620eff91d7cf93993d7a5f01efb6be0
4
+ data.tar.gz: '09522c44b85c8ef6021204a1b6df7d02a33bcc510a9c17b5969e82af612ca6a4'
5
5
  SHA512:
6
- metadata.gz: 292178eebdc4a64e79779fe31a213cc3d11aca88b22a7473f44aa4fa9e25ec548d0d03b9cdb51dee4ea768c78db41556b669c5328d63562d4288498c1cd9b2ee
7
- data.tar.gz: 3750221e66a98d3854b451a52a7057f24a597d98e1e1710f2a9c9cff94172e045ead3bb22940c64e06f9a7e1bda9d340a4b347e89335dcabb1196acc42e846d9
6
+ metadata.gz: deec5428b2f2b3494a35bd914273d6b6080603f84b012f8a0abf0f7069d26b4b5303a0fb64e8fc49513cade4e5009ef42aa7e188fa59d0444255562b3f1154aa
7
+ data.tar.gz: f463d411f160245c46e839a12807467785eec47f359ce3d79a27da7848791ab376c0bb9b07b98fe68cf1dc34184e6a252dc18e8531b64cd6f5e57c437e86fe8a
@@ -1,5 +1,18 @@
1
1
  # News
2
2
 
3
+ ## 1.4.8: 2019-08-22
4
+
5
+ ### Improvements
6
+
7
+ * Required groonga-command 1.4.2 or later.
8
+
9
+ * `groonga-query-log-run-regression-test`:
10
+
11
+ * Add support for loose sort check. If all sort values are the
12
+ same values, order in records that have the same values isn't
13
+ unspecified in Groonga. Loose sort check respects the behavior
14
+ by sorting in the script.
15
+
3
16
  ## 1.4.7: 2019-08-21
4
17
 
5
18
  ### Fixes
@@ -55,6 +55,7 @@ Gem::Specification.new do |spec|
55
55
  spec.add_runtime_dependency("groonga-command-parser")
56
56
  spec.add_runtime_dependency("groonga-client")
57
57
  spec.add_runtime_dependency("groonga-log", ">= 0.1.2")
58
+ spec.add_runtime_dependency("groonga-command", ">= 1.4.2")
58
59
 
59
60
  spec.add_development_dependency("test-unit")
60
61
  spec.add_development_dependency("test-unit-rr")
@@ -194,6 +194,15 @@ module GroongaQueryLog
194
194
 
195
195
  records1 = records_result1[2..-1]
196
196
  records2 = records_result2[2..-1]
197
+ sort_keys = @command.sort_keys
198
+ if @command.respond_to?(:shard_key)
199
+ shard_key = @command.shard_key
200
+ sort_keys.unshift(shard_key)
201
+ end
202
+ if need_loose_sort?(records1, columns1, records2, columns2, sort_keys)
203
+ records1 = sort_records_loose(records1, columns1, sort_keys)
204
+ records2 = sort_records_loose(records2, columns2, sort_keys)
205
+ end
197
206
  records1.each_with_index do |record1, record_index|
198
207
  record2 = records2[record_index]
199
208
  column_to_index1.each do |name, column_index1|
@@ -243,6 +252,58 @@ module GroongaQueryLog
243
252
  true
244
253
  end
245
254
 
255
+ def need_loose_sort?(records1, columns1, records2, columns2, sort_keys)
256
+ return false if sort_keys.empty?
257
+ return false unless sorted?(records1, columns1, sort_keys)
258
+ return false unless sorted?(records2, columns2, sort_keys)
259
+ true
260
+ end
261
+
262
+ def compare_records(record1, record2, columns, sort_targets)
263
+ sort_targets.each do |i, order|
264
+ value1 = normalize_value(record1[i], columns[i])
265
+ value2 = normalize_value(record2[i], columns[i])
266
+ compared = (value1 <=> value2)
267
+ compared = -compared if order == :descendant
268
+ return compared unless compared == 0
269
+ end
270
+ 0
271
+ end
272
+
273
+ def compute_sort_targets(columns, sort_keys)
274
+ sort_keys.collect do |sort_key|
275
+ if sort_key.start_with?("-")
276
+ order = :descendant
277
+ sort_key = sort_key[1..-1]
278
+ else
279
+ order = :ascending
280
+ end
281
+ i = columns.index do |(name, _)|
282
+ name == sort_key
283
+ end
284
+ [i, order]
285
+ end
286
+ end
287
+
288
+ def sorted?(records, columns, sort_keys)
289
+ sort_targets = compute_sort_targets(columns, sort_keys)
290
+ sorted_records = records.sort do |record1, record2|
291
+ compare_records(record1, record2, columns, sort_targets)
292
+ end
293
+ records == sorted_records
294
+ end
295
+
296
+ def sort_records_loose(records, columns, sort_keys)
297
+ sort_targets = compute_sort_targets(columns, sort_keys)
298
+ columns.each_with_index do |column, i|
299
+ next if sort_targets.any? {|j, _| j == i}
300
+ sort_targets << [i, :ascending]
301
+ end
302
+ records.sort do |record1, record2|
303
+ compare_records(record1, record2, columns, sort_targets)
304
+ end
305
+ end
306
+
246
307
  def make_column_to_index_map(columns)
247
308
  map = {}
248
309
  columns.each_with_index do |(name, _), i|
@@ -15,5 +15,5 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  module GroongaQueryLog
18
- VERSION = "1.4.7"
18
+ VERSION = "1.4.8"
19
19
  end
@@ -0,0 +1,165 @@
1
+ 2017-04-24 11:06:45.783903|n| grn_init: <7.0.1-105-gf940037>
2
+ 2017-04-24 11:06:45.783995|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
3
+ 2017-04-24 11:06:45.785696|n| DDL:256:table_create Entries
4
+ 2017-04-24 11:06:45.832240|n| spec:256:update:Entries:48(table:hash_key):0
5
+ 2017-04-24 11:06:45.832566|n| DDL:257:column_create Entries description
6
+ 2017-04-24 11:06:45.882379|n| spec:257:update:Entries.description:65(column:var_size):15(Text)
7
+ 2017-04-24 11:06:45.902188|n| grn_fin (0)
8
+ 2017-04-24 11:06:45.911851|n| grn_init: <7.0.1-105-gf940037>
9
+ 2017-04-24 11:06:45.911981|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
10
+ 2017-04-24 11:06:45.927281|n| grn_fin (0)
11
+ 2017-04-24 11:06:45.938921|n| grn_init: <7.0.1-105-gf940037>
12
+ 2017-04-24 11:06:45.939085|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
13
+ 2017-04-24 11:06:45.943080|n| DDL:258:table_create Bigram
14
+ 2017-04-24 11:06:45.990956|n| spec:258:update:Bigram:49(table:pat_key):0
15
+ 2017-04-24 11:06:45.991456|n| DDL:259:column_create Bigram Entries_description
16
+ 2017-04-24 11:06:46.084367|n| spec:259:update:Bigram.Entries_description:72(column:index):256(Entries)
17
+ 2017-04-24 11:06:46.099864|n| DDL:259:set_source Bigram.Entries_description Entries.description
18
+ 2017-04-24 11:06:46.099925|n| spec:257:update:Entries.description:65(column:var_size):15(Text)
19
+ 2017-04-24 11:06:46.104701|n| spec:259:update:Bigram.Entries_description:72(column:index):256(Entries)
20
+ 2017-04-24 11:06:46.113406|n| grn_fin (0)
21
+ 2017-04-24 11:06:46.117714|n| grn_init: <7.0.1-105-gf940037>
22
+ 2017-04-24 11:06:46.117765|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
23
+ 2017-04-24 11:06:46.117899|n| RLIMIT_NOFILE(4096,4096)
24
+ 2017-04-24 11:06:47.117263|n| thread start (0/1)
25
+ 2017-04-24 11:06:47.495184|n| thread end (0/0)
26
+ 2017-04-24 11:06:47.498054|n| grn_fin (0)
27
+ 2017-04-24 11:07:45.262160|n| grn_init: <7.0.1-105-gf940037>
28
+ 2017-04-24 11:07:45.262192|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
29
+ 2017-04-24 11:07:45.262282|n| RLIMIT_NOFILE(4096,4096)
30
+ 2017-04-24 11:07:46.261844|n| thread start (0/1)
31
+ 2017-04-24 11:07:46.580606|n| thread end (0/0)
32
+ 2017-04-24 11:07:46.583733|n| grn_fin (0)
33
+ 2017-04-24 11:07:46.586691|n| grn_init: <7.0.1-105-gf940037>
34
+ 2017-04-24 11:07:46.586724|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
35
+ 2017-04-24 11:07:46.586809|n| RLIMIT_NOFILE(4096,4096)
36
+ 2017-04-24 11:07:47.585962|n| thread start (0/1)
37
+ 2017-04-24 11:07:48.028639|n| thread end (0/0)
38
+ 2017-04-24 11:07:48.030048|n| grn_fin (0)
39
+ 2017-04-24 11:07:48.034362|n| grn_init: <7.0.1-105-gf940037>
40
+ 2017-04-24 11:07:48.034410|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
41
+ 2017-04-24 11:07:48.034549|n| RLIMIT_NOFILE(4096,4096)
42
+ 2017-04-24 11:07:49.032453|n| thread start (0/1)
43
+ 2017-04-24 11:07:49.195891|n| thread end (0/0)
44
+ 2017-04-24 11:07:49.196755|n| grn_fin (0)
45
+ 2017-04-24 11:10:47.018307|n| grn_init: <7.0.1-105-gf940037>
46
+ 2017-04-24 11:10:47.018349|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
47
+ 2017-04-24 11:10:47.018437|n| RLIMIT_NOFILE(4096,4096)
48
+ 2017-04-24 11:10:48.017869|n| thread start (0/1)
49
+ 2017-04-24 11:10:48.313167|n| thread end (0/0)
50
+ 2017-04-24 11:10:48.314042|n| grn_fin (0)
51
+ 2017-04-24 11:10:48.316882|n| grn_init: <7.0.1-105-gf940037>
52
+ 2017-04-24 11:10:48.316926|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
53
+ 2017-04-24 11:10:48.317007|n| RLIMIT_NOFILE(4096,4096)
54
+ 2017-04-24 11:10:49.315935|n| thread start (0/1)
55
+ 2017-04-24 11:10:49.698905|n| thread end (0/0)
56
+ 2017-04-24 11:10:49.700064|n| grn_fin (0)
57
+ 2017-04-24 11:10:49.705284|n| grn_init: <7.0.1-105-gf940037>
58
+ 2017-04-24 11:10:49.705412|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
59
+ 2017-04-24 11:10:49.705578|n| RLIMIT_NOFILE(4096,4096)
60
+ 2017-04-24 11:10:50.702205|n| thread start (0/1)
61
+ 2017-04-24 11:10:50.858002|n| thread end (0/0)
62
+ 2017-04-24 11:10:50.858862|n| grn_fin (0)
63
+ 2017-04-24 11:11:12.606175|n| grn_init: <7.0.1-105-gf940037>
64
+ 2017-04-24 11:11:12.606214|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
65
+ 2017-04-24 11:11:12.606307|n| RLIMIT_NOFILE(4096,4096)
66
+ 2017-04-24 11:11:13.605834|n| thread start (0/1)
67
+ 2017-04-24 11:11:13.842406|n| thread end (0/0)
68
+ 2017-04-24 11:11:13.843288|n| grn_fin (0)
69
+ 2017-04-24 11:11:13.846133|n| grn_init: <7.0.1-105-gf940037>
70
+ 2017-04-24 11:11:13.846164|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
71
+ 2017-04-24 11:11:13.846254|n| RLIMIT_NOFILE(4096,4096)
72
+ 2017-04-24 11:11:14.845410|n| thread start (0/1)
73
+ 2017-04-24 11:11:15.127688|n| thread end (0/0)
74
+ 2017-04-24 11:11:15.128568|n| grn_fin (0)
75
+ 2017-04-24 11:11:15.131325|n| grn_init: <7.0.1-105-gf940037>
76
+ 2017-04-24 11:11:15.131357|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
77
+ 2017-04-24 11:11:15.131440|n| RLIMIT_NOFILE(4096,4096)
78
+ 2017-04-24 11:11:16.130617|n| thread start (0/1)
79
+ 2017-04-24 11:11:42.306188|n| grn_init: <7.0.1-105-gf940037>
80
+ 2017-04-24 11:11:42.306219|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
81
+ 2017-04-24 11:11:42.306306|n| RLIMIT_NOFILE(4096,4096)
82
+ 2017-04-24 11:11:43.308553|n| thread start (0/1)
83
+ 2017-04-24 11:11:43.580788|n| thread end (0/0)
84
+ 2017-04-24 11:11:43.581685|n| grn_fin (0)
85
+ 2017-04-24 11:11:43.584541|n| grn_init: <7.0.1-105-gf940037>
86
+ 2017-04-24 11:11:43.584576|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
87
+ 2017-04-24 11:11:43.584662|n| RLIMIT_NOFILE(4096,4096)
88
+ 2017-04-24 11:11:44.583985|n| thread start (0/1)
89
+ 2017-04-24 11:11:44.874262|n| thread end (0/0)
90
+ 2017-04-24 11:11:44.875167|n| grn_fin (0)
91
+ 2017-04-24 11:11:44.877971|n| grn_init: <7.0.1-105-gf940037>
92
+ 2017-04-24 11:11:44.878014|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
93
+ 2017-04-24 11:11:44.878098|n| RLIMIT_NOFILE(4096,4096)
94
+ 2017-04-24 11:11:45.877207|n| thread start (0/1)
95
+ 2017-04-24 11:11:46.066477|n| thread end (0/0)
96
+ 2017-04-24 11:11:46.067611|n| grn_fin (0)
97
+ 2017-04-24 11:12:06.890149|n| grn_init: <7.0.1-105-gf940037>
98
+ 2017-04-24 11:12:06.890181|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
99
+ 2017-04-24 11:12:06.890263|n| RLIMIT_NOFILE(4096,4096)
100
+ 2017-04-24 11:12:07.889979|n| thread start (0/1)
101
+ 2017-04-24 11:12:08.166979|n| thread end (0/0)
102
+ 2017-04-24 11:12:08.167884|n| grn_fin (0)
103
+ 2017-04-24 11:12:08.170752|n| grn_init: <7.0.1-105-gf940037>
104
+ 2017-04-24 11:12:08.170794|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
105
+ 2017-04-24 11:12:08.170877|n| RLIMIT_NOFILE(4096,4096)
106
+ 2017-04-24 11:12:09.170034|n| thread start (0/1)
107
+ 2017-04-24 11:12:09.466889|n| thread end (0/0)
108
+ 2017-04-24 11:12:09.467813|n| grn_fin (0)
109
+ 2017-04-24 11:12:09.470729|n| grn_init: <7.0.1-105-gf940037>
110
+ 2017-04-24 11:12:09.470761|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
111
+ 2017-04-24 11:12:09.470845|n| RLIMIT_NOFILE(4096,4096)
112
+ 2017-04-24 11:12:10.469841|n| thread start (0/1)
113
+ 2017-04-24 11:12:10.568799|n| thread end (0/0)
114
+ 2017-04-24 11:12:10.569881|n| grn_fin (0)
115
+ 2017-04-24 11:12:21.466214|n| grn_init: <7.0.1-105-gf940037>
116
+ 2017-04-24 11:12:21.466249|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
117
+ 2017-04-24 11:12:21.466332|n| RLIMIT_NOFILE(4096,4096)
118
+ 2017-04-24 11:12:22.466174|n| thread start (0/1)
119
+ 2017-04-24 11:12:22.724694|n| thread end (0/0)
120
+ 2017-04-24 11:12:22.725556|n| grn_fin (0)
121
+ 2017-04-24 11:12:22.728489|n| grn_init: <7.0.1-105-gf940037>
122
+ 2017-04-24 11:12:22.728520|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
123
+ 2017-04-24 11:12:22.728608|n| RLIMIT_NOFILE(4096,4096)
124
+ 2017-04-24 11:12:23.727545|n| thread start (0/1)
125
+ 2017-04-24 11:12:23.997429|n| thread end (0/0)
126
+ 2017-04-24 11:12:23.998293|n| grn_fin (0)
127
+ 2017-04-24 11:12:24.001106|n| grn_init: <7.0.1-105-gf940037>
128
+ 2017-04-24 11:12:24.001138|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
129
+ 2017-04-24 11:12:24.001219|n| RLIMIT_NOFILE(4096,4096)
130
+ 2017-04-24 11:12:25.000343|n| thread start (0/1)
131
+ 2017-04-24 11:12:25.201017|n| thread end (0/0)
132
+ 2017-04-24 11:12:25.202162|n| grn_fin (0)
133
+ 2017-04-24 11:19:59.316027|n| grn_init: <7.0.1-105-gf940037>
134
+ 2017-04-24 11:19:59.316064|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
135
+ 2017-04-24 11:19:59.316148|n| RLIMIT_NOFILE(4096,4096)
136
+ 2017-04-24 11:20:00.315342|n| thread start (0/1)
137
+ 2017-04-24 11:20:00.543339|n| thread end (0/0)
138
+ 2017-04-24 11:20:00.544322|n| grn_fin (0)
139
+ 2017-04-24 11:20:00.547319|n| grn_init: <7.0.1-105-gf940037>
140
+ 2017-04-24 11:20:00.547355|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
141
+ 2017-04-24 11:20:00.547440|n| RLIMIT_NOFILE(4096,4096)
142
+ 2017-04-24 11:20:01.545653|n| thread start (0/1)
143
+ 2017-04-24 11:20:01.731747|n| thread end (0/0)
144
+ 2017-04-24 11:20:01.732644|n| grn_fin (0)
145
+ 2017-04-24 11:20:01.735519|n| grn_init: <7.0.1-105-gf940037>
146
+ 2017-04-24 11:20:01.735558|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
147
+ 2017-04-24 11:20:01.735643|n| RLIMIT_NOFILE(4096,4096)
148
+ 2017-04-24 11:20:02.734551|n| thread start (0/1)
149
+ 2017-04-24 11:20:02.951152|n| thread end (0/0)
150
+ 2017-04-24 11:20:02.952691|n| grn_fin (0)
151
+ 2017-04-24 11:20:09.446073|n| grn_init: <7.0.1-105-gf940037>
152
+ 2017-04-24 11:20:09.446115|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
153
+ 2017-04-24 11:20:09.446201|n| RLIMIT_NOFILE(4096,4096)
154
+ 2017-04-24 11:20:10.448377|n| thread start (0/1)
155
+ 2017-04-24 11:20:10.789136|n| thread end (0/0)
156
+ 2017-04-24 11:20:10.792153|n| grn_fin (0)
157
+ 2017-04-24 13:01:10.344434|e| system call error: Interrupted system call: epoll_wait
158
+ 2017-04-24 13:01:10.344720|e| /tmp/local/lib/libgroonga.so.0(grn_com_event_poll+0x600) [0x7fe1890695cf]
159
+ 2017-04-24 13:01:10.344749|e| /tmp/local/bin/groonga(+0x8db6) [0x564c572ecdb6]
160
+ 2017-04-24 13:01:10.344763|e| /tmp/local/bin/groonga(+0x9e7c) [0x564c572ede7c]
161
+ 2017-04-24 13:01:10.344776|e| /tmp/local/bin/groonga(+0xa035) [0x564c572ee035]
162
+ 2017-04-24 13:01:10.344788|e| /tmp/local/bin/groonga(+0x132b7) [0x564c572f72b7]
163
+ 2017-04-24 13:01:10.344800|e| /tmp/local/bin/groonga(+0x18088) [0x564c572fc088]
164
+ 2017-04-24 13:01:10.344813|e| /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7fe1872bf2b1]
165
+ 2017-04-24 13:01:10.344825|e| /tmp/local/bin/groonga(+0x4e2a) [0x564c572e8e2a]
@@ -0,0 +1,79 @@
1
+ 2017-04-24 11:06:44.872561|n| grn_init: <7.0.1-105-gf940037>
2
+ 2017-04-24 11:06:44.872642|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
3
+ 2017-04-24 11:06:44.873832|n| DDL:256:table_create Entries
4
+ 2017-04-24 11:06:44.929837|n| spec:256:update:Entries:48(table:hash_key):0
5
+ 2017-04-24 11:06:44.930157|n| DDL:257:column_create Entries description
6
+ 2017-04-24 11:06:44.979980|n| spec:257:update:Entries.description:65(column:var_size):15(Text)
7
+ 2017-04-24 11:06:45.005342|n| grn_fin (0)
8
+ 2017-04-24 11:06:45.013826|n| grn_init: <7.0.1-105-gf940037>
9
+ 2017-04-24 11:06:45.013966|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
10
+ 2017-04-24 11:06:45.030106|n| grn_fin (0)
11
+ 2017-04-24 11:06:45.038715|n| grn_init: <7.0.1-105-gf940037>
12
+ 2017-04-24 11:06:45.038857|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
13
+ 2017-04-24 11:06:45.042555|n| DDL:258:table_create Bigram
14
+ 2017-04-24 11:06:45.088700|n| spec:258:update:Bigram:49(table:pat_key):0
15
+ 2017-04-24 11:06:45.089198|n| DDL:259:column_create Bigram Entries_description
16
+ 2017-04-24 11:06:45.189880|n| spec:259:update:Bigram.Entries_description:72(column:index):256(Entries)
17
+ 2017-04-24 11:06:45.210684|n| DDL:259:set_source Bigram.Entries_description Entries.description
18
+ 2017-04-24 11:06:45.210758|n| spec:257:update:Entries.description:65(column:var_size):15(Text)
19
+ 2017-04-24 11:06:45.215438|n| spec:259:update:Bigram.Entries_description:72(column:index):256(Entries)
20
+ 2017-04-24 11:06:45.223494|n| grn_fin (0)
21
+ 2017-04-24 11:06:46.117605|n| grn_init: <7.0.1-105-gf940037>
22
+ 2017-04-24 11:06:46.117680|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
23
+ 2017-04-24 11:06:46.117807|n| RLIMIT_NOFILE(4096,4096)
24
+ 2017-04-24 11:06:47.117914|n| thread start (0/1)
25
+ 2017-04-24 11:06:47.495106|n| thread end (0/0)
26
+ 2017-04-24 11:06:47.498049|n| grn_fin (0)
27
+ 2017-04-24 11:07:45.260497|n| grn_init: <7.0.1-105-gf940037>
28
+ 2017-04-24 11:07:45.260555|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
29
+ 2017-04-24 11:07:45.260635|n| RLIMIT_NOFILE(4096,4096)
30
+ 2017-04-24 11:07:46.262231|n| thread start (0/1)
31
+ 2017-04-24 11:07:49.196124|n| thread end (0/0)
32
+ 2017-04-24 11:07:49.199045|n| grn_fin (0)
33
+ 2017-04-24 11:10:47.015640|n| grn_init: <7.0.1-105-gf940037>
34
+ 2017-04-24 11:10:47.015723|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
35
+ 2017-04-24 11:10:47.015811|n| RLIMIT_NOFILE(4096,4096)
36
+ 2017-04-24 11:10:48.018144|n| thread start (0/1)
37
+ 2017-04-24 11:10:50.858117|n| thread end (0/0)
38
+ 2017-04-24 11:10:50.861057|n| grn_fin (0)
39
+ 2017-04-24 11:11:12.604406|n| grn_init: <7.0.1-105-gf940037>
40
+ 2017-04-24 11:11:12.604464|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
41
+ 2017-04-24 11:11:12.604542|n| RLIMIT_NOFILE(4096,4096)
42
+ 2017-04-24 11:11:13.606243|n| thread start (0/1)
43
+ 2017-04-24 11:11:42.304545|n| grn_init: <7.0.1-105-gf940037>
44
+ 2017-04-24 11:11:42.304594|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
45
+ 2017-04-24 11:11:42.304674|n| RLIMIT_NOFILE(4096,4096)
46
+ 2017-04-24 11:11:43.305717|n| thread start (0/1)
47
+ 2017-04-24 11:11:46.066584|n| thread end (0/0)
48
+ 2017-04-24 11:11:46.070501|n| grn_fin (0)
49
+ 2017-04-24 11:12:06.886810|n| grn_init: <7.0.1-105-gf940037>
50
+ 2017-04-24 11:12:06.886857|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
51
+ 2017-04-24 11:12:06.886933|n| RLIMIT_NOFILE(4096,4096)
52
+ 2017-04-24 11:12:06.888501|n| thread start (0/1)
53
+ 2017-04-24 11:12:10.568618|n| thread end (0/0)
54
+ 2017-04-24 11:12:10.571785|n| grn_fin (0)
55
+ 2017-04-24 11:12:21.462928|n| grn_init: <7.0.1-105-gf940037>
56
+ 2017-04-24 11:12:21.462974|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
57
+ 2017-04-24 11:12:21.463054|n| RLIMIT_NOFILE(4096,4096)
58
+ 2017-04-24 11:12:21.467367|n| thread start (0/1)
59
+ 2017-04-24 11:12:25.201154|n| thread end (0/0)
60
+ 2017-04-24 11:12:25.205066|n| grn_fin (0)
61
+ 2017-04-24 11:19:59.312302|n| grn_init: <7.0.1-105-gf940037>
62
+ 2017-04-24 11:19:59.312348|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
63
+ 2017-04-24 11:19:59.312424|n| RLIMIT_NOFILE(4096,4096)
64
+ 2017-04-24 11:19:59.314172|n| thread start (0/1)
65
+ 2017-04-24 11:20:02.950972|n| thread end (0/0)
66
+ 2017-04-24 11:20:02.956336|n| grn_fin (0)
67
+ 2017-04-24 11:20:09.443167|n| grn_init: <7.0.1-105-gf940037>
68
+ 2017-04-24 11:20:09.443214|n| vm.overcommit_memory kernel parameter should be 1: <0>: See INFO level log to resolve this
69
+ 2017-04-24 11:20:09.443297|n| RLIMIT_NOFILE(4096,4096)
70
+ 2017-04-24 11:20:10.445853|n| thread start (0/1)
71
+ 2017-04-24 11:20:10.789276|n| thread end (0/0)
72
+ 2017-04-24 11:20:10.792230|n| grn_fin (0)
73
+ 2017-04-24 13:01:10.343392|e| system call error: Interrupted system call: epoll_wait
74
+ 2017-04-24 13:01:10.343699|e| /tmp/local/lib/libgroonga.so.0(grn_com_event_poll+0x600) [0x7f8575c9c5cf]
75
+ 2017-04-24 13:01:10.343722|e| groonga(+0xc58b) [0x56012441658b]
76
+ 2017-04-24 13:01:10.343737|e| groonga(+0xde2e) [0x560124417e2e]
77
+ 2017-04-24 13:01:10.343748|e| groonga(+0x54e0) [0x56012440f4e0]
78
+ 2017-04-24 13:01:10.343759|e| /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f857478d2b1]
79
+ 2017-04-24 13:01:10.343771|e| groonga(+0x5e6a) [0x56012440fe6a]
@@ -184,6 +184,98 @@ class ResponseComparerTest < Test::Unit::TestCase
184
184
  end
185
185
  end
186
186
  end
187
+
188
+ class LooseSortTest < self
189
+ def test_sorted
190
+ @command[:sort_keys] = "_score,count"
191
+ assert_true(same?([
192
+ [
193
+ [3],
194
+ [
195
+ ["_id", "UInt32"],
196
+ ["_score", "Int32"],
197
+ ["count", "Int32"],
198
+ ],
199
+ [1, 2, 10],
200
+ [2, 2, 10],
201
+ [3, 3, 11],
202
+ ],
203
+ ],
204
+ [
205
+ [
206
+ [3],
207
+ [
208
+ ["_id", "UInt32"],
209
+ ["_score", "Int32"],
210
+ ["count", "Int32"],
211
+ ],
212
+ [2, 2, 10],
213
+ [1, 2, 10],
214
+ [3, 3, 11],
215
+ ],
216
+ ]))
217
+ end
218
+
219
+ def test_not_sorted
220
+ @command[:sort_keys] = "_score,count"
221
+ assert_false(same?([
222
+ [
223
+ [3],
224
+ [
225
+ ["_id", "UInt32"],
226
+ ["_score", "Int32"],
227
+ ["count", "Int32"],
228
+ ],
229
+ [1, 2, 10],
230
+ [2, 2, 10],
231
+ [3, 2, 9],
232
+ ],
233
+ ],
234
+ [
235
+ [
236
+ [3],
237
+ [
238
+ ["_id", "UInt32"],
239
+ ["_score", "Int32"],
240
+ ["count", "Int32"],
241
+ ],
242
+ [2, 2, 10],
243
+ [1, 2, 10],
244
+ [3, 2, 9],
245
+ ],
246
+ ]))
247
+ end
248
+
249
+ def test_descendant
250
+ @command[:sort_keys] = "_score,-count"
251
+ assert_true(same?([
252
+ [
253
+ [3],
254
+ [
255
+ ["_id", "UInt32"],
256
+ ["_score", "Int32"],
257
+ ["count", "Int32"],
258
+ ],
259
+ [1, 2, 10],
260
+ [2, 2, 10],
261
+ [3, 2, 9],
262
+ ],
263
+ ],
264
+ [
265
+ [
266
+ [3],
267
+ [
268
+ ["_id", "UInt32"],
269
+ ["_score", "Int32"],
270
+ ["count", "Int32"],
271
+ ],
272
+ [2, 2, 10],
273
+ [1, 2, 10],
274
+ [3, 2, 9],
275
+ ],
276
+ ]))
277
+ end
278
+ end
187
279
  end
188
280
 
189
281
  class OutputColumnsTest < self
@@ -587,4 +679,125 @@ class ResponseComparerTest < Test::Unit::TestCase
587
679
  end
588
680
  end
589
681
  end
682
+
683
+ class LogicalSelectTest < self
684
+ class LooseSortTest < self
685
+ def setup
686
+ @command =
687
+ Groonga::Command::LogicalSelect.new(:logical_table => "Logs",
688
+ :shard_key => "timestamp")
689
+ end
690
+
691
+ def test_not_sorted
692
+ @command[:sort_keys] = "-count"
693
+ assert_false(same?([
694
+ [
695
+ [3],
696
+ [
697
+ ["_id", "UInt32"],
698
+ ["timestamp", "Time"],
699
+ ["count", "UInt32"],
700
+ ],
701
+ [1, 1492272000.0, 10],
702
+ [2, 1492272000.0, 10],
703
+ [3, 1492272000.0, 11],
704
+ ],
705
+ ],
706
+ [
707
+ [
708
+ [3],
709
+ [
710
+ ["_id", "UInt32"],
711
+ ["timestamp", "Time"],
712
+ ["count", "UInt32"],
713
+ ],
714
+ [2, 1492272000.0, 10],
715
+ [1, 1492272000.0, 10],
716
+ [3, 1492272000.0, 11],
717
+ ],
718
+ ]))
719
+ end
720
+
721
+ def test_no_sort_keys
722
+ assert_true(same?([
723
+ [
724
+ [3],
725
+ [["_id", "UInt32"], ["timestamp", "Time"]],
726
+ [1, 1492272000.0],
727
+ [2, 1492272000.0],
728
+ [3, 1492272001.0],
729
+ ],
730
+ ],
731
+ [
732
+ [
733
+ [3],
734
+ [["_id", "UInt32"], ["timestamp", "Time"]],
735
+ [2, 1492272000.0],
736
+ [1, 1492272000.0],
737
+ [3, 1492272001.0],
738
+ ],
739
+ ]))
740
+ end
741
+
742
+ def test_shard_key_and_sort_keys
743
+ @command[:sort_keys] = "count"
744
+ assert_true(same?([
745
+ [
746
+ [3],
747
+ [
748
+ ["_id", "UInt32"],
749
+ ["timestamp", "Time"],
750
+ ["count", "UInt32"],
751
+ ],
752
+ [1, 1492272000.0, 10],
753
+ [2, 1492272000.0, 10],
754
+ [3, 1492272001.0, 9],
755
+ ],
756
+ ],
757
+ [
758
+ [
759
+ [3],
760
+ [
761
+ ["_id", "UInt32"],
762
+ ["timestamp", "Time"],
763
+ ["count", "UInt32"],
764
+ ],
765
+ [2, 1492272000.0, 10],
766
+ [1, 1492272000.0, 10],
767
+ [3, 1492272001.0, 9],
768
+ ],
769
+ ]))
770
+ end
771
+
772
+ def test_shard_key_and_sort_keys_descendant
773
+ @command[:sort_keys] = "-count"
774
+ assert_true(same?([
775
+ [
776
+ [3],
777
+ [
778
+ ["_id", "UInt32"],
779
+ ["timestamp", "Time"],
780
+ ["count", "UInt32"],
781
+ ],
782
+ [1, 1492272000.0, 10],
783
+ [2, 1492272000.0, 10],
784
+ [3, 1492272000.0, 9],
785
+ ],
786
+ ],
787
+ [
788
+ [
789
+ [3],
790
+ [
791
+ ["_id", "UInt32"],
792
+ ["timestamp", "Time"],
793
+ ["count", "UInt32"],
794
+ ],
795
+ [2, 1492272000.0, 10],
796
+ [1, 1492272000.0, 10],
797
+ [3, 1492272000.0, 9],
798
+ ],
799
+ ]))
800
+ end
801
+ end
802
+ end
590
803
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga-query-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-21 00:00:00.000000000 Z
11
+ date: 2019-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: groonga-command-parser
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.1.2
55
+ - !ruby/object:Gem::Dependency
56
+ name: groonga-command
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.4.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.4.2
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: test-unit
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -154,18 +168,18 @@ description: ''
154
168
  email:
155
169
  - kou@clear-code.com
156
170
  executables:
157
- - groonga-query-log-detect-memory-leak
158
171
  - groonga-query-log-analyze
172
+ - groonga-query-log-analyze-load
159
173
  - groonga-query-log-check-crash
160
- - groonga-query-log-replay
161
174
  - groonga-query-log-extract
162
- - groonga-query-log-show-running-queries
163
175
  - groonga-query-log-check-command-version-compatibility
164
- - groonga-query-log-run-regression-test
165
- - groonga-query-log-verify-server
166
- - groonga-query-log-analyze-load
167
- - groonga-query-log-format-regression-test-logs
168
176
  - groonga-query-log-check-performance-regression
177
+ - groonga-query-log-replay
178
+ - groonga-query-log-format-regression-test-logs
179
+ - groonga-query-log-detect-memory-leak
180
+ - groonga-query-log-show-running-queries
181
+ - groonga-query-log-verify-server
182
+ - groonga-query-log-run-regression-test
169
183
  extensions: []
170
184
  extra_rdoc_files: []
171
185
  files:
@@ -260,8 +274,29 @@ files:
260
274
  - test/fixtures/reporter/json-stream.expected
261
275
  - test/fixtures/reporter/json.expected
262
276
  - test/fixtures/run-regression-test/data/data.grn
277
+ - test/fixtures/run-regression-test/db.new/db
278
+ - test/fixtures/run-regression-test/db.new/db.0000000
279
+ - test/fixtures/run-regression-test/db.new/db.0000100
280
+ - test/fixtures/run-regression-test/db.new/db.0000101
281
+ - test/fixtures/run-regression-test/db.new/db.0000102
282
+ - test/fixtures/run-regression-test/db.new/db.0000103
283
+ - test/fixtures/run-regression-test/db.new/db.0000103.c
284
+ - test/fixtures/run-regression-test/db.new/db.001
285
+ - test/fixtures/run-regression-test/db.new/db.conf
286
+ - test/fixtures/run-regression-test/db.new/groonga.log
287
+ - test/fixtures/run-regression-test/db.old/db
288
+ - test/fixtures/run-regression-test/db.old/db.0000000
289
+ - test/fixtures/run-regression-test/db.old/db.0000100
290
+ - test/fixtures/run-regression-test/db.old/db.0000101
291
+ - test/fixtures/run-regression-test/db.old/db.0000102
292
+ - test/fixtures/run-regression-test/db.old/db.0000103
293
+ - test/fixtures/run-regression-test/db.old/db.0000103.c
294
+ - test/fixtures/run-regression-test/db.old/db.001
295
+ - test/fixtures/run-regression-test/db.old/db.conf
296
+ - test/fixtures/run-regression-test/db.old/groonga.log
263
297
  - test/fixtures/run-regression-test/indexes/indexes.grn
264
298
  - test/fixtures/run-regression-test/query-logs/query.log
299
+ - test/fixtures/run-regression-test/results/query.log
265
300
  - test/fixtures/run-regression-test/schema/schema.grn
266
301
  - test/fixtures/target-commands.expected
267
302
  - test/fixtures/target-tables.expected
@@ -291,7 +326,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
326
  - !ruby/object:Gem::Version
292
327
  version: '0'
293
328
  requirements: []
294
- rubygems_version: 3.0.3
329
+ rubyforge_project:
330
+ rubygems_version: 2.7.6.2
295
331
  signing_key:
296
332
  specification_version: 4
297
333
  summary: Groonga-query-log is a collection of library and tools to process [Groonga](http://groonga.org/)'s
@@ -299,43 +335,64 @@ summary: Groonga-query-log is a collection of library and tools to process [Groo
299
335
  as a library. You can analyze your Groonga's queries and test with your Groonga's
300
336
  query log by using groonga-query-log as a tool.
301
337
  test_files:
338
+ - test/test-parser.rb
339
+ - test/helper.rb
302
340
  - test/run-test.rb
303
- - test/fixtures/n_entries.expected
304
- - test/fixtures/check-performance-regression/query1.log
305
- - test/fixtures/check-performance-regression/cache.log
306
- - test/fixtures/check-performance-regression/nquery2.log
307
- - test/fixtures/check-performance-regression/nquery.log
308
- - test/fixtures/check-performance-regression/query2.log
341
+ - test/test-response-comparer.rb
342
+ - test/command/test-extract.rb
343
+ - test/command/test-format-regression-test-logs.rb
344
+ - test/command/test-run-regression-test.rb
345
+ - test/command/test-analyzer.rb
346
+ - test/command/test-check-performance-regression.rb
347
+ - test/test-replayer.rb
309
348
  - test/fixtures/target-tables.expected
310
- - test/fixtures/no-report-summary.expected
311
- - test/fixtures/order/-start-time.expected
312
- - test/fixtures/order/-elapsed.expected
313
- - test/fixtures/order/start-time.expected
314
- - test/fixtures/order/elapsed.expected
315
- - test/fixtures/regression-test-logs/url-format.log
316
- - test/fixtures/regression-test-logs/command-format.log
349
+ - test/fixtures/reporter/html.expected
350
+ - test/fixtures/reporter/json.expected
351
+ - test/fixtures/reporter/console.expected
352
+ - test/fixtures/reporter/json-stream.expected
317
353
  - test/fixtures/regression-test-logs/results/url-format.log
318
354
  - test/fixtures/regression-test-logs/error.log
319
- - test/fixtures/multi.expected
320
- - test/fixtures/query.log
355
+ - test/fixtures/regression-test-logs/url-format.log
356
+ - test/fixtures/regression-test-logs/command-format.log
321
357
  - test/fixtures/other-query.log
322
- - test/fixtures/reporter/json-stream.expected
323
- - test/fixtures/reporter/console.expected
324
- - test/fixtures/reporter/json.expected
325
- - test/fixtures/reporter/html.expected
358
+ - test/fixtures/no-report-summary.expected
359
+ - test/fixtures/run-regression-test/results/query.log
360
+ - test/fixtures/run-regression-test/query-logs/query.log
326
361
  - test/fixtures/run-regression-test/schema/schema.grn
327
- - test/fixtures/run-regression-test/data/data.grn
328
362
  - test/fixtures/run-regression-test/indexes/indexes.grn
329
- - test/fixtures/run-regression-test/query-logs/query.log
363
+ - test/fixtures/run-regression-test/db.new/db.0000000
364
+ - test/fixtures/run-regression-test/db.new/db.0000100
365
+ - test/fixtures/run-regression-test/db.new/db.0000103.c
366
+ - test/fixtures/run-regression-test/db.new/db
367
+ - test/fixtures/run-regression-test/db.new/db.0000102
368
+ - test/fixtures/run-regression-test/db.new/groonga.log
369
+ - test/fixtures/run-regression-test/db.new/db.001
370
+ - test/fixtures/run-regression-test/db.new/db.conf
371
+ - test/fixtures/run-regression-test/db.new/db.0000103
372
+ - test/fixtures/run-regression-test/db.new/db.0000101
373
+ - test/fixtures/run-regression-test/db.old/db.0000000
374
+ - test/fixtures/run-regression-test/db.old/db.0000100
375
+ - test/fixtures/run-regression-test/db.old/db.0000103.c
376
+ - test/fixtures/run-regression-test/db.old/db
377
+ - test/fixtures/run-regression-test/db.old/db.0000102
378
+ - test/fixtures/run-regression-test/db.old/groonga.log
379
+ - test/fixtures/run-regression-test/db.old/db.001
380
+ - test/fixtures/run-regression-test/db.old/db.conf
381
+ - test/fixtures/run-regression-test/db.old/db.0000103
382
+ - test/fixtures/run-regression-test/db.old/db.0000101
383
+ - test/fixtures/run-regression-test/data/data.grn
384
+ - test/fixtures/query.log
385
+ - test/fixtures/n_entries.expected
386
+ - test/fixtures/multi.expected
387
+ - test/fixtures/order/-elapsed.expected
388
+ - test/fixtures/order/start-time.expected
389
+ - test/fixtures/order/elapsed.expected
390
+ - test/fixtures/order/-start-time.expected
391
+ - test/fixtures/check-performance-regression/query1.log
392
+ - test/fixtures/check-performance-regression/nquery2.log
393
+ - test/fixtures/check-performance-regression/cache.log
394
+ - test/fixtures/check-performance-regression/query2.log
395
+ - test/fixtures/check-performance-regression/nquery.log
330
396
  - test/fixtures/target-commands.expected
331
- - test/test-parser.rb
332
- - test/helper.rb
333
- - test/test-replayer.rb
334
- - test/test-response-comparer.rb
335
- - test/command/test-run-regression-test.rb
336
- - test/command/test-check-performance-regression.rb
337
- - test/command/test-format-regression-test-logs.rb
338
- - test/command/test-analyzer.rb
339
- - test/command/test-extract.rb
340
397
  - test/test-incompatibility-detector.rb
341
398
  - test/test-filter-rewriter.rb