[Groonga-commit] groonga/grntest at 51583e2 [master] Support multi-line log message

アーカイブの一覧に戻る

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����������������������������...
ダウンロード 



More information about the Groonga-commit mailing list
アーカイブの一覧に戻る