# -*- ruby -*- require 'mkmf' require 'xtemplate' begin require 'xtemplate/yaml' rescue LoadError end RUBY = Config::CONFIG['RUBY_INSTALL_NAME'] PREFIX = Config::CONFIG['exec_prefix'] scripts = Dir.glob("samples/sample[0-9].rb").sort scripts += Dir.glob("samples/sample[0-9][0-9].rb").sort scripts += Dir.glob("samples/sampleX[0-9].rb").sort scripts += Dir.glob("samples/sampleX[0-9][0-9].rb").sort scripts += Dir.glob("samples/test[0-9].rb").sort scripts += Dir.glob("samples/test[0-9][0-9].rb").sort #scripts += Dir.glob("samples/sampleY[0-9].rb").sort #scripts += Dir.glob("samples/sampleY[0-9][0-9].rb").sort def print(*msg) $result << msg.join end def puts(*msg) $result << msg.join("\n") << "\n" end def p(val) $result << val.inspect << "\n" end $time = 0 def time() s_time = Time.now yield() e_time = Time.now d = e_time - s_time $time += d d end n_test = 0 n_fail = 0 scripts.each{|script| if( script =~ /sampleY/ && !defined?(YAML) ) next end n_test += 1 case n_test when 1,2,3,21 XTemplate::use_default_xpath() XTemplate::use_simple_expand() when 4,5,22,23,24,27 XTemplate::use_simple_xpath() XTemplate::use_default_expand() else XTemplate::use_default_xpath() XTemplate::use_default_expand() end result = File.open(script.gsub(/\.rb$/,".out")){|f| f.read} $result = "" t = time{ load script } if( File.exist?("tmp/samples") ) File.open("tmp/#{script.gsub(/\.rb$/,'.out')}","w"){|f| f.write($result)} end result.strip! result.gsub!(/\r?\n/,"") $result.strip! $result.gsub!(/\r?\n/,"") if( result.strip == $result.strip ) $stdout.print("#{script}: ok") else $stdout.print("#{script}: fail") n_fail += 1 end $stdout.print(" #{t}(s) #{$time}(s)\n") } $result = "" time{ load "samples/xpath.rb" } $result.each_line{|line| $stdout.print(line) n_test += 1 if( line =~ /fail(\s*)$/ ) n_fail += 1 end } $stdout.print("\n", "#{n_test} test(s), #{n_fail} fail(s), time #{$time}(s)\n") if( defined?(REXML) ) $stdout.print("(Failure in sample7.rb is expected.)\n") end