3 # $Header: /cvsroot/pgpool/pgpool-II/test/parser/run-test,v 1.2 2007/10/03 04:52:26 y-asaba Exp $
6 # Usage¡§./run-test schedule
7 # ignore a line at the beginning of '#'
10 INPUT_DIRECTORY="input"
11 EXPECTED_DIRECTORY="expected"
12 RESULT_DIRECTORY="result"
13 TEST_PROGRAM="./parser-test"
17 str.gsub(/([\$\"\\])/) { "\\" + $1 }
21 STDERR.puts "run-test schedule_file"
26 if !(File.exists? file)
27 STDERR.puts "run-test: file does not exist: #{file}"
31 if !(File.exists? RESULT_DIRECTORY)
32 Dir.mkdir RESULT_DIRECTORY
34 Dir["#{RESULT_DIRECTORY}/*.out"].each do |f|
39 File.unlink DIFF_FILE if File.exists? DIFF_FILE
42 IO.foreach(file) do |testcase|
44 if (/^\#/ =~ testcase or testcase == "")
48 print "testcase #{testcase}:\t"
50 IO.foreach("#{INPUT_DIRECTORY}/#{testcase}.sql") do |test_sql|
52 system("#{TEST_PROGRAM} \"#{escape_string(test_sql)}\" >> #{RESULT_DIRECTORY}/#{testcase}.out\n")
55 system("diff -c #{EXPECTED_DIRECTORY}/#{testcase}.out #{RESULT_DIRECTORY}/#{testcase}.out >> #{DIFF_FILE}")