Module: Testprune

Defined in:
lib/testprune.rb,
lib/testprune/cli.rb,
lib/testprune/report.rb,
lib/testprune/runner.rb,
lib/testprune/version.rb,
lib/testprune/analysis.rb,
lib/testprune/baseline.rb,
lib/testprune/recorder.rb,
lib/testprune/footprint.rb,
lib/testprune/test_body.rb,
lib/testprune/patch_writer.rb,
lib/testprune/safety_check.rb,
lib/testprune/semantic_map.rb,
lib/testprune/configuration.rb,
lib/testprune/adapters/rspec.rb,
lib/testprune/coverage_delta.rb,
lib/testprune/adapters/minitest.rb,
lib/testprune/savings_estimator.rb,
lib/testprune/duplication_detector.rb

Defined Under Namespace

Modules: Adapters, Baseline, CoverageDelta, TestBody Classes: Analysis, CLI, Candidate, Configuration, DetectorResult, DuplicationDetector, Error, Footprint, PatchWriter, Recorder, Report, Runner, SafetyCheck, SavingsEstimator, SemanticIndex, SemanticMap

Constant Summary collapse

VERSION =
'0.3.0'
OVERLAP_SIZE_LIMIT =

Detects duplicate/redundant tests from semantic footprints. Each removable candidate is justified by a retained keeper whose coverage is a superset (or equal), which the SafetyCheck then re-verifies against cascading gaps. Above this many post-identical/subset footprints, skip O(n²) overlap detection and log a warning. ~500 yields ~125k pairs which is acceptable; 2000+ becomes unusably slow on large suites.

500

Class Method Summary collapse

Class Method Details

.configObject



10
11
12
# File 'lib/testprune.rb', line 10

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



14
15
16
# File 'lib/testprune.rb', line 14

def configure
  yield config
end