minitest-bisect 1.2.1 → 1.2.2
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +7 -0
- data/Rakefile +9 -7
- data/example-many/helper.rb +1 -1
- data/example/helper.rb +1 -1
- data/lib/minitest/bisect.rb +16 -9
- data/lib/minitest/find_minimal_combination.rb +2 -2
- data/test/minitest/test_bisect.rb +1 -1
- data/test/minitest/test_find_minimal_combination.rb +0 -1
- metadata +20 -8
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b52e433884ec629aed62043f342ebf6f21e1ec65
         | 
| 4 | 
            +
              data.tar.gz: f90ecba8f0fde0d17d02cc20f3740e01fc005290
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0cd4cc3115649a5bf7561dee93ee904e12e67beaf23ed45e3f2c095698a7446f8b86af271943c582ab80f7a95a13e50c97aba81b4879eeec22df8bc2a4928a2b
         | 
| 7 | 
            +
              data.tar.gz: 083bdeab31eab71bcfa7a48842963ea3a4d8103a785b9373eee96ba65e8f0e86d55dad4065b0c40f5843efc6ee1f8ebe0ceb2e9b59e720775fb5e5b176e4d9e4
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/History.rdoc
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -13,6 +13,7 @@ Hoe.spec "minitest-bisect" do | |
| 13 13 | 
             
              developer "Ryan Davis", "ryand-ruby@zenspider.com"
         | 
| 14 14 | 
             
              license "MIT"
         | 
| 15 15 |  | 
| 16 | 
            +
              dependency "rake", "> 0", :development
         | 
| 16 17 | 
             
              dependency "minitest-server", "~> 1.0"
         | 
| 17 18 | 
             
            end
         | 
| 18 19 |  | 
| @@ -28,11 +29,12 @@ def banner text | |
| 28 29 | 
             
              puts "# #{text} ::"
         | 
| 29 30 | 
             
              puts "#" * 70
         | 
| 30 31 | 
             
              puts
         | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
               | 
| 32 | 
            +
             | 
| 33 | 
            +
              return if ENV["SLEEP"] == "0"
         | 
| 34 | 
            +
             | 
| 35 | 
            +
              print "Press return to continue "
         | 
| 36 | 
            +
              $stdin.gets
         | 
| 37 | 
            +
              puts
         | 
| 36 38 | 
             
            end
         | 
| 37 39 |  | 
| 38 40 | 
             
            def run cmd
         | 
| @@ -44,7 +46,7 @@ def req glob | |
| 44 46 | 
             
            end
         | 
| 45 47 |  | 
| 46 48 | 
             
            task :repro do
         | 
| 47 | 
            -
              unless ENV. | 
| 49 | 
            +
              unless ENV.key? "SLEEP" then
         | 
| 48 50 | 
             
                warn "NOTE: Defaulting to sleeping 0.01 seconds per test."
         | 
| 49 51 | 
             
                warn "NOTE: Use SLEEP=0 to disable or any other value to simulate your tests."
         | 
| 50 52 | 
             
              end
         | 
| @@ -59,7 +61,7 @@ task :repro do | |
| 59 61 | 
             
            end
         | 
| 60 62 |  | 
| 61 63 | 
             
            task :many do
         | 
| 62 | 
            -
              unless ENV. | 
| 64 | 
            +
              unless ENV.key? "SLEEP" then
         | 
| 63 65 | 
             
                warn "NOTE: Defaulting to sleeping 0.01 seconds per test."
         | 
| 64 66 | 
             
                warn "NOTE: Use SLEEP=0 to disable or any other value to simulate your tests."
         | 
| 65 67 | 
             
              end
         | 
    
        data/example-many/helper.rb
    CHANGED
    
    
    
        data/example/helper.rb
    CHANGED
    
    
    
        data/lib/minitest/bisect.rb
    CHANGED
    
    | @@ -1,11 +1,18 @@ | |
| 1 1 | 
             
            require "minitest/find_minimal_combination"
         | 
| 2 2 | 
             
            require "minitest/server"
         | 
| 3 3 | 
             
            require "shellwords"
         | 
| 4 | 
            +
            require "rbconfig"
         | 
| 4 5 |  | 
| 5 6 | 
             
            class Minitest::Bisect
         | 
| 6 | 
            -
              VERSION = "1.2. | 
| 7 | 
            +
              VERSION = "1.2.2"
         | 
| 7 8 |  | 
| 8 | 
            -
              SHH = ENV["MTB_VERBOSE"].to_i >= 2 ? nil : "  | 
| 9 | 
            +
              SHH = ENV["MTB_VERBOSE"].to_i >= 2 ? nil : " > /dev/null 2>&1"
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              # Borrowed from rake
         | 
| 12 | 
            +
              RUBY = ENV['RUBY'] ||
         | 
| 13 | 
            +
                File.join(RbConfig::CONFIG['bindir'],
         | 
| 14 | 
            +
                          RbConfig::CONFIG['ruby_install_name'] +
         | 
| 15 | 
            +
                            RbConfig::CONFIG['EXEEXT']).sub(/.*\s.*/m, '"\&"')
         | 
| 9 16 |  | 
| 10 17 | 
             
              attr_accessor :tainted, :failures, :culprits, :mode, :seen_bad
         | 
| 11 18 | 
             
              alias :tainted? :tainted
         | 
| @@ -16,7 +23,7 @@ class Minitest::Bisect | |
| 16 23 |  | 
| 17 24 | 
             
              def initialize
         | 
| 18 25 | 
             
                self.culprits = []
         | 
| 19 | 
            -
                self.failures = Hash.new { |h,k| h[k] = Hash.new { |h2,k2| h2[k2] = [] } }
         | 
