regression_tester.rb 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env ruby
  2. require 'fileutils'
  3. print("Regression tester 0.0.1\n")
  4. def path_local(from)
  5. return from #from.gsub('/','//')
  6. from.gsub('/','\\\\')
  7. end
  8. TESTS_DIR="./tests"
  9. def perform_test(exepath,filepath,outname,args)
  10. output_path=path_local(TESTS_DIR+"/outputs/"+outname)
  11. exepath=path_local(exepath)
  12. output_path=path_local(output_path)
  13. filepath=path_local(filepath)
  14. joined_args = args.join(' ')
  15. printf("calling:" + "#{exepath} -a1 #{joined_args} -o#{output_path}.a1 #{filepath}\n")
  16. result = `#{exepath} -a1 -o#{output_path}.a1 #{filepath}`
  17. result = `#{exepath} -a2 #{joined_args} -o#{output_path}.a2 #{filepath}`
  18. puts result
  19. p $?
  20. end
  21. `rm -rf #{TESTS_DIR}/outputs/*.*`
  22. #exit(1)
  23. Dir.open(TESTS_DIR+"/inputs").each() {|f|
  24. next if f=="." or f==".."
  25. perform_test(".//"+ARGV[0],TESTS_DIR+"/inputs/"+f,f,ARGV[1..-1])
  26. }
  27. Dir.open(TESTS_DIR+"/inputs").each() {|f|
  28. next if f=="." or f==".."
  29. FileUtils.mv(TESTS_DIR+"/inputs/"+f,TESTS_DIR+"/outputs/"+f) if f.end_with?(".b")
  30. }
  31. puts "**************************************\n"