free_mutant/lib/mutant.rb

215 lines
6.7 KiB
Ruby
Raw Normal View History

2012-11-26 12:16:22 +01:00
require 'abstract_type'
require 'adamantium'
require 'anima'
require 'concord'
require 'digest/sha1'
2012-08-16 18:02:03 +02:00
require 'diff/lcs'
require 'diff/lcs/hunk'
require 'equalizer'
require 'ice_nine'
require 'morpher'
require 'open3'
require 'optparse'
require 'parallel'
require 'parser'
require 'parser/current'
require 'pathname'
require 'set'
require 'stringio'
require 'unparser'
2014-10-08 15:00:46 +00:00
# This setting is done to make errors within the parallel
# reporter / execution visible in the main thread.
Thread.abort_on_exception = true
# Library namespace
#
# @api private
module Mutant
EMPTY_STRING = ''.freeze
EMPTY_ARRAY = [].freeze
2015-10-08 21:35:23 -07:00
EMPTY_HASH = {}.freeze
2014-06-10 01:51:33 +00:00
SCOPE_OPERATOR = '::'.freeze
2014-06-08 18:03:11 +00:00
# Test if CI is detected via environment
#
# @return [Boolean]
def self.ci?
ENV.key?('CI')
end
end # Mutant
require 'mutant/version'
require 'mutant/env'
require 'mutant/env/bootstrap'
require 'mutant/ast'
require 'mutant/ast/sexp'
require 'mutant/ast/types'
require 'mutant/ast/nodes'
require 'mutant/ast/named_children'
require 'mutant/ast/node_predicates'
require 'mutant/ast/meta'
require 'mutant/ast/meta/send'
require 'mutant/ast/meta/const'
require 'mutant/ast/meta/symbol'
require 'mutant/ast/meta/optarg'
require 'mutant/ast/meta/resbody'
require 'mutant/ast/meta/restarg'
2014-10-23 11:37:53 +00:00
require 'mutant/actor'
require 'mutant/actor/receiver'
require 'mutant/actor/sender'
require 'mutant/actor/mailbox'
require 'mutant/actor/env'
require 'mutant/parser'
require 'mutant/isolation'
2014-12-09 00:10:31 +00:00
require 'mutant/parallel'
require 'mutant/parallel/master'
require 'mutant/parallel/worker'
require 'mutant/parallel/source'
2014-03-29 20:18:23 +00:00
require 'mutant/warning_filter'
2014-04-04 12:38:06 +00:00
require 'mutant/require_highjack'
2012-08-16 04:09:14 +02:00
require 'mutant/mutation'
2015-11-21 22:02:51 +00:00
require 'mutant/mutator'
require 'mutant/mutator/registry'
require 'mutant/mutator/util'
require 'mutant/mutator/util/array'
require 'mutant/mutator/util/symbol'
require 'mutant/mutator/node'
require 'mutant/mutator/node/generic'
require 'mutant/mutator/node/literal'
require 'mutant/mutator/node/literal/boolean'
require 'mutant/mutator/node/literal/range'
require 'mutant/mutator/node/literal/symbol'
require 'mutant/mutator/node/literal/string'
require 'mutant/mutator/node/literal/fixnum'
require 'mutant/mutator/node/literal/float'
require 'mutant/mutator/node/literal/array'
require 'mutant/mutator/node/literal/hash'
require 'mutant/mutator/node/literal/regex'
require 'mutant/mutator/node/literal/nil'
2013-06-04 23:44:17 +02:00
require 'mutant/mutator/node/argument'
require 'mutant/mutator/node/arguments'
2013-09-08 23:08:44 -07:00
require 'mutant/mutator/node/blockarg'
2013-06-04 22:16:04 +02:00
require 'mutant/mutator/node/begin'
require 'mutant/mutator/node/binary'
require 'mutant/mutator/node/const'
2013-09-07 21:28:37 -07:00
require 'mutant/mutator/node/dstr'
2013-09-08 08:17:47 -07:00
require 'mutant/mutator/node/dsym'
2013-11-03 20:51:55 -08:00
require 'mutant/mutator/node/kwbegin'
require 'mutant/mutator/node/named_value/access'
2013-07-23 00:23:21 -07:00
require 'mutant/mutator/node/named_value/constant_assignment'
require 'mutant/mutator/node/named_value/variable_assignment'
require 'mutant/mutator/node/next'
require 'mutant/mutator/node/break'
require 'mutant/mutator/node/noop'
require 'mutant/mutator/node/or_asgn'
require 'mutant/mutator/node/and_asgn'
require 'mutant/mutator/node/defined'
2013-09-07 23:03:25 -07:00
require 'mutant/mutator/node/op_asgn'
require 'mutant/mutator/node/conditional_loop'
2013-11-03 12:37:47 -08:00
require 'mutant/mutator/node/yield'
2013-01-01 23:28:21 +01:00
require 'mutant/mutator/node/super'
2013-07-23 01:02:29 -07:00
require 'mutant/mutator/node/zsuper'
2013-09-07 19:49:55 -07:00
require 'mutant/mutator/node/restarg'
require 'mutant/mutator/node/send'
require 'mutant/mutator/node/send/binary'
require 'mutant/mutator/node/send/attribute_assignment'
require 'mutant/mutator/node/send/index'
require 'mutant/mutator/node/when'
require 'mutant/mutator/node/define'
2013-06-14 20:19:53 +02:00
require 'mutant/mutator/node/mlhs'
2013-08-03 01:36:13 +02:00
require 'mutant/mutator/node/nthref'
require 'mutant/mutator/node/masgn'
require 'mutant/mutator/node/return'
2013-06-14 20:19:53 +02:00
require 'mutant/mutator/node/block'
require 'mutant/mutator/node/if'
2013-06-14 18:22:34 +02:00
require 'mutant/mutator/node/case'
2013-07-15 22:25:09 +02:00
require 'mutant/mutator/node/splat'
require 'mutant/mutator/node/resbody'
require 'mutant/mutator/node/rescue'
require 'mutant/mutator/node/match_current_line'
2013-04-17 20:31:21 -07:00
require 'mutant/loader'
require 'mutant/context'
require 'mutant/scope'
2012-08-01 18:34:03 +02:00
require 'mutant/subject'
2013-01-13 22:25:49 +01:00
require 'mutant/subject/method'
require 'mutant/subject/method/instance'
require 'mutant/subject/method/singleton'
require 'mutant/matcher'
require 'mutant/matcher/config'
require 'mutant/matcher/compiler'
require 'mutant/matcher/chain'
require 'mutant/matcher/method'
require 'mutant/matcher/method/singleton'
require 'mutant/matcher/method/instance'
require 'mutant/matcher/methods'
require 'mutant/matcher/namespace'
require 'mutant/matcher/scope'
2013-09-08 21:58:39 +02:00
require 'mutant/matcher/filter'
2014-02-13 16:47:29 +01:00
require 'mutant/matcher/null'
require 'mutant/matcher/static'
require 'mutant/expression'
require 'mutant/expression/parser'
require 'mutant/expression/method'
require 'mutant/expression/methods'
require 'mutant/expression/namespace'
require 'mutant/test'
2014-06-28 23:04:18 +00:00
require 'mutant/integration'
require 'mutant/selector'
require 'mutant/selector/expression'
require 'mutant/config'
require 'mutant/cli'
2012-08-16 18:02:03 +02:00
require 'mutant/color'
2014-05-11 15:04:11 +00:00
require 'mutant/diff'
2014-07-17 13:59:25 +00:00
require 'mutant/runner'
2014-12-09 00:10:31 +00:00
require 'mutant/runner/sink'
require 'mutant/result'
require 'mutant/reporter'
require 'mutant/reporter/null'
require 'mutant/reporter/sequence'
require 'mutant/reporter/cli'
require 'mutant/reporter/cli/printer'
2015-05-03 00:21:30 +00:00
require 'mutant/reporter/cli/printer/config'
require 'mutant/reporter/cli/printer/env_result'
require 'mutant/reporter/cli/printer/env_progress'
require 'mutant/reporter/cli/printer/mutation_result'
require 'mutant/reporter/cli/printer/mutation_progress_result'
require 'mutant/reporter/cli/printer/subject_progress'
require 'mutant/reporter/cli/printer/subject_result'
require 'mutant/reporter/cli/printer/status'
require 'mutant/reporter/cli/printer/status_progressive'
require 'mutant/reporter/cli/printer/test_result'
require 'mutant/reporter/cli/tput'
require 'mutant/reporter/cli/format'
require 'mutant/repository'
require 'mutant/zombifier'
module Mutant
# Reopen class to initialize constant to avoid dep circle
class Config
DEFAULT = new(
debug: false,
expected_coverage: Rational(1),
expression_parser: Expression::Parser.new([
Expression::Method,
Expression::Methods,
Expression::Namespace::Exact,
Expression::Namespace::Recursive
]),
fail_fast: false,
includes: EMPTY_ARRAY,
integration: Integration::Null,
isolation: Mutant::Isolation::Fork,
jobs: ::Parallel.processor_count,
2015-11-21 22:02:51 +00:00
kernel: Kernel,
load_path: $LOAD_PATH,
matcher: Matcher::Config::DEFAULT,
2015-11-21 22:02:51 +00:00
open3: Open3,
pathname: Pathname,
requires: EMPTY_ARRAY,
reporter: Reporter::CLI.build($stdout),
zombie: false
)
end # Config
end # Mutant