benchmark-ips 2.3.0 → 2.11.0

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.
@@ -1,161 +0,0 @@
1
- require "minitest/autorun"
2
- require "benchmark/ips"
3
- require "stringio"
4
-
5
- class TestBenchmarkIPS < Minitest::Test
6
- def setup
7
- @old_stdout = $stdout
8
- $stdout = StringIO.new
9
- end
10
-
11
- def teardown
12
- $stdout = @old_stdout
13
- end
14
-
15
- def test_kwargs
16
- Benchmark.ips(:time => 1, :warmup => 1, :quiet => false) do |x|
17
- x.report("sleep 0.25") { sleep(0.25) }
18
- end
19
-
20
- assert $stdout.string.size > 0
21
- end
22
-
23
- def test_output
24
- Benchmark.ips(1) do |x|
25
- x.report("operation") { 100 * 100 }
26
- end
27
-
28
- assert $stdout.string.size > 0
29
- end
30
-
31
- def test_quiet
32
- Benchmark.ips(1, nil, true) do |x|
33
- x.report("operation") { 100 * 100 }
34
- end
35
-
36
- assert $stdout.string.size.zero?
37
-
38
- Benchmark.ips(:quiet => true) do |x|
39
- x.report("operation") { 100 * 100 }
40
- end
41
-
42
- assert $stdout.string.size.zero?
43
- end
44
-
45
- def test_ips
46
- report = Benchmark.ips do |x|
47
- x.config(:time => 1, :warmup => 1)
48
- x.report("sleep 0.25") { sleep(0.25) }
49
- x.report("sleep 0.05") { sleep(0.05) }
50
- x.compare!
51
- end
52
-
53
- rep1 = report.entries[0]
54
- rep2 = report.entries[1]
55
-
56
- assert_equal "sleep 0.25", rep1.label
57
- assert_equal 4, rep1.iterations
58
- assert_in_delta 4.0, rep1.ips, 0.2
59
-
60
- assert_equal "sleep 0.05", rep2.label
61
- assert_in_delta 20.0, rep2.iterations.to_f, 1.0
62
- assert_in_delta 20.0, rep2.ips, 1.0
63
- end
64
-
65
- def test_ips_alternate_config
66
- report = Benchmark.ips do |x|
67
- x.time = 1
68
- x.warmup = 1
69
- x.report("sleep 0.25") { sleep(0.25) }
70
- end
71
-
72
- rep = report.entries.first
73
-
74
- assert_equal "sleep 0.25", rep.label
75
- assert_equal 4, rep.iterations
76
- assert_in_delta 4.0, rep.ips, 0.2
77
- end
78
-
79
- def test_ips_old_config
80
- report = Benchmark.ips(1,1) do |x|
81
- x.report("sleep 0.25") { sleep(0.25) }
82
- end
83
-
84
- rep = report.entries.first
85
-
86
- assert_equal "sleep 0.25", rep.label
87
- assert_equal 4, rep.iterations
88
- assert_in_delta 4.0, rep.ips, 0.2
89
- end
90
-
91
- def test_ips_config_suite
92
- suite = Struct.new(:calls) do
93
- def method_missing(method, *args)
94
- calls << method
95
- end
96
- end.new([])
97
-
98
- Benchmark.ips(0.1, 0.1) do |x|
99
- x.config(:suite => suite)
100
- x.report("job") {}
101
- end
102
-
103
- assert_equal [:warming, :warmup_stats, :running, :add_report], suite.calls
104
- end
105
-
106
- def test_ips_defaults
107
- report = Benchmark.ips do |x|
108
- x.report("sleep 0.25") { sleep(0.25) }
109
- end
110
-
111
- rep = report.entries.first
112
-
113
- assert_equal "sleep 0.25", rep.label
114
- assert_equal 4*5, rep.iterations
115
- assert_in_delta 4.0, rep.ips, 0.2
116
- end
117
-
118
- def test_ips_report_using_symbol
119
- report = Benchmark.ips do |x|
120
- x.report(:sleep_a_quarter_second) { sleep(0.25) }
121
- end
122
-
123
- rep = report.entries.first
124
-
125
- assert_equal :sleep_a_quarter_second, rep.label
126
- assert_equal 4*5, rep.iterations
127
- assert_in_delta 4.0, rep.ips, 0.2
128
- end
129
-
130
- def test_ips_default_data
131
- report = Benchmark.ips do |x|
132
- x.report("sleep 0.25") { sleep(0.25) }
133
- end
134
-
135
- all_data = report.data
136
-
137
- assert all_data
138
- assert_equal "sleep 0.25", all_data[0][:name]
139
- assert all_data[0][:ips]
140
- assert all_data[0][:stddev]
141
- end
142
-
143
- def test_json_output
144
- json_file = Tempfile.new("data.json")
145
-
146
- Benchmark.ips do |x|
147
- x.report("sleep 0.25") { sleep(0.25) }
148
- x.json! json_file.path
149
- end
150
-
151
- json_data = json_file.read
152
- assert json_data
153
-
154
- data = JSON.parse json_data
155
- assert data
156
- assert_equal 1, data.size
157
- assert_equal "sleep 0.25", data[0]["name"]
158
- assert data[0]["ips"]
159
- assert data[0]["stddev"]
160
- end
161
- end