groonga-query-log 1.4.7 → 1.4.8

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 (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