micron 0.5.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 +7 -0
- data/Gemfile +19 -0
- data/Gemfile.lock +88 -0
- data/Rakefile +40 -0
- data/VERSION +1 -0
- data/bin/micron +4 -0
- data/lib/micron.rb +29 -0
- data/lib/micron/app.rb +127 -0
- data/lib/micron/app/options.rb +73 -0
- data/lib/micron/assertion.rb +10 -0
- data/lib/micron/fork_runner.rb +55 -0
- data/lib/micron/minitest.rb +45 -0
- data/lib/micron/proc_runner.rb +114 -0
- data/lib/micron/rake.rb +29 -0
- data/lib/micron/reporter.rb +30 -0
- data/lib/micron/reporter/console.rb +146 -0
- data/lib/micron/reporter/coverage.rb +37 -0
- data/lib/micron/runner.rb +95 -0
- data/lib/micron/runner/backtrace_filter.rb +39 -0
- data/lib/micron/runner/clazz.rb +45 -0
- data/lib/micron/runner/clazz19.rb +24 -0
- data/lib/micron/runner/debug.rb +22 -0
- data/lib/micron/runner/exception_info.rb +16 -0
- data/lib/micron/runner/fork_worker.rb +185 -0
- data/lib/micron/runner/forking_clazz.rb +40 -0
- data/lib/micron/runner/liveness_checker.rb +40 -0
- data/lib/micron/runner/liveness_checker/ping.rb +65 -0
- data/lib/micron/runner/liveness_checker/pong.rb +36 -0
- data/lib/micron/runner/method.rb +124 -0
- data/lib/micron/runner/parallel_clazz.rb +135 -0
- data/lib/micron/runner/proc_clazz.rb +48 -0
- data/lib/micron/runner/process_reaper.rb +98 -0
- data/lib/micron/runner/shim.rb +68 -0
- data/lib/micron/runner/test_file.rb +79 -0
- data/lib/micron/test_case.rb +36 -0
- data/lib/micron/test_case/assertions.rb +701 -0
- data/lib/micron/test_case/lifecycle_hooks.rb +74 -0
- data/lib/micron/test_case/redir_logging.rb +85 -0
- data/lib/micron/test_case/teardown_coverage.rb +13 -0
- data/lib/micron/util/ex.rb +23 -0
- data/lib/micron/util/io.rb +54 -0
- data/lib/micron/util/thread_dump.rb +29 -0
- data/micron.gemspec +97 -0
- metadata +184 -0
@@ -0,0 +1,74 @@
|
|
1
|
+
|
2
|
+
module Micron
|
3
|
+
class TestCase
|
4
|
+
module LifecycleHooks
|
5
|
+
##
|
6
|
+
# Runs before every test, after setup. This hook is meant for
|
7
|
+
# libraries to extend minitest. It is not meant to be used by
|
8
|
+
# test developers.
|
9
|
+
#
|
10
|
+
# See #before_setup for an example.
|
11
|
+
|
12
|
+
def after_setup
|
13
|
+
end
|
14
|
+
|
15
|
+
##
|
16
|
+
# Runs before every test, before setup. This hook is meant for
|
17
|
+
# libraries to extend minitest. It is not meant to be used by
|
18
|
+
# test developers.
|
19
|
+
#
|
20
|
+
# As a simplistic example:
|
21
|
+
#
|
22
|
+
# module MyMinitestPlugin
|
23
|
+
# def before_setup
|
24
|
+
# super
|
25
|
+
# # ... stuff to do before setup is run
|
26
|
+
# end
|
27
|
+
#
|
28
|
+
# def after_setup
|
29
|
+
# # ... stuff to do after setup is run
|
30
|
+
# super
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# def before_teardown
|
34
|
+
# super
|
35
|
+
# # ... stuff to do before teardown is run
|
36
|
+
# end
|
37
|
+
#
|
38
|
+
# def after_teardown
|
39
|
+
# # ... stuff to do after teardown is run
|
40
|
+
# super
|
41
|
+
# end
|
42
|
+
# end
|
43
|
+
#
|
44
|
+
# class MiniTest::Unit::TestCase
|
45
|
+
# include MyMinitestPlugin
|
46
|
+
# end
|
47
|
+
|
48
|
+
def before_setup
|
49
|
+
end
|
50
|
+
|
51
|
+
##
|
52
|
+
# Runs after every test, before teardown. This hook is meant for
|
53
|
+
# libraries to extend minitest. It is not meant to be used by
|
54
|
+
# test developers.
|
55
|
+
#
|
56
|
+
# See #before_setup for an example.
|
57
|
+
|
58
|
+
def before_teardown
|
59
|
+
end
|
60
|
+
|
61
|
+
##
|
62
|
+
# Runs after every test, after teardown. This hook is meant for
|
63
|
+
# libraries to extend minitest. It is not meant to be used by
|
64
|
+
# test developers.
|
65
|
+
#
|
66
|
+
# See #before_setup for an example.
|
67
|
+
|
68
|
+
def after_teardown
|
69
|
+
end
|
70
|
+
|
71
|
+
end # LifecycleHooks
|
72
|
+
|
73
|
+
end # TestCase
|
74
|
+
end # Micron
|
@@ -0,0 +1,85 @@
|
|
1
|
+
|
2
|
+
require "logging"
|
3
|
+
|
4
|
+
module Micron
|
5
|
+
class TestCase
|
6
|
+
module RedirLogging
|
7
|
+
|
8
|
+
# Send logging to stdout for duration of test
|
9
|
+
def before_setup
|
10
|
+
super
|
11
|
+
logger = self.class.redir_logger
|
12
|
+
return if logger.nil?
|
13
|
+
|
14
|
+
@_old_log_appenders = logger.appenders
|
15
|
+
@_old_log_additive = logger.additive
|
16
|
+
@_old_log_level = logger.level
|
17
|
+
|
18
|
+
logger.clear_appenders
|
19
|
+
logger.additive = false
|
20
|
+
logger.level = :debug
|
21
|
+
|
22
|
+
# add original appenders which do not point to stdout, and our custom
|
23
|
+
# $stdout appender
|
24
|
+
logger.add_appenders(@_old_log_appenders.reject{ |a| a.kind_of? Logging::Appenders::Stdout })
|
25
|
+
logger.add_appenders("stdout_test")
|
26
|
+
end
|
27
|
+
|
28
|
+
# Restore appenders
|
29
|
+
def after_teardown
|
30
|
+
super
|
31
|
+
logger = self.class.redir_logger
|
32
|
+
return if logger.nil?
|
33
|
+
logger.clear_appenders
|
34
|
+
logger.add_appenders(@_old_log_appenders)
|
35
|
+
logger.additive = @_old_log_additive
|
36
|
+
logger.level = @_old_log_level
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.included(receiver)
|
40
|
+
receiver.extend(ClassMethods)
|
41
|
+
end
|
42
|
+
|
43
|
+
module ClassMethods
|
44
|
+
attr_writer :redir_logger
|
45
|
+
|
46
|
+
# Search up the TestCase hierarchy for a redir_logger
|
47
|
+
def redir_logger
|
48
|
+
return @redir_logger if !@redir_logger.nil?
|
49
|
+
return superclass.redir_logger if superclass.respond_to? :redir_logger
|
50
|
+
nil
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# A simple subclass of the Stdout appender which writes to whatever
|
59
|
+
# $stdout is currently pointing to
|
60
|
+
module Logging::Appenders
|
61
|
+
class StdoutTest < Stdout
|
62
|
+
def canonical_write( str )
|
63
|
+
return self if @io.nil?
|
64
|
+
str = str.force_encoding(encoding) if encoding and str.encoding != encoding
|
65
|
+
# STDOUT.puts "writing log to $stdout: #{str}"
|
66
|
+
# STDOUT.puts "$stdout is currently #{$stdout.inspect}"
|
67
|
+
$stdout.syswrite str
|
68
|
+
self
|
69
|
+
rescue StandardError => err
|
70
|
+
self.level = :off
|
71
|
+
::Logging.log_internal {"appender #{name.inspect} has been disabled"}
|
72
|
+
::Logging.log_internal(-2) {err}
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Configure test appender
|
78
|
+
Logging::Appenders::StdoutTest.new( 'stdout_test',
|
79
|
+
:auto_flushing => true,
|
80
|
+
:layout => Logging.layouts.pattern(
|
81
|
+
:pattern => '%.1l, [%d] %5l -- %c: %m\n',
|
82
|
+
:color_scheme => 'bright'
|
83
|
+
)
|
84
|
+
)
|
85
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
module Micron
|
3
|
+
module Util
|
4
|
+
module Ex
|
5
|
+
|
6
|
+
# Utility method for converting Exceptions to Strings
|
7
|
+
#
|
8
|
+
# @param [Exception] ex
|
9
|
+
# @param [Boolean] include_backtrace
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
def dump_ex(ex, include_backtrace=false)
|
13
|
+
name = ex.respond_to?(:name) ? ex.name : ex.class.to_s
|
14
|
+
s = "<#{name}> #{ex.message}"
|
15
|
+
if include_backtrace then
|
16
|
+
s += "\n " + filter_backtrace(ex.backtrace).join("\n ")
|
17
|
+
end
|
18
|
+
return s
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
|
2
|
+
module Micron
|
3
|
+
module Util
|
4
|
+
module IO
|
5
|
+
|
6
|
+
# Captures $stdout and $stderr into strings:
|
7
|
+
#
|
8
|
+
# out, err = capture_io do
|
9
|
+
# puts "Some info"
|
10
|
+
# warn "You did a bad thing"
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# assert_match %r%info%, out
|
14
|
+
# assert_match %r%bad%, err
|
15
|
+
#
|
16
|
+
# NOTE: For efficiency, this method uses StringIO and does not
|
17
|
+
# capture IO for subprocesses. Use #capture_subprocess_io for
|
18
|
+
# that.
|
19
|
+
def capture_io
|
20
|
+
require 'stringio'
|
21
|
+
|
22
|
+
captured_stdout, captured_stderr = StringIO.new, StringIO.new
|
23
|
+
|
24
|
+
# synchronize do
|
25
|
+
orig_stdout, orig_stderr = $stdout, $stderr
|
26
|
+
$stdout, $stderr = captured_stdout, captured_stderr
|
27
|
+
|
28
|
+
begin
|
29
|
+
yield
|
30
|
+
ensure
|
31
|
+
$stdout = orig_stdout
|
32
|
+
$stderr = orig_stderr
|
33
|
+
end
|
34
|
+
|
35
|
+
# end
|
36
|
+
|
37
|
+
return captured_stdout.string, captured_stderr.string
|
38
|
+
end
|
39
|
+
|
40
|
+
# Dispose of STDOUT/STDERR
|
41
|
+
#
|
42
|
+
# @param [Array<IO>] out
|
43
|
+
# @param [Array<IO>] err
|
44
|
+
def dispose_io(out, err)
|
45
|
+
STDOUT.reopen out.last
|
46
|
+
out.last.close
|
47
|
+
STDERR.reopen err.last
|
48
|
+
err.last.close
|
49
|
+
STDOUT.sync = STDERR.sync = true
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
module Micron
|
3
|
+
module Util
|
4
|
+
module ThreadDump
|
5
|
+
|
6
|
+
# Setup thread dump signal
|
7
|
+
def trap_thread_dump
|
8
|
+
# print a thread dump on SIGALRM
|
9
|
+
# kill -ALRM <pid>
|
10
|
+
Signal.trap 'SIGALRM' do
|
11
|
+
File.open(File.join(ENV["MICRON_PATH"], "#{$$}.threads.txt"), "w+") do |f|
|
12
|
+
f.puts
|
13
|
+
f.puts "=== micron thread dump: #{Time.now} ==="
|
14
|
+
f.puts
|
15
|
+
Thread.list.each do |thread|
|
16
|
+
f.puts "Thread-#{thread.object_id}" + (thread[:name] ? ": " + thread[:name] : "")
|
17
|
+
f.puts thread.backtrace.join("\n \\_ ")
|
18
|
+
f.puts "-"
|
19
|
+
f.puts
|
20
|
+
end
|
21
|
+
f.puts "=== end micron thread dump ==="
|
22
|
+
f.puts
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/micron.gemspec
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: micron 0.5.0 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "micron"
|
9
|
+
s.version = "0.5.0"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.authors = ["Chetan Sarva"]
|
13
|
+
s.date = "2013-10-14"
|
14
|
+
s.description = "An extremely minimal unit test library for Ruby"
|
15
|
+
s.email = "chetan@pixelcop.net"
|
16
|
+
s.executables = ["micron"]
|
17
|
+
s.files = [
|
18
|
+
"Gemfile",
|
19
|
+
"Gemfile.lock",
|
20
|
+
"Rakefile",
|
21
|
+
"VERSION",
|
22
|
+
"bin/micron",
|
23
|
+
"lib/micron.rb",
|
24
|
+
"lib/micron/app.rb",
|
25
|
+
"lib/micron/app/options.rb",
|
26
|
+
"lib/micron/assertion.rb",
|
27
|
+
"lib/micron/fork_runner.rb",
|
28
|
+
"lib/micron/minitest.rb",
|
29
|
+
"lib/micron/proc_runner.rb",
|
30
|
+
"lib/micron/rake.rb",
|
31
|
+
"lib/micron/reporter.rb",
|
32
|
+
"lib/micron/reporter/console.rb",
|
33
|
+
"lib/micron/reporter/coverage.rb",
|
34
|
+
"lib/micron/runner.rb",
|
35
|
+
"lib/micron/runner/backtrace_filter.rb",
|
36
|
+
"lib/micron/runner/clazz.rb",
|
37
|
+
"lib/micron/runner/clazz19.rb",
|
38
|
+
"lib/micron/runner/debug.rb",
|
39
|
+
"lib/micron/runner/exception_info.rb",
|
40
|
+
"lib/micron/runner/fork_worker.rb",
|
41
|
+
"lib/micron/runner/forking_clazz.rb",
|
42
|
+
"lib/micron/runner/liveness_checker.rb",
|
43
|
+
"lib/micron/runner/liveness_checker/ping.rb",
|
44
|
+
"lib/micron/runner/liveness_checker/pong.rb",
|
45
|
+
"lib/micron/runner/method.rb",
|
46
|
+
"lib/micron/runner/parallel_clazz.rb",
|
47
|
+
"lib/micron/runner/proc_clazz.rb",
|
48
|
+
"lib/micron/runner/process_reaper.rb",
|
49
|
+
"lib/micron/runner/shim.rb",
|
50
|
+
"lib/micron/runner/test_file.rb",
|
51
|
+
"lib/micron/test_case.rb",
|
52
|
+
"lib/micron/test_case/assertions.rb",
|
53
|
+
"lib/micron/test_case/lifecycle_hooks.rb",
|
54
|
+
"lib/micron/test_case/redir_logging.rb",
|
55
|
+
"lib/micron/test_case/teardown_coverage.rb",
|
56
|
+
"lib/micron/util/ex.rb",
|
57
|
+
"lib/micron/util/io.rb",
|
58
|
+
"lib/micron/util/thread_dump.rb",
|
59
|
+
"micron.gemspec"
|
60
|
+
]
|
61
|
+
s.homepage = "http://github.com/chetan/micron"
|
62
|
+
s.licenses = ["MIT"]
|
63
|
+
s.require_paths = ["lib"]
|
64
|
+
s.rubygems_version = "2.1.5"
|
65
|
+
s.summary = "Minimal unit tests for Ruby"
|
66
|
+
|
67
|
+
if s.respond_to? :specification_version then
|
68
|
+
s.specification_version = 4
|
69
|
+
|
70
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
71
|
+
s.add_runtime_dependency(%q<easycov>, [">= 0"])
|
72
|
+
s.add_runtime_dependency(%q<hitimes>, [">= 0"])
|
73
|
+
s.add_runtime_dependency(%q<colorize>, [">= 0"])
|
74
|
+
s.add_development_dependency(%q<yard>, ["~> 0.8"])
|
75
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.1"])
|
76
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
77
|
+
s.add_development_dependency(%q<minitest>, ["~> 4.0"])
|
78
|
+
else
|
79
|
+
s.add_dependency(%q<easycov>, [">= 0"])
|
80
|
+
s.add_dependency(%q<hitimes>, [">= 0"])
|
81
|
+
s.add_dependency(%q<colorize>, [">= 0"])
|
82
|
+
s.add_dependency(%q<yard>, ["~> 0.8"])
|
83
|
+
s.add_dependency(%q<bundler>, ["~> 1.1"])
|
84
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
85
|
+
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
86
|
+
end
|
87
|
+
else
|
88
|
+
s.add_dependency(%q<easycov>, [">= 0"])
|
89
|
+
s.add_dependency(%q<hitimes>, [">= 0"])
|
90
|
+
s.add_dependency(%q<colorize>, [">= 0"])
|
91
|
+
s.add_dependency(%q<yard>, ["~> 0.8"])
|
92
|
+
s.add_dependency(%q<bundler>, ["~> 1.1"])
|
93
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
94
|
+
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
metadata
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: micron
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chetan Sarva
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-10-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: easycov
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hitimes
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: colorize
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.1'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.1'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: jeweler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '4.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '4.0'
|
111
|
+
description: An extremely minimal unit test library for Ruby
|
112
|
+
email: chetan@pixelcop.net
|
113
|
+
executables:
|
114
|
+
- micron
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- Gemfile
|
119
|
+
- Gemfile.lock
|
120
|
+
- Rakefile
|
121
|
+
- VERSION
|
122
|
+
- bin/micron
|
123
|
+
- lib/micron.rb
|
124
|
+
- lib/micron/app.rb
|
125
|
+
- lib/micron/app/options.rb
|
126
|
+
- lib/micron/assertion.rb
|
127
|
+
- lib/micron/fork_runner.rb
|
128
|
+
- lib/micron/minitest.rb
|
129
|
+
- lib/micron/proc_runner.rb
|
130
|
+
- lib/micron/rake.rb
|
131
|
+
- lib/micron/reporter.rb
|
132
|
+
- lib/micron/reporter/console.rb
|
133
|
+
- lib/micron/reporter/coverage.rb
|
134
|
+
- lib/micron/runner.rb
|
135
|
+
- lib/micron/runner/backtrace_filter.rb
|
136
|
+
- lib/micron/runner/clazz.rb
|
137
|
+
- lib/micron/runner/clazz19.rb
|
138
|
+
- lib/micron/runner/debug.rb
|
139
|
+
- lib/micron/runner/exception_info.rb
|
140
|
+
- lib/micron/runner/fork_worker.rb
|
141
|
+
- lib/micron/runner/forking_clazz.rb
|
142
|
+
- lib/micron/runner/liveness_checker.rb
|
143
|
+
- lib/micron/runner/liveness_checker/ping.rb
|
144
|
+
- lib/micron/runner/liveness_checker/pong.rb
|
145
|
+
- lib/micron/runner/method.rb
|
146
|
+
- lib/micron/runner/parallel_clazz.rb
|
147
|
+
- lib/micron/runner/proc_clazz.rb
|
148
|
+
- lib/micron/runner/process_reaper.rb
|
149
|
+
- lib/micron/runner/shim.rb
|
150
|
+
- lib/micron/runner/test_file.rb
|
151
|
+
- lib/micron/test_case.rb
|
152
|
+
- lib/micron/test_case/assertions.rb
|
153
|
+
- lib/micron/test_case/lifecycle_hooks.rb
|
154
|
+
- lib/micron/test_case/redir_logging.rb
|
155
|
+
- lib/micron/test_case/teardown_coverage.rb
|
156
|
+
- lib/micron/util/ex.rb
|
157
|
+
- lib/micron/util/io.rb
|
158
|
+
- lib/micron/util/thread_dump.rb
|
159
|
+
- micron.gemspec
|
160
|
+
homepage: http://github.com/chetan/micron
|
161
|
+
licenses:
|
162
|
+
- MIT
|
163
|
+
metadata: {}
|
164
|
+
post_install_message:
|
165
|
+
rdoc_options: []
|
166
|
+
require_paths:
|
167
|
+
- lib
|
168
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - '>='
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
requirements: []
|
179
|
+
rubyforge_project:
|
180
|
+
rubygems_version: 2.1.5
|
181
|
+
signing_key:
|
182
|
+
specification_version: 4
|
183
|
+
summary: Minimal unit tests for Ruby
|
184
|
+
test_files: []
|