| #!/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) |