null+****@clear*****
null+****@clear*****
2012年 3月 2日 (金) 17:00:07 JST
Kouhei Sutou 2012-03-02 17:00:07 +0900 (Fri, 02 Mar 2012) New Revision: e0193804792651fd93a5f5c5d1977b5b91c6f492 Log: Extract common codes Modified files: bin/groonga-test Modified: bin/groonga-test (+21 -12) =================================================================== --- bin/groonga-test 2012-03-02 16:54:30 +0900 (b6125cf) +++ bin/groonga-test 2012-03-02 17:00:07 +0900 (a84b315) @@ -42,7 +42,7 @@ class GroongaTester run_test(target_path) end end - report + report_summary end private @@ -58,16 +58,7 @@ class GroongaTester puts("[pass]") else puts("[failed]") - expected_result_file = Tempfile.new("groonga-test-expected") - expected_result_file.print(expected_result) - expected_result_file.close - actual_result_file = Tempfile.new("groonga-test-actual") - actual_result_file.print(actual_result) - actual_result_file.close - diff_options = @diff_options - diff_options.concat(["--label", "(expected)", expected_result_file.path, - "--label", "(actual)", actual_result_file.path]) - system(@diff, *diff_options) + report_diff(expected_result, actual_result) @failed_tests << test_name end else @@ -76,7 +67,18 @@ class GroongaTester end end - def report + def report_diff(expected_result, actual_result) + create_temporary_file("expected", expected_result) do |expected_result_file| + create_temporary_file("actual", actual_result) do |actual_result_file| + diff_options = @diff_options.dup + diff_options.concat(["--label", "(expected)", expected_result_file.path, + "--label", "(actual)", actual_result_file.path]) + system(@diff, *diff_options) + end + end + end + + def report_summary end def run_groonga_script(script_path) @@ -108,6 +110,13 @@ class GroongaTester end end + def create_temporary_file(key, content) + file = Tempfile.new("groonga-test-#{key}") + file.print(content) + file.close + yield file + end + def run_groonga(db_path) IO.popen([@groonga, "-n", db_path], "r+") do |io| begin