grntest 1.1.0 → 1.1.1
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.
- checksums.yaml +4 -4
- data/doc/text/news.md +9 -0
- data/lib/grntest/executors/http-executor.rb +20 -9
- data/lib/grntest/reporters/mark-reporter.rb +5 -3
- data/lib/grntest/test-runner.rb +21 -6
- data/lib/grntest/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9681ce146649a19fe0099c41cac952e0c53c964c
|
4
|
+
data.tar.gz: accc76ff8605c28f26a07014082523f7d30134ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 210cd594bdfb36425deb5d28084acbf798bfd765021c002f7c00fb54d0ee64c7f69a335f269f9f4ec5229e8930692cccecabc74929004e24a66e9d7813f7615e
|
7
|
+
data.tar.gz: 51151bee659689a783ee6eed2f9c8d8fc48e1a71245cb9ec15c8cd8a9cb48a9c3bbff2b276e402a9d1abec46f740a6760d9d95daeb39b74d9152b6aae87f805f
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 1.1.1: 2015-02-03
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* mark reporter: Show test name on detecting memory leak.
|
8
|
+
* Support errno value in system call error message.
|
9
|
+
* Support groonga-httpd.
|
10
|
+
* Support groonga HTTP server.
|
11
|
+
|
3
12
|
## 1.1.0: 2014-10-25
|
4
13
|
|
5
14
|
### Improvements
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2012-
|
3
|
+
# Copyright (C) 2012-2015 Kouhei Sutou <kou@clear-code.com>
|
4
4
|
#
|
5
5
|
# This program is free software: you can redistribute it and/or modify
|
6
6
|
# it under the terms of the GNU General Public License as published by
|
@@ -41,10 +41,10 @@ module Grntest
|
|
41
41
|
n_retried = 0
|
42
42
|
begin
|
43
43
|
send_command(command("status"))
|
44
|
-
rescue
|
44
|
+
rescue Error
|
45
45
|
n_retried += 1
|
46
46
|
sleep(0.1)
|
47
|
-
retry if n_retried <
|
47
|
+
retry if n_retried < 50
|
48
48
|
raise
|
49
49
|
end
|
50
50
|
end
|
@@ -64,34 +64,45 @@ module Grntest
|
|
64
64
|
|
65
65
|
MAX_URI_SIZE = 4096
|
66
66
|
def send_load_command(command)
|
67
|
-
|
67
|
+
lines = command.original_source.lines
|
68
|
+
if lines.size == 1 and command.to_uri_format.size <= MAX_URI_SIZE
|
68
69
|
return send_normal_command(command)
|
69
70
|
end
|
70
71
|
|
71
72
|
values = command.arguments.delete(:values)
|
73
|
+
if lines.size >= 2 and lines[1].start_with?("[")
|
74
|
+
command.arguments.delete(:columns)
|
75
|
+
body = lines[1..-1].join
|
76
|
+
else
|
77
|
+
body = values
|
78
|
+
end
|
79
|
+
|
72
80
|
request = Net::HTTP::Post.new(command.to_uri_format)
|
73
81
|
request.content_type = "application/json; charset=UTF-8"
|
74
|
-
request.body =
|
82
|
+
request.body = body
|
75
83
|
response = Net::HTTP.start(@host, @port) do |http|
|
76
84
|
http.read_timeout = @read_timeout
|
77
85
|
http.request(request)
|
78
86
|
end
|
79
|
-
normalize_response_data(response.body)
|
87
|
+
normalize_response_data(command, response.body)
|
80
88
|
end
|
81
89
|
|
82
90
|
def send_normal_command(command)
|
83
91
|
url = "http://#{@host}:#{@port}#{command.to_uri_format}"
|
84
92
|
begin
|
85
93
|
open(url, :read_timeout => @read_timeout) do |response|
|
86
|
-
normalize_response_data(response.read)
|
94
|
+
normalize_response_data(command, response.read)
|
87
95
|
end
|
96
|
+
rescue SystemCallError
|
97
|
+
message = "failed to read response from Groonga: <#{url}>: #{$!}"
|
98
|
+
raise Error.new(message)
|
88
99
|
rescue OpenURI::HTTPError
|
89
100
|
$!.io.read
|
90
101
|
end
|
91
102
|
end
|
92
103
|
|
93
|
-
def normalize_response_data(raw_response_data)
|
94
|
-
if raw_response_data.empty?
|
104
|
+
def normalize_response_data(command, raw_response_data)
|
105
|
+
if raw_response_data.empty? or command.output_type == :none
|
95
106
|
raw_response_data
|
96
107
|
else
|
97
108
|
"#{raw_response_data}\n"
|
@@ -54,10 +54,12 @@ module Grntest
|
|
54
54
|
def on_test_leak(worker, result)
|
55
55
|
synchronize do
|
56
56
|
report_test_result_mark("L(#{result.n_leaked_objects})", result)
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
puts
|
58
|
+
report_test(worker, result)
|
59
|
+
if result.checked?
|
60
60
|
report_actual(result)
|
61
|
+
else
|
62
|
+
report_marker(result)
|
61
63
|
end
|
62
64
|
end
|
63
65
|
end
|
data/lib/grntest/test-runner.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2015 Kouhei Sutou <kou@clear-code.com>
|
2
2
|
#
|
3
3
|
# This program is free software: you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -298,7 +298,7 @@ EOC
|
|
298
298
|
end
|
299
299
|
yield(executor)
|
300
300
|
ensure
|
301
|
-
|
301
|
+
Process.kill(:TERM, pid)
|
302
302
|
wait_groonga_http_shutdown(pid_file_path)
|
303
303
|
end
|
304
304
|
ensure
|
@@ -359,17 +359,30 @@ EOC
|
|
359
359
|
config_file_path =
|
360
360
|
context.temporary_directory_path + "groonga-httpd.conf"
|
361
361
|
config_file_path.open("w") do |config_file|
|
362
|
-
|
362
|
+
config_file.puts(<<-GLOBAL)
|
363
363
|
daemon off;
|
364
364
|
master_process off;
|
365
365
|
worker_processes 1;
|
366
366
|
working_directory #{context.temporary_directory_path};
|
367
|
-
error_log groonga-httpd-
|
367
|
+
error_log groonga-httpd-error.log;
|
368
368
|
pid #{pid_file_path};
|
369
369
|
events {
|
370
370
|
worker_connections 1024;
|
371
371
|
}
|
372
|
+
GLOBAL
|
372
373
|
|
374
|
+
ENV.each do |key, value|
|
375
|
+
next unless key.start_with?("GRN_")
|
376
|
+
config_file.puts(<<-ENV)
|
377
|
+
env #{key};
|
378
|
+
ENV
|
379
|
+
end
|
380
|
+
config_file.puts(<<-ENV)
|
381
|
+
env LD_LIBRARY_PATH;
|
382
|
+
env DYLD_LIBRARY_PATH;
|
383
|
+
ENV
|
384
|
+
|
385
|
+
config_file.puts(<<-HTTP)
|
373
386
|
http {
|
374
387
|
server {
|
375
388
|
access_log groonga-httpd-access.log;
|
@@ -377,11 +390,12 @@ http {
|
|
377
390
|
server_name #{host};
|
378
391
|
location /d/ {
|
379
392
|
groonga_database #{context.relative_db_path};
|
393
|
+
groonga_log_path #{context.log_path};
|
380
394
|
groonga on;
|
381
395
|
}
|
382
396
|
}
|
383
397
|
}
|
384
|
-
|
398
|
+
HTTP
|
385
399
|
end
|
386
400
|
config_file_path
|
387
401
|
end
|
@@ -493,7 +507,8 @@ EOF
|
|
493
507
|
path = $2
|
494
508
|
post = $3
|
495
509
|
normalized_path = File.basename(path)
|
496
|
-
post =
|
510
|
+
post = post.gsub(/\[\d+\]\z/, "[?]")
|
511
|
+
post = "" unless /[\)\]]\z/ =~ post
|
497
512
|
"#{pre}<#{normalized_path}>'#{post}"
|
498
513
|
else
|
499
514
|
content
|
data/lib/grntest/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grntest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-02-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|