groonga-query-log 1.5.5 → 1.5.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c477ce5c66bac482f0c94777fb0b5c2a6b6bf6c7ef3f84a6020ecff4d70c28d
|
4
|
+
data.tar.gz: 612d7313d065141312414bc7e1b932efb150fbfff136011d6847027050f0f2a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3e9f5212cd1367c8db624aad41d29b8769f21704987cf32ebccf98f652515696244c1f199e48cf800c25f793e09a014d738e1ec63dc23ce59f86febfa3747b6
|
7
|
+
data.tar.gz: acab0c65ed1a853589479e189ae0271c7965ac31aee4bfb675091ceb9d97992d9cac65be60b21b6105a674a2eb5072a9c919740cf51998a48870e29a912adb08
|
data/doc/text/news.md
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
-
## 1.5.
|
3
|
+
## 1.5.6: 2019-11-26
|
4
4
|
|
5
5
|
### Improvements
|
6
6
|
|
7
|
-
* `run-regression-test`:
|
7
|
+
* `run-regression-test`: Outputted report to stdout by default.
|
8
8
|
|
9
|
-
|
9
|
+
## 1.5.5: 2019-10-24
|
10
10
|
|
11
|
-
|
11
|
+
### Improvements
|
12
12
|
|
13
|
-
* `
|
13
|
+
* `run-regression-test`: Added `--performance-choose-strategy` option.
|
14
14
|
|
15
15
|
## 1.5.4: 2019-10-23
|
16
16
|
|
@@ -80,7 +80,6 @@ module GroongaQueryLog
|
|
80
80
|
smtp_auth_password: nil,
|
81
81
|
smtp_starttls: false,
|
82
82
|
smtp_port: 25,
|
83
|
-
path: "#{@working_directory}/results",
|
84
83
|
}
|
85
84
|
end
|
86
85
|
|
@@ -95,12 +94,17 @@ module GroongaQueryLog
|
|
95
94
|
|
96
95
|
notifier = MailNotifier.new(@notifier_options)
|
97
96
|
notifier.notify_started
|
97
|
+
|
98
98
|
start_time = Time.now
|
99
99
|
tester = Tester.new(old_groonga_server,
|
100
100
|
new_groonga_server,
|
101
101
|
tester_options)
|
102
102
|
success = tester.run
|
103
|
-
|
103
|
+
elapsed_time = Time.now - start_time
|
104
|
+
|
105
|
+
report = format_report(success, elapsed_time)
|
106
|
+
notifier.notify_finished(success, report)
|
107
|
+
puts(report)
|
104
108
|
|
105
109
|
success
|
106
110
|
end
|
@@ -346,10 +350,15 @@ module GroongaQueryLog
|
|
346
350
|
parser
|
347
351
|
end
|
348
352
|
|
353
|
+
def results_directory
|
354
|
+
@working_directory + "results"
|
355
|
+
end
|
356
|
+
|
349
357
|
def directory_options
|
350
358
|
{
|
351
359
|
:input_directory => @input_directory,
|
352
360
|
:working_directory => @working_directory,
|
361
|
+
:results_directory => results_directory,
|
353
362
|
}
|
354
363
|
end
|
355
364
|
|
@@ -404,6 +413,34 @@ module GroongaQueryLog
|
|
404
413
|
server_options)
|
405
414
|
end
|
406
415
|
|
416
|
+
def format_report(success, elapsed_time)
|
417
|
+
formatted = format_elapsed_time(elapsed_time)
|
418
|
+
if success
|
419
|
+
formatted << "Success"
|
420
|
+
else
|
421
|
+
formatted << "Failure"
|
422
|
+
output = StringIO.new
|
423
|
+
formetter = FormatRegressionTestLogs.new(output: output)
|
424
|
+
formetter.run([results_directory])
|
425
|
+
formatted << "Report:\n"
|
426
|
+
formatted << output.string
|
427
|
+
end
|
428
|
+
formatted
|
429
|
+
end
|
430
|
+
|
431
|
+
def format_elapsed_time(elapsed_time)
|
432
|
+
elapsed_seconds = elapsed_time % 60
|
433
|
+
elapsed_minutes = elapsed_time / 60 % 60
|
434
|
+
elapsed_hours = elapsed_time / 60 / 60 % 24
|
435
|
+
elapsed_days = elapsed_time / 60 / 60 / 24
|
436
|
+
"Elapsed: %ddays %02d:%02d:%02d\n" % [
|
437
|
+
elapsed_days,
|
438
|
+
elapsed_hours,
|
439
|
+
elapsed_minutes,
|
440
|
+
elapsed_seconds
|
441
|
+
]
|
442
|
+
end
|
443
|
+
|
407
444
|
module Loggable
|
408
445
|
def puts(*args)
|
409
446
|
$stdout.puts(*args)
|
@@ -561,6 +598,8 @@ module GroongaQueryLog
|
|
561
598
|
@new = new
|
562
599
|
@input_directory = options[:input_directory] || Pathname.new(".")
|
563
600
|
@working_directory = options[:working_directory] || Pathname.new(".")
|
601
|
+
@results_directory =
|
602
|
+
options[:results_directory] || (@working_directory + "results")
|
564
603
|
@n_clients = options[:n_clients] || 1
|
565
604
|
@stop_on_failure = options[:stop_on_failure]
|
566
605
|
@options = options
|
@@ -708,7 +747,7 @@ module GroongaQueryLog
|
|
708
747
|
end
|
709
748
|
|
710
749
|
def test_log_path(query_log_path)
|
711
|
-
@
|
750
|
+
@results_directory + "#{query_log_path.basename}.log"
|
712
751
|
end
|
713
752
|
|
714
753
|
def use_persistent_cache?
|
@@ -719,7 +758,6 @@ module GroongaQueryLog
|
|
719
758
|
class MailNotifier
|
720
759
|
def initialize(options)
|
721
760
|
@options = options
|
722
|
-
@path = @options[:path] || "results"
|
723
761
|
end
|
724
762
|
|
725
763
|
def notify_started
|
@@ -729,39 +767,18 @@ module GroongaQueryLog
|
|
729
767
|
send_mail(subject, "")
|
730
768
|
end
|
731
769
|
|
732
|
-
def notify_finished(success,
|
770
|
+
def notify_finished(success, report)
|
733
771
|
return unless @options[:mail_to]
|
734
772
|
|
735
|
-
output = StringIO.new
|
736
|
-
formetter = FormatRegressionTestLogs.new(output: output)
|
737
|
-
formetter.run([@path])
|
738
|
-
formatted_log = output.string
|
739
|
-
|
740
|
-
content = format_elapsed_time(elapsed_time)
|
741
773
|
if success
|
742
774
|
subject = @options[:mail_subject_on_success]
|
743
775
|
else
|
744
776
|
subject = @options[:mail_subject_on_failure]
|
745
|
-
content << "Report:\n"
|
746
|
-
content << formatted_log
|
747
777
|
end
|
748
|
-
send_mail(subject,
|
778
|
+
send_mail(subject, report)
|
749
779
|
end
|
750
780
|
|
751
781
|
private
|
752
|
-
def format_elapsed_time(elapsed_time)
|
753
|
-
elapsed_seconds = elapsed_time % 60
|
754
|
-
elapsed_minutes = elapsed_time / 60 % 60
|
755
|
-
elapsed_hours = elapsed_time / 60 / 60 % 24
|
756
|
-
elapsed_days = elapsed_time / 60 / 60 / 24
|
757
|
-
"Elapsed: %ddays %02d:%02d:%02d\n" % [
|
758
|
-
elapsed_days,
|
759
|
-
elapsed_hours,
|
760
|
-
elapsed_minutes,
|
761
|
-
elapsed_seconds
|
762
|
-
]
|
763
|
-
end
|
764
|
-
|
765
782
|
def send_mail(subject, content)
|
766
783
|
header = <<-HEADER
|
767
784
|
MIME-Version: 1.0
|
@@ -83,6 +83,13 @@ class RunRegressionTestCommandTest < Test::Unit::TestCase
|
|
83
83
|
"Date: #{@now}\r\n")
|
84
84
|
end
|
85
85
|
|
86
|
+
def normalize_output(output)
|
87
|
+
output
|
88
|
+
.gsub(/^\[.*\n/, "")
|
89
|
+
.gsub(/^Running.*\n/, "")
|
90
|
+
.gsub(/^Elapsed: \d+days \d{2}:\d{2}:\d{2}$/, "Elapsed: 0days 00:00:00")
|
91
|
+
end
|
92
|
+
|
86
93
|
def fixture_path(*components)
|
87
94
|
super("run-regression-test", *components)
|
88
95
|
end
|
@@ -93,6 +100,16 @@ class RunRegressionTestCommandTest < Test::Unit::TestCase
|
|
93
100
|
end
|
94
101
|
end
|
95
102
|
|
103
|
+
def test_success
|
104
|
+
success, output = run_command([])
|
105
|
+
assert_equal([
|
106
|
+
true,
|
107
|
+
"Elapsed: 0days 00:00:00\n" +
|
108
|
+
"Success\n"
|
109
|
+
],
|
110
|
+
[success, normalize_output(output)])
|
111
|
+
end
|
112
|
+
|
96
113
|
def test_mail_from
|
97
114
|
success, _output = run_command(["--smtp-server", @smtp_host,
|
98
115
|
"--smtp-port", @smtp_port.to_s,
|
@@ -156,7 +173,7 @@ QUIT
|
|
156
173
|
:path => fixture_path("mail-notifier/success.log"),
|
157
174
|
}
|
158
175
|
notifier = MailNotifier.new(options)
|
159
|
-
notifier.notify_finished(true,
|
176
|
+
notifier.notify_finished(true, "report")
|
160
177
|
assert_equal(<<-REQUEST.gsub(/\n/, "\r\n").b, normalized_smtp_request)
|
161
178
|
EHLO 127.0.0.1
|
162
179
|
MAIL FROM:<#{options[:mail_from]}>
|
@@ -172,8 +189,7 @@ To: #{options[:mail_to]}
|
|
172
189
|
Subject: Success
|
173
190
|
Date: #{@now}
|
174
191
|
|
175
|
-
|
176
|
-
|
192
|
+
report
|
177
193
|
.
|
178
194
|
QUIT
|
179
195
|
REQUEST
|
@@ -190,7 +206,7 @@ QUIT
|
|
190
206
|
:path => fixture_path("mail-notifier/failure.log"),
|
191
207
|
}
|
192
208
|
notifier = MailNotifier.new(options)
|
193
|
-
notifier.notify_finished(false,
|
209
|
+
notifier.notify_finished(false, "report")
|
194
210
|
assert_equal(<<-REQUEST.gsub(/\n/, "\r\n").b, normalized_smtp_request)
|
195
211
|
EHLO 127.0.0.1
|
196
212
|
MAIL FROM:<#{options[:mail_from]}>
|
@@ -206,24 +222,7 @@ To: #{options[:mail_to]}
|
|
206
222
|
Subject: Failure
|
207
223
|
Date: #{@now}
|
208
224
|
|
209
|
-
|
210
|
-
Report:
|
211
|
-
Command:
|
212
|
-
/d/select?table=Logs&match_columns=message&query=%E7%84%BC%E8%82%89
|
213
|
-
Name: select
|
214
|
-
Arguments:
|
215
|
-
match_columns: message
|
216
|
-
query: 焼肉
|
217
|
-
table: Logs
|
218
|
-
--- old
|
219
|
-
+++ new
|
220
|
-
@@ -1,5 +1,5 @@
|
221
|
-
[[[2],
|
222
|
-
[["_id", "UInt32"], ["message", "Text"]],
|
223
|
-
[1, "log message1: 焼肉"],
|
224
|
-
- [2, "log message2: 焼肉"]]]
|
225
|
-
+ [3, "log message3: 焼肉"]]]
|
226
|
-
|
225
|
+
report
|
227
226
|
.
|
228
227
|
QUIT
|
229
228
|
REQUEST
|
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.5.
|
4
|
+
version: 1.5.6
|
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-
|
11
|
+
date: 2019-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: charty
|