| 26 | 
            +
                self.failures = Hash.new { |h, k| h[k] = Hash.new { |h2, k2| h2[k2] = [] } }
         | 
| 20 27 | 
             
              end
         | 
| 21 28 |  | 
| 22 29 | 
             
              def reset
         | 
| @@ -109,9 +116,9 @@ class Minitest::Bisect | |
| 109 116 | 
             
              def build_files_cmd culprits, rb, mt
         | 
| 110 117 | 
             
                reset
         | 
| 111 118 |  | 
| 112 | 
            -
                tests = culprits.flatten.compact.map {|f| %(require "./#{f}")}.join " ; "
         | 
| 119 | 
            +
                tests = culprits.flatten.compact.map { |f| %(require "./#{f}") }.join " ; "
         | 
| 113 120 |  | 
| 114 | 
            -
                %( | 
| 121 | 
            +
                %(#{RUBY} #{rb.shelljoin} -e '#{tests}' -- #{mt.map(&:to_s).shelljoin})
         | 
| 115 122 | 
             
              end
         | 
| 116 123 |  | 
| 117 124 | 
             
              def build_methods_cmd cmd, culprits = [], bad = nil
         | 
| @@ -163,9 +170,9 @@ class Minitest::Bisect | |
| 163 170 | 
             
                  end
         | 
| 164 171 | 
             
                end
         | 
| 165 172 |  | 
| 166 | 
            -
                 | 
| 167 | 
            -
             | 
| 168 | 
            -
             | 
| 169 | 
            -
                 | 
| 173 | 
            +
                return if fails.empty?
         | 
| 174 | 
            +
             | 
| 175 | 
            +
                self.tainted = true
         | 
| 176 | 
            +
                self.failures[file][klass] << method
         | 
| 170 177 | 
             
              end
         | 
| 171 178 | 
             
            end
         | 
| @@ -40,7 +40,7 @@ class ComboFinder | |
| 40 40 |  | 
| 41 41 | 
             
                  d
         | 
| 42 42 | 
             
                  d "# new round!"
         | 
| 43 | 
            -
                  d "#   of subsections in this round: #{subsections.size}"
         | 
| 43 | 
            +
                  d "#   of subsections in this round: #{subsections.to_a.size}"
         | 
| 44 44 | 
             
                  d
         | 
| 45 45 |  | 
| 46 46 | 
             
                  found = subsections.find { |a|
         | 
| @@ -79,7 +79,7 @@ class ComboFinder | |
| 79 79 | 
             
                ary
         | 
| 80 80 | 
             
              end
         | 
| 81 81 |  | 
| 82 | 
            -
              def d s=""
         | 
| 82 | 
            +
              def d s = ""
         | 
| 83 83 | 
             
                warn s if ENV["MTB_DEBUG"]
         | 
| 84 84 | 
             
              end
         | 
| 85 85 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: minitest-bisect
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2. | 
| 4 | 
            +
              version: 1.2.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ryan Davis
         | 
| @@ -29,7 +29,7 @@ cert_chain: | |
| 29 29 | 
             
              xJcC6UN6NHMOVMyAXsr2HR0gRRx4ofN1LoP2KhXzSr8UMvQYlwPmE0N5GQv1b5AO
         | 
| 30 30 | 
             
              VpzF30vNaJK6ZT7xlIsIlwmH
         | 
| 31 31 | 
             
              -----END CERTIFICATE-----
         | 
| 32 | 
            -
            date:  | 
| 32 | 
            +
            date: 2015-04-27 00:00:00.000000000 Z
         | 
| 33 33 | 
             
            dependencies:
         | 
| 34 34 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 35 35 | 
             
              name: minitest-server
         | 
| @@ -51,14 +51,14 @@ dependencies: | |
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ~>
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: '5. | 
| 54 | 
            +
                    version: '5.6'
         | 
| 55 55 | 
             
              type: :development
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 57 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 59 | 
             
                - - ~>
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: '5. | 
| 61 | 
            +
                    version: '5.6'
         | 
| 62 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 63 | 
             
              name: rdoc
         | 
| 64 64 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -73,6 +73,20 @@ dependencies: | |
| 73 73 | 
             
                - - ~>
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 75 | 
             
                    version: '4.0'
         | 
| 76 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 77 | 
            +
              name: rake
         | 
| 78 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - '>'
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: '0'
         | 
| 83 | 
            +
              type: :development
         | 
| 84 | 
            +
              prerelease: false
         | 
| 85 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 86 | 
            +
                requirements:
         | 
| 87 | 
            +
                - - '>'
         | 
| 88 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            +
                    version: '0'
         | 
| 76 90 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 77 91 | 
             
              name: hoe
         | 
| 78 92 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -160,11 +174,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 160 174 | 
             
                  version: '0'
         | 
| 161 175 | 
             
            requirements: []
         | 
| 162 176 | 
             
            rubyforge_project: 
         | 
| 163 | 
            -
            rubygems_version: 2.4. | 
| 177 | 
            +
            rubygems_version: 2.4.5
         | 
| 164 178 | 
             
            signing_key: 
         | 
| 165 179 | 
             
            specification_version: 4
         | 
| 166 180 | 
             
            summary: Hunting down random test failures can be very very difficult, sometimes impossible,
         | 
| 167 181 | 
             
              but minitest-bisect makes it easy
         | 
| 168 | 
            -
            test_files:
         | 
| 169 | 
            -
            - test/minitest/test_bisect.rb
         | 
| 170 | 
            -
            - test/minitest/test_find_minimal_combination.rb
         | 
| 182 | 
            +
            test_files: []
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |