gas_load_tester 1.0.6 → 1.0.7
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/lib/gas_load_tester/chart_builder.rb +22 -5
- data/lib/gas_load_tester/group_test.rb +12 -2
- data/lib/gas_load_tester/test.rb +4 -2
- data/lib/gas_load_tester/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 918752eef3cb87613c6cc409094209ed1f328ae1
|
4
|
+
data.tar.gz: 354fa0ab61aec5fe2cbd4c613b220a0d22bbff2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9dc2273e04f1f5b0793fe2245efc7fe2b85b9aa5931e6f391bdebd33e01e4d9e01e819f1d977fdde6a1f09a67264af7640e8e334ec926315ad495982375687a
|
7
|
+
data.tar.gz: 0ef6fdf4f06f7eb050bc5d7983d2c20484d60d92e22251b7a8f21946db413959917cb79d6cc4a6c7da0c9b7206da8ba703fca5a8a5234806ee70a3ba2e90739a
|
@@ -5,7 +5,7 @@ module GasLoadTester
|
|
5
5
|
|
6
6
|
class ChartBuilder
|
7
7
|
include Chartkick::Helper
|
8
|
-
attr_accessor :file_name, :body
|
8
|
+
attr_accessor :file_name, :body, :header, :description
|
9
9
|
|
10
10
|
DEFAULT_PAGE_HEAD = "<!DOCTYPE html>"\
|
11
11
|
"<html>"\
|
@@ -23,7 +23,11 @@ module GasLoadTester
|
|
23
23
|
def initialize(args = {})
|
24
24
|
args ||= {}
|
25
25
|
args[:file_name] ||= args['file_name']
|
26
|
+
args[:header] ||= args['header']
|
27
|
+
args[:description] ||= args['description']
|
26
28
|
self.file_name = args[:file_name]
|
29
|
+
self.header = args[:header]
|
30
|
+
self.description = args[:description]
|
27
31
|
end
|
28
32
|
|
29
33
|
def save
|
@@ -38,23 +42,36 @@ module GasLoadTester
|
|
38
42
|
end
|
39
43
|
|
40
44
|
def build_body(test)
|
45
|
+
header_part = build_headpart || ""
|
46
|
+
|
41
47
|
sum_body = build_sum_test(test)
|
42
48
|
|
43
|
-
self.body = DEFAULT_PAGE_HEAD + sum_body + DEFAULT_PAGE_TAIL
|
49
|
+
self.body = DEFAULT_PAGE_HEAD + header_part + sum_body + DEFAULT_PAGE_TAIL
|
44
50
|
end
|
45
51
|
|
46
52
|
def build_group_body(group_test)
|
47
|
-
|
53
|
+
header_part = build_headpart || ""
|
54
|
+
|
55
|
+
sum_group_body = group_test.tests.select{|test|
|
56
|
+
test.is_run?
|
57
|
+
}.collect{|test|
|
48
58
|
build_sum_test(test)
|
49
59
|
}.join('<hr style="margin-top: 70px; margin-bottom: 70px;">')
|
50
60
|
|
51
61
|
sum_group_table = build_sum_group_table(group_test)
|
52
62
|
|
53
|
-
self.body = DEFAULT_PAGE_HEAD + sum_group_table + sum_group_body + DEFAULT_PAGE_TAIL
|
63
|
+
self.body = DEFAULT_PAGE_HEAD + header_part + sum_group_table + sum_group_body + DEFAULT_PAGE_TAIL
|
54
64
|
end
|
55
65
|
|
56
66
|
private
|
57
67
|
|
68
|
+
def build_headpart
|
69
|
+
"<div style=\"width: 100%;text-align: center;margin-top: 50px;\">
|
70
|
+
#{ header.nil? ? "" : "<span style=\"font-weight: bold;font-size: 20px;\">ah ah</span>" }
|
71
|
+
#{ description.nil? ? "" : description.split("\n").collect{|text| "<p>#{text.to_s}</p>" }.join }
|
72
|
+
</div><hr style=\"margin-top: 70px; margin-bottom: 70px;\">" if !self.header.nil? || !self.description.nil?
|
73
|
+
end
|
74
|
+
|
58
75
|
def build_sum_group_table(group_test)
|
59
76
|
"<div style=\"width: 100%; text-align: center; margin-top: 20px; margin-bottom: 20px;\">
|
60
77
|
<span style=\"align: center; font-weight: bold; font-size: 20px;\">Comparison summary</span>
|
@@ -76,7 +93,7 @@ module GasLoadTester
|
|
76
93
|
<th width=\"15%\" style=\"border: 1px solid black; border-collapse: collapse;\">error</th>
|
77
94
|
</tr>
|
78
95
|
#{
|
79
|
-
group_data = group_test.tests.collect{|test|
|
96
|
+
group_data = group_test.tests.select{|test| test.is_run? }.collect{|test|
|
80
97
|
[
|
81
98
|
test.client,
|
82
99
|
test.time,
|
@@ -15,19 +15,29 @@ module GasLoadTester
|
|
15
15
|
def run(args = {}, &block)
|
16
16
|
args[:output] ||= args['output']
|
17
17
|
args[:file_name] ||= args['file_name']
|
18
|
+
args[:header] ||= args['header']
|
19
|
+
args[:description] ||= args['description']
|
20
|
+
args[:stop_when_error] ||= args['stop_when_error']
|
21
|
+
args[:error_count_to_stop] ||= args['error_count_to_stop']
|
22
|
+
error_counter = 0
|
18
23
|
not_run_tests = self.tests.select{|test| !test.is_run? }
|
19
24
|
not_run_tests.each_with_index do |test, index|
|
20
25
|
print "[#{index+1}/#{not_run_tests.count}] "
|
21
26
|
test.run(nil, &block) unless test.is_run?
|
27
|
+
error_counter += 1 if error_counter >= 1
|
28
|
+
break if error_counter >= (args[:error_count_to_stop] || 3)
|
29
|
+
if args[:stop_when_error] == true || !args[:error_count_to_stop].nil?
|
30
|
+
error_counter = 1 if error_counter == 0 && test.summary_error > 0
|
31
|
+
end
|
22
32
|
end
|
23
33
|
if args[:output]
|
24
|
-
export_file({file_name: args[:file_name]})
|
34
|
+
export_file({file_name: args[:file_name], header: args[:header], description: args[:description]})
|
25
35
|
end
|
26
36
|
end
|
27
37
|
|
28
38
|
def export_file(args = {})
|
29
39
|
file = args[:file_name] || ''
|
30
|
-
chart_builder = GasLoadTester::ChartBuilder.new(file_name: file)
|
40
|
+
chart_builder = GasLoadTester::ChartBuilder.new(file_name: file, header: args[:header], description: args[:description])
|
31
41
|
chart_builder.build_group_body(self)
|
32
42
|
chart_builder.save
|
33
43
|
end
|
data/lib/gas_load_tester/test.rb
CHANGED
@@ -27,6 +27,8 @@ module GasLoadTester
|
|
27
27
|
args ||= {}
|
28
28
|
args[:output] ||= args['output']
|
29
29
|
args[:file_name] ||= args['file_name']
|
30
|
+
args[:header] ||= args['header']
|
31
|
+
args[:description] ||= args['description']
|
30
32
|
puts "Running test (client: #{self.client}, time: #{self.time})"
|
31
33
|
@progressbar = ProgressBar.create(
|
32
34
|
:title => "Load test",
|
@@ -38,7 +40,7 @@ module GasLoadTester
|
|
38
40
|
)
|
39
41
|
load_test(block)
|
40
42
|
if args[:output]
|
41
|
-
export_file({file_name: args[:file_name]})
|
43
|
+
export_file({file_name: args[:file_name], header: args[:header], description: args[:description]})
|
42
44
|
end
|
43
45
|
ensure
|
44
46
|
@run = true
|
@@ -55,7 +57,7 @@ module GasLoadTester
|
|
55
57
|
def export_file(args = {})
|
56
58
|
args ||= {}
|
57
59
|
file = args[:file_name] || ''
|
58
|
-
chart_builder = GasLoadTester::ChartBuilder.new(file_name: file)
|
60
|
+
chart_builder = GasLoadTester::ChartBuilder.new(file_name: file, header: args[:header], description: args[:description])
|
59
61
|
chart_builder.build_body(self)
|
60
62
|
chart_builder.save
|
61
63
|
end
|