bin/probe in utils-0.0.16 vs bin/probe in utils-0.0.17

- old
+ new

@@ -1,30 +1,32 @@ #!/usr/bin/env ruby # encoding: UTF-8 require 'spruz/xt' -require 'spruz/go' +require 'spruz/lines_file' include Spruz::GO require 'utils' include Utils def cmd(*args) puts args * ' ' - system *args + exec *args end -filename = ARGV.shift or fail "require filename or filename:linenumber as first argument" +filename = ARGV.shift or fail "require filename or filename:line_number as first argument" $opt = go 'n:' if testname = $opt['n'] cmd "testrb", '-I', 'lib:test:ext', '-n', testname , filename elsif filename =~ /^\s*([^:]+):(\d+)/ - filename, linenumber = $1, $2 - lf = LinesFile.for_filename filename, linenumber + filename, line_number = $1, $2 + lf = Spruz::LinesFile.for_filename filename, line_number.to_i if testname = lf.match_backward(/def\s+(\S+?)(?:\(|\s*$)/).full?(:first) + puts "Running test #{testname.inspect} at #{filename}:#{lf.line_number}" cmd "testrb", '-I', 'lib:test:ext', '-n', testname , filename else - warn "no test found before line #{linenumber}" + warn "no test found before line #{line_number}" exit 1 end else + puts "Running ALL tests in #{filename}" cmd "testrb", '-Ilib:test:ext', filename end