Kouhei Sutou
null+****@clear*****
Sun Sep 28 12:37:05 JST 2014
Kouhei Sutou 2014-09-28 12:37:05 +0900 (Sun, 28 Sep 2014) New Revision: 51583e2a55fb03cc32bf360afc89692881c34249 https://github.com/groonga/grntest/commit/51583e2a55fb03cc32bf360afc89692881c34249 Message: Support multi-line log message GitHub: fix #2 Requested by Naoya Murakami. Thanks!!! Modified files: lib/grntest/executors/base-executor.rb lib/grntest/test-runner.rb Modified: lib/grntest/executors/base-executor.rb (+7 -10) =================================================================== --- lib/grntest/executors/base-executor.rb 2014-09-28 12:34:19 +0900 (4630c4e) +++ lib/grntest/executors/base-executor.rb 2014-09-28 12:37:05 +0900 (951f40b) @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- -# -# Copyright (C) 2012-2013 Kouhei Sutou <kou �� clear-code.com> +# Copyright (C) 2012-2014 Kouhei Sutou <kou �� clear-code.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,6 +20,7 @@ require "shellwords" require "groonga/command/parser" require "grntest/error" +require "grntest/log-parser" require "grntest/execution-context" require "grntest/response-parser" @@ -273,13 +272,11 @@ module Grntest def extract_important_messages(log) important_messages = [] - log.each_line do |line| - timestamp, log_level, message = line.split(/\|\s*/, 3) - _ = timestamp # suppress warning - message = message.chomp - next unless important_log_level?(log_level) - next if backtrace_log_message?(message) - important_messages << "\#|#{log_level}| #{message}" + parser = LogParser.new + parser.parse(log) do |entry| + next unless important_log_level?(entry.log_level) + next if backtrace_log_message?(entry.message) + important_messages << "\#|#{entry.log_level}| #{entry.message}" end important_messages.join("\n") end Modified: lib/grntest/test-runner.rb (+5 -7) =================================================================== --- lib/grntest/test-runner.rb 2014-09-28 12:34:19 +0900 (b2a1f14) +++ lib/grntest/test-runner.rb 2014-09-28 12:37:05 +0900 (d575e4d) @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- -# -# Copyright (C) 2012-2013 Kouhei Sutou <kou �� clear-code.com> +# Copyright (C) 2012-2014 Kouhei Sutou <kou �� clear-code.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,6 +20,7 @@ require "tempfile" require "json" require "grntest/error" +require "grntest/log-parser" require "grntest/executors" require "grntest/base-result" @@ -549,10 +548,9 @@ EOF end def check_memory_leak(context) - context.log.each_line do |line| - timestamp, log_level, message = line.split(/\|\s*/, 3) - _ = timestamp # suppress warning - next unless /^grn_fin \((\d+)\)$/ =~ message + parser = LogParser.new + parser.parse(context.log) do |entry| + next unless /^grn_fin \((\d+)\)$/ =~ entry.message n_leaked_objects = $1.to_i next if n_leaked_objects.zero? context.result << [:n_leaked_objects, n_leaked_objects, {}] -------------- next part -------------- HTML����������������������������... ダウンロード