micro_test 0.2.8 → 0.3.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.
- data/README.md +81 -28
- data/bin/mt +100 -41
- data/ext/mkrf_conf.rb +32 -0
- data/lib/micro_test/formatters/base_formatter.rb +43 -0
- data/lib/micro_test/formatters/doc.rb +55 -0
- data/lib/micro_test/formatters/dots.rb +8 -19
- data/lib/micro_test/formatters/min.rb +9 -20
- data/lib/micro_test/formatters/mt.rb +63 -0
- data/lib/micro_test/formatters/mt_async.rb +66 -0
- data/lib/micro_test/runner.rb +49 -53
- data/lib/micro_test/test.rb +61 -23
- data/lib/micro_test/test_wrapper.rb +136 -0
- data/lib/micro_test/version.rb +1 -1
- data/lib/micro_test.rb +1 -7
- data/test/color_test.rb +45 -0
- data/test/cpu_latency_test.rb +28 -0
- data/test/fail_test.rb +16 -0
- data/test/io_latency_test.rb +20 -0
- data/test/runner_test.rb +13 -0
- data/test/test_test.rb +53 -103
- data/test/test_wrapper_test.rb +17 -0
- metadata +20 -45
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -21
- data/lib/micro_test/formatters/default.rb +0 -51
- data/lib/micro_test/formatters/documentation.rb +0 -64
- data/test/test_fail.rb +0 -14
- data/test/test_runner.rb +0 -35
@@ -0,0 +1,17 @@
|
|
1
|
+
unless ENV["MT_DEMO"]
|
2
|
+
class TestWrapperTest < MicroTest::Test
|
3
|
+
|
4
|
+
test ".new" do
|
5
|
+
desc = "test_#{rand(999**10)}"
|
6
|
+
meth = lambda { ".new" }
|
7
|
+
t = MicroTest::TestWrapper.new(TestWrapperTest, desc, &meth)
|
8
|
+
assert t.desc == desc
|
9
|
+
assert t.test == ".new"
|
10
|
+
assert t.passed?
|
11
|
+
assert t.finished? == false
|
12
|
+
assert t.duration.nil?
|
13
|
+
assert t.asserts.empty?
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: micro_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: celluloid
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
@@ -27,62 +27,37 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
|
31
|
-
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: pry-stack_explorer
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
description: ! " Testing frameworks often lose their focus and become an end unto
|
63
|
-
themselves.\n MicroTest avoids this pitfall with a relentless focus on simplicity.\n"
|
30
|
+
description: ! " Simple test API.\n Awesome test/dev workflow with pry.\n Asynchronous
|
31
|
+
test runs with celluloid.\n What more could you want?\n"
|
64
32
|
email:
|
65
33
|
- natehop@gmail.com
|
66
34
|
executables:
|
67
35
|
- mt
|
68
|
-
extensions:
|
36
|
+
extensions:
|
37
|
+
- ext/mkrf_conf.rb
|
69
38
|
extra_rdoc_files: []
|
70
39
|
files:
|
40
|
+
- ext/mkrf_conf.rb
|
71
41
|
- lib/micro_test/color.rb
|
72
|
-
- lib/micro_test/formatters/
|
73
|
-
- lib/micro_test/formatters/
|
42
|
+
- lib/micro_test/formatters/base_formatter.rb
|
43
|
+
- lib/micro_test/formatters/doc.rb
|
74
44
|
- lib/micro_test/formatters/dots.rb
|
75
45
|
- lib/micro_test/formatters/min.rb
|
46
|
+
- lib/micro_test/formatters/mt.rb
|
47
|
+
- lib/micro_test/formatters/mt_async.rb
|
76
48
|
- lib/micro_test/runner.rb
|
77
49
|
- lib/micro_test/test.rb
|
50
|
+
- lib/micro_test/test_wrapper.rb
|
78
51
|
- lib/micro_test/version.rb
|
79
52
|
- lib/micro_test.rb
|
80
53
|
- bin/mt
|
81
|
-
- test/
|
82
|
-
- test/
|
54
|
+
- test/color_test.rb
|
55
|
+
- test/cpu_latency_test.rb
|
56
|
+
- test/fail_test.rb
|
57
|
+
- test/io_latency_test.rb
|
58
|
+
- test/runner_test.rb
|
83
59
|
- test/test_test.rb
|
84
|
-
-
|
85
|
-
- Gemfile.lock
|
60
|
+
- test/test_wrapper_test.rb
|
86
61
|
- LICENSE.txt
|
87
62
|
- README.md
|
88
63
|
homepage: http://hopsoft.github.com/micro_test/
|
@@ -97,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
72
|
requirements:
|
98
73
|
- - ! '>='
|
99
74
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
75
|
+
version: 1.9.2
|
101
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
77
|
none: false
|
103
78
|
requirements:
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
binding_of_caller (0.6.8)
|
5
|
-
coderay (1.0.7)
|
6
|
-
method_source (0.8)
|
7
|
-
pry (0.9.10)
|
8
|
-
coderay (~> 1.0.5)
|
9
|
-
method_source (~> 0.8)
|
10
|
-
slop (~> 3.3.1)
|
11
|
-
pry-stack_explorer (0.4.6)
|
12
|
-
binding_of_caller (~> 0.6.2)
|
13
|
-
slop (3.3.3)
|
14
|
-
|
15
|
-
PLATFORMS
|
16
|
-
ruby
|
17
|
-
|
18
|
-
DEPENDENCIES
|
19
|
-
pry
|
20
|
-
pry-stack_explorer
|
21
|
-
slop
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "color")
|
2
|
-
|
3
|
-
module MicroTest
|
4
|
-
class Formatter
|
5
|
-
include MicroTest::Color
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@total = 0
|
9
|
-
@passed = 0
|
10
|
-
@failed = 0
|
11
|
-
end
|
12
|
-
|
13
|
-
def header
|
14
|
-
puts "Testing in progress...\n\n"
|
15
|
-
end
|
16
|
-
|
17
|
-
def group(name)
|
18
|
-
puts white(name)
|
19
|
-
end
|
20
|
-
|
21
|
-
def test(info)
|
22
|
-
@total += 1
|
23
|
-
info[:passed] ? @passed += 1 : @failed += 1
|
24
|
-
duration = (info[:duration] * 10**4).round.to_f / 10**4
|
25
|
-
msg = "#{info[:name]} ".ljust(60, ".") + duration.to_s
|
26
|
-
if info[:passed]
|
27
|
-
puts " #{green(:PASS)} #{msg}"
|
28
|
-
else
|
29
|
-
if info[:error]
|
30
|
-
puts msg
|
31
|
-
puts "#{red :ERROR} #{red info[:error].message}"
|
32
|
-
puts " #{red info[:error].backtrace[0]}"
|
33
|
-
else
|
34
|
-
puts " #{red(:FAIL)} #{msg}"
|
35
|
-
info[:asserts].each do |assert|
|
36
|
-
next if assert[:passed]
|
37
|
-
puts " #{red assert[:line]}"
|
38
|
-
puts " #{red assert[:path]}:#{yellow assert[:line_num]}"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def footer
|
45
|
-
puts "\n---"
|
46
|
-
puts "Total: #{@total}, Passed: #{green @passed}, Failed: #{red @failed}"
|
47
|
-
puts "---"
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "color")
|
2
|
-
|
3
|
-
module MicroTest
|
4
|
-
class Formatter
|
5
|
-
include MicroTest::Color
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@total = 0
|
9
|
-
@passed = 0
|
10
|
-
@failed = 0
|
11
|
-
@start_time = Time.now
|
12
|
-
@current_group = ""
|
13
|
-
@failures = []
|
14
|
-
end
|
15
|
-
|
16
|
-
def header
|
17
|
-
end
|
18
|
-
|
19
|
-
def group(name)
|
20
|
-
@current_group = name
|
21
|
-
puts "\n#{name}"
|
22
|
-
end
|
23
|
-
|
24
|
-
def test(info)
|
25
|
-
@total += 1
|
26
|
-
info[:passed] ? @passed += 1 : @failed += 1
|
27
|
-
if info[:passed]
|
28
|
-
puts green(" #{info[:name]}")
|
29
|
-
else
|
30
|
-
info[:asserts].each do |assert|
|
31
|
-
next if assert[:passed]
|
32
|
-
@failures << { :group => @current_group, :name => info[:name], :assert => assert }
|
33
|
-
|
34
|
-
puts red(" #{info[:name]} (FAILED - #{@failures.count})")
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def print_failures
|
40
|
-
puts "\nFailures:\n"
|
41
|
-
@failures.each_with_index do |failure, idx|
|
42
|
-
puts "\n #{idx + 1}) #{failure[:group]} #{failure[:name]}"
|
43
|
-
puts red(" Failure/Error: #{failure[:assert][:line]}")
|
44
|
-
puts cyan(" #{failure[:assert][:path]}:#{failure[:assert][:line_num]}")
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def footer
|
49
|
-
if @failures.count > 0
|
50
|
-
print_failures
|
51
|
-
end
|
52
|
-
puts ""
|
53
|
-
puts "Finished in #{Time.now - @start_time} seconds"
|
54
|
-
msg = "#{@total} examples, #{@failed} failures"
|
55
|
-
if @failed > 0
|
56
|
-
puts red(msg)
|
57
|
-
else
|
58
|
-
puts msg
|
59
|
-
end
|
60
|
-
puts ""
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
end
|
data/test/test_fail.rb
DELETED
data/test/test_runner.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
class TestRunner < MicroTest::Test
|
2
|
-
|
3
|
-
test "interface" do
|
4
|
-
assert MicroTest::Runner.respond_to?(:current_test)
|
5
|
-
assert MicroTest::Runner.respond_to?(:add_test_class)
|
6
|
-
assert MicroTest::Runner.respond_to?(:test_classes)
|
7
|
-
assert MicroTest::Runner.respond_to?(:file)
|
8
|
-
assert MicroTest::Runner.respond_to?(:file_info)
|
9
|
-
assert MicroTest::Runner.respond_to?(:assert)
|
10
|
-
assert MicroTest::Runner.respond_to?(:run)
|
11
|
-
end
|
12
|
-
|
13
|
-
test "add_test_class" do
|
14
|
-
t = Class.new(MicroTest::Test)
|
15
|
-
assert MicroTest::Runner.test_classes.include?(t)
|
16
|
-
end
|
17
|
-
|
18
|
-
test "file" do
|
19
|
-
f = MicroTest::Runner.file(__FILE__)
|
20
|
-
assert f.is_a?(Array)
|
21
|
-
end
|
22
|
-
|
23
|
-
test "file_info" do
|
24
|
-
info = MicroTest::Runner.file_info caller[0]
|
25
|
-
assert info[:file].is_a?(Array)
|
26
|
-
assert info[:line_num].is_a?(Numeric)
|
27
|
-
assert info[:path] =~ /.*lib\/micro_test\/runner\.rb$/
|
28
|
-
assert info[:line] == "test_class.tests[desc].call"
|
29
|
-
end
|
30
|
-
|
31
|
-
test "current_test" do
|
32
|
-
assert MicroTest::Runner.current_test == "TestRunner -> test current_test"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|