null+****@clear*****
null+****@clear*****
2012年 5月 21日 (月) 18:42:40 JST
HAYASHI Kentaro 2012-05-21 18:42:40 +0900 (Mon, 21 May 2012) New Revision: b02bd0fc3df175b4ad25e52f397af2da8aca3d0d Log: test: generate .expected file when -e option specified Modified files: test/function/tools/geo/generate-grntest-data.rb Modified: test/function/tools/geo/generate-grntest-data.rb (+45 -2) =================================================================== --- test/function/tools/geo/generate-grntest-data.rb 2012-05-21 13:02:54 +0900 (6e301a3) +++ test/function/tools/geo/generate-grntest-data.rb 2012-05-21 18:42:40 +0900 (fa1b4e7) @@ -17,7 +17,7 @@ LOAD_RESULT = "[[0,0.0,0.0],1]\n" SELECT = "select Geo --output_columns distance " -SELECT_PRE = "[[0,0.0,0.0],[[[1],[[\"_score\",\"Int32\"]],[" +SELECT_PRE = "[[0,0.0,0.0],[[[1],[[\"distance\",\"Int32\"]],[" SELECT_POST = "]]]]" class GrnTestData @@ -414,7 +414,36 @@ class GrnTestData SELECT, scorer, select_postfix) end + def geo_distance(app_type) + 0 + end + def generate_expected_data(app_type) + select_postfix = "" + scorer = sprintf("--scorer 'distance = geo_distance(\"%sx%s\", \"%sx%s\"", + @longitude_start, @latitude_start, + @longitude_end, @latitude_end, app_type) + if app_type == "" + select_postfix = ")'\n" + else + select_postfix = ", \"#{app_type}\")'\n" + end + distance = geo_distance(app_type) unless @distance != "" + [ + TABLE_CREATE, + CREATE_RESULT, + COLUMN_CREATE, + CREATE_RESULT, + LOAD, + LOAD_RESULT, + SELECT, + scorer, + select_postfix, + SELECT_PRE, + distance, + SELECT_POST + ].join + end end @@ -563,7 +592,7 @@ if __FILE__ == $0 end elsif OPTS.has_key?(:csv_data) puts(grndata.generate_new_data(line, type_longitude, quadrant, type, filename)) - elsif OPTS.has_key?(:test) + elsif OPTS.has_key?(:test) or OPTS.has_key?(:expected) app_types.each do |app_type| file_prefix = "" if app_type != "" @@ -592,6 +621,8 @@ if __FILE__ == $0 FileUtils.mkdir_p(File.dirname(test_name)) end + dot_expected = grndata.generate_expected_data(app_type) + if File.exists?(test_name) # duplicated? puts("Warning! [#{i}] #{test_name} duplicated") @@ -603,6 +634,18 @@ if __FILE__ == $0 end test_file.puts(dot_test) end + expected_name = sprintf("%s/%s.expected", + File.dirname(test_name), + File.basename(test_name, ".test")) + if OPTS.has_key?(:expected) + File.open(expected_name, "w+") do |expected_file| + if OPTS.has_key?(:verbose) + puts(expected_name) + puts(dot_expected) + end + expected_file.puts(dot_expected) + end + end end end end