corn 0.0.10 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +1 -13
- data/lib/corn.rb +15 -25
- data/lib/corn/report.rb +5 -2
- metadata +4 -7
- data/lib/corn/mini_test.rb +0 -33
- data/lib/corn/setup.rb +0 -3
- data/lib/corn/test_unit.rb +0 -55
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1286a1c4fa1681980a80beb37f953ef73fdd9bbd
|
4
|
+
data.tar.gz: 102e0c92b4f5deddc98e29d9e525b7865b1d9743
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc856cd5c679a58da2f584ca1d1d66ab1beb59d1be9025db2e7f7d34c3590bc23307208aa59b3d609de53e4ab39042de52643993d10b8f137bc113df51cc39cb
|
7
|
+
data.tar.gz: e0ca9ab344dd596b379ff480c8920a932a2fa8d1954b0d5eabbb6243ed7c97b5abe08cf9a5f4c184b9e39c0a534ff5ccc03e0efdeda79b1e061c12b131f91f71
|
data/README.md
CHANGED
data/lib/corn.rb
CHANGED
@@ -4,8 +4,6 @@ require 'logger'
|
|
4
4
|
require 'csv'
|
5
5
|
|
6
6
|
require 'corn/report'
|
7
|
-
require 'corn/test_unit'
|
8
|
-
require 'corn/mini_test'
|
9
7
|
|
10
8
|
module Corn
|
11
9
|
module_function
|
@@ -18,48 +16,35 @@ module Corn
|
|
18
16
|
ENV['CORN_CLIENT_ID'] || raise('No environment vairable CORN_CLIENT_ID defined')
|
19
17
|
end
|
20
18
|
|
21
|
-
def
|
22
|
-
ENV['
|
19
|
+
def configured?
|
20
|
+
!!ENV['CORN_CLIENT_ID']
|
23
21
|
end
|
24
22
|
|
25
23
|
def logger
|
26
24
|
@logger ||= Logger.new(STDOUT)
|
27
25
|
end
|
28
26
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
if RUBY_VERSION =~ /^1.8/
|
33
|
-
if defined?(Test::Unit::TestCase)
|
34
|
-
Test::Unit::TestCase.send(:include, TestUnit18)
|
35
|
-
Test::Unit::UI::TestRunnerMediator.send(:include, TestRunnerMediator)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
if defined?(::MiniTest::Unit::TestCase)
|
39
|
-
::MiniTest::Unit::TestCase.send(:include, Corn::MiniTest)
|
40
|
-
::MiniTest::Unit.after_tests { submit }
|
41
|
-
end
|
27
|
+
def create_report(name)
|
28
|
+
Thread.current[report_key] = Report.new(name)
|
42
29
|
end
|
43
30
|
|
44
31
|
def report(label=nil, &block)
|
45
|
-
@report ||= Report.new
|
46
32
|
if label
|
47
|
-
|
33
|
+
self.report.record(label, &block)
|
48
34
|
else
|
49
|
-
|
35
|
+
Thread.current[report_key]
|
50
36
|
end
|
51
37
|
end
|
52
38
|
|
53
39
|
def submit
|
54
|
-
return if
|
40
|
+
return if self.report.nil? || self.report.empty?
|
55
41
|
log_error do
|
56
42
|
data = {
|
57
|
-
|
58
|
-
|
59
|
-
|
43
|
+
'client_id' => client_id,
|
44
|
+
'report[name]' => self.report.name,
|
45
|
+
'report[records]' => self.report.to_csv
|
60
46
|
}
|
61
47
|
http_post(File.join(host, 'benchmarks'), data)
|
62
|
-
@report = nil
|
63
48
|
end
|
64
49
|
end
|
65
50
|
|
@@ -86,4 +71,9 @@ module Corn
|
|
86
71
|
"Report error: #{e.message}:\n#{e.backtrace.join("\n")}"
|
87
72
|
end
|
88
73
|
end
|
74
|
+
|
75
|
+
def report_key
|
76
|
+
'__corn_report__'
|
77
|
+
end
|
78
|
+
|
89
79
|
end
|
data/lib/corn/report.rb
CHANGED
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: corn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xiao Li
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
|
-
Corn
|
14
|
+
Corn provides simple api for collecting benchmark reports and submits reports to Corn Server.
|
15
15
|
email:
|
16
16
|
- swing1979@gmail.com
|
17
17
|
executables: []
|
@@ -20,10 +20,7 @@ extra_rdoc_files: []
|
|
20
20
|
files:
|
21
21
|
- README.md
|
22
22
|
- lib/corn.rb
|
23
|
-
- lib/corn/mini_test.rb
|
24
23
|
- lib/corn/report.rb
|
25
|
-
- lib/corn/setup.rb
|
26
|
-
- lib/corn/test_unit.rb
|
27
24
|
homepage: https://github.com/xli/corn
|
28
25
|
licenses:
|
29
26
|
- MIT
|
@@ -47,5 +44,5 @@ rubyforge_project:
|
|
47
44
|
rubygems_version: 2.2.0
|
48
45
|
signing_key:
|
49
46
|
specification_version: 4
|
50
|
-
summary: Corn is a
|
47
|
+
summary: Corn is a simple benchmark report tool.
|
51
48
|
test_files: []
|
data/lib/corn/mini_test.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
module Corn
|
2
|
-
module MiniTest
|
3
|
-
def self.included(base)
|
4
|
-
base.send(:alias_method, :run_without_corn, :run)
|
5
|
-
base.send(:alias_method, :run, :run_with_corn)
|
6
|
-
end
|
7
|
-
|
8
|
-
def run_with_corn(runner, &block)
|
9
|
-
label = "#{self.class.name}.#{__name__}"
|
10
|
-
Corn.report(label) do
|
11
|
-
run_without_corn(runner, &block)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def before_setup
|
16
|
-
Corn.report.record_start(:setup)
|
17
|
-
end
|
18
|
-
|
19
|
-
def after_setup
|
20
|
-
Corn.report.record_end
|
21
|
-
Corn.report.record_start(:run_test)
|
22
|
-
end
|
23
|
-
|
24
|
-
def before_teardown
|
25
|
-
Corn.report.record_end
|
26
|
-
Corn.report.record_start(:teardown)
|
27
|
-
end
|
28
|
-
|
29
|
-
def after_teardown
|
30
|
-
Corn.report.record_end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
data/lib/corn/setup.rb
DELETED
data/lib/corn/test_unit.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'test/unit/testcase'
|
2
|
-
|
3
|
-
module Corn
|
4
|
-
module TestUnit18
|
5
|
-
def self.included(base)
|
6
|
-
base.send(:alias_method, :run_without_corn, :run)
|
7
|
-
base.send(:alias_method, :run, :run_with_corn)
|
8
|
-
end
|
9
|
-
|
10
|
-
def run_with_corn(result, &block)
|
11
|
-
label = "#{self.class.name}.#{@method_name}"
|
12
|
-
Corn.report(label) do
|
13
|
-
__run_with_corn__(result, &block)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def __run_with_corn__(result, &block)
|
18
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
19
|
-
@_result = result
|
20
|
-
begin
|
21
|
-
Corn.report(:setup) { setup }
|
22
|
-
Corn.report(:run_test) { __send__(@method_name) }
|
23
|
-
rescue AssertionFailedError => e
|
24
|
-
add_failure(e.message, e.backtrace)
|
25
|
-
rescue Exception
|
26
|
-
raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
|
27
|
-
add_error($!)
|
28
|
-
ensure
|
29
|
-
begin
|
30
|
-
Corn.report(:teardown) { teardown }
|
31
|
-
rescue AssertionFailedError => e
|
32
|
-
add_failure(e.message, e.backtrace)
|
33
|
-
rescue Exception
|
34
|
-
raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
|
35
|
-
add_error($!)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
result.add_run
|
39
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
module TestRunnerMediator
|
44
|
-
def self.included(base)
|
45
|
-
base.send(:alias_method, :run_suite_without_corn, :run_suite)
|
46
|
-
base.send(:alias_method, :run_suite, :run_suite_with_corn)
|
47
|
-
end
|
48
|
-
|
49
|
-
def run_suite_with_corn
|
50
|
-
run_suite_without_corn.tap do |r|
|
51
|
-
Corn.submit
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|