#!/usr/bin/env ruby1.9 | |
require 'pp' | |
patterns = [ | |
/Invalid read of size 1/, | |
/Invalid write of size 1/, | |
/Invalid read of size 1/, | |
/still reachable: [0-9,]+ bytes in 3 blocks/ | |
] | |
lines = STDIN.readlines | |
pp lines | |
result = catch(:done) do | |
patterns.each do |pat| | |
loop do | |
throw(:done, false) if lines.size == 0 | |
line = lines.shift | |
if line =~ pat | |
STDERR.puts "matched #{pat}" | |
break; | |
end | |
end | |
end | |
throw(:done, true) | |
end | |
exit(result ? 0 : 1) |