Module: Mutineer
- Defined in:
- lib/mutineer.rb,
lib/mutineer/cli.rb,
lib/mutineer/config.rb,
lib/mutineer/parser.rb,
lib/mutineer/result.rb,
lib/mutineer/runner.rb,
lib/mutineer/pairing.rb,
lib/mutineer/project.rb,
lib/mutineer/subject.rb,
lib/mutineer/version.rb,
lib/mutineer/baseline.rb,
lib/mutineer/mutation.rb,
lib/mutineer/progress.rb,
lib/mutineer/reporter.rb,
lib/mutineer/file_swap.rb,
lib/mutineer/isolation.rb,
lib/mutineer/mutant_id.rb,
lib/mutineer/worker_pool.rb,
lib/mutineer/child_stdout.rb,
lib/mutineer/coverage_map.rb,
lib/mutineer/project_path.rb,
lib/mutineer/test_runners.rb,
lib/mutineer/changed_lines.rb,
lib/mutineer/daemon_client.rb,
lib/mutineer/daemon_server.rb,
lib/mutineer/mutators/base.rb,
lib/mutineer/daemon_backend.rb,
lib/mutineer/rails_worker_db.rb,
lib/mutineer/external_backend.rb,
lib/mutineer/mutator_registry.rb,
lib/mutineer/test_runners/rspec.rb,
lib/mutineer/mutators/arithmetic.rb,
lib/mutineer/mutators/chain_link.rb,
lib/mutineer/mutators/comparison.rb,
lib/mutineer/mutators/return_nil.rb,
lib/mutineer/minitest_integration.rb,
lib/mutineer/test_runners/minitest.rb,
lib/mutineer/mutators/array_literal.rb,
lib/mutineer/mutators/range_literal.rb,
lib/mutineer/mutators/regex_literal.rb,
lib/mutineer/mutators/string_literal.rb,
lib/mutineer/mutators/boolean_literal.rb,
lib/mutineer/mutators/operand_removal.rb,
lib/mutineer/mutators/safe_navigation.rb,
lib/mutineer/mutators/literal_mutation.rb,
lib/mutineer/mutators/negation_removal.rb,
lib/mutineer/mutators/boolean_connector.rb,
lib/mutineer/mutators/collection_method.rb,
lib/mutineer/mutators/condition_forcing.rb,
lib/mutineer/mutators/statement_removal.rb,
lib/mutineer/mutators/condition_negation.rb,
lib/mutineer/mutators/operator_assignment.rb,
lib/mutineer/minitest_integration/stop_at_first_failure.rb
Overview
No require_relative "runner" on purpose: runner.rb requires this file, and the reverse edge makes Ruby warn "circular require considered harmful" on every -w load. Runner is loaded first on every real path; requiring this file alone leaves it undefined. Rationale and the real fix: #75.
Defined Under Namespace
Modules: ChangedLines, ChildStdout, DaemonBackend, DaemonServer, ExternalBackend, FileSwap, MutantId, Mutators, Pairing, ProjectPath, RailsWorkerDb, TestRunners Classes: AggregateResult, Baseline, CLI, ConcurrentRunError, Config, ConfigError, ConfigOption, CoverageMap, DaemonBootError, DaemonClient, FrameworkUnavailable, Isolation, MinitestIntegration, Mutation, MutatorRegistry, ParseError, Parser, Progress, Project, Reporter, Result, Runner, SmokeCheckError, Subject, WorkerPool
Constant Summary collapse
- STRATEGY_ALIASES =
Deprecated internal strategy names, mapped to their canonical equivalents.
{ "7a" => "reload", "7b" => "redefine" }.freeze
- CONFIG_OPTIONS =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
The option schema. Config.parse is the only place that turns a raw value (a CLI string or a YAML scalar) into a typed one, so a value is checked once, at the boundary, whichever layer wrote it. Row order fixes the order of KNOWN_KEYS in warnings.
[ ConfigOption.new(field: :operators, type: :string_list, yaml_key: "operators", flag: "--operators"), ConfigOption.new(field: :jobs, type: :positive_int, yaml_key: "jobs", flag: "--jobs"), ConfigOption.new(field: :threshold, type: :percent, yaml_key: "threshold", flag: "--threshold"), ConfigOption.new(field: :only, type: :string, yaml_key: "only", flag: "--only"), ConfigOption.new(field: :require_paths, type: :string_list, yaml_key: "require"), ConfigOption.new(field: :boot, type: :string, yaml_key: "boot", flag: "--boot"), ConfigOption.new(field: :rails, type: :bool, yaml_key: "rails", flag: "--rails"), ConfigOption.new(field: :since, type: :since, yaml_key: "since", flag: "--since"), ConfigOption.new(field: :framework, type: :enum, yaml_key: "framework", flag: "--framework", values: %w[minitest rspec]), ConfigOption.new(field: :verbose, type: :bool, yaml_key: "verbose", flag: "--verbose"), ConfigOption.new(field: :ignore, type: :string_list, yaml_key: "ignore"), ConfigOption.new(field: :baseline, type: :string, yaml_key: "baseline", flag: "--baseline"), ConfigOption.new(field: :fail_fast, type: :bool, yaml_key: "fail_fast", flag: "--fail-fast"), ConfigOption.new(field: :test_command, type: :string, yaml_key: "test_command", flag: "--test-command"), ConfigOption.new(field: :daemon, type: :bool, yaml_key: "daemon", flag: "--daemon"), ConfigOption.new(field: :format, type: :enum, flag: "--format", values: %w[human json html]), ConfigOption.new(field: :strategy, type: :enum, flag: "--strategy", values: %w[reload redefine], aliases: STRATEGY_ALIASES), ConfigOption.new(field: :output, type: :string, flag: "--output"), ConfigOption.new(field: :baseline_epsilon, type: :nonneg_float, flag: "--baseline-epsilon"), ConfigOption.new(field: :dry_run, type: :bool, flag: "--dry-run") ].freeze
- VERSION =
Current Mutineer release version.
"1.4.0"