Guest User

Untitled

a guest
Jul 23rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. #
  3. # @file
  4. # @brief ファイルテスト用ユーティリティ
  5. # @author ongaeshi
  6. # @date 2011/02/21
  7. #
  8. #
  9. # 以下のことを自動でやってくれます
  10. #
  11. # 1. tmpディレクトリの作成
  12. # 2. tmpディレクトリに移動
  13. # 3. テスト実行
  14. # 4. 元のディレクトリに戻る
  15. # 5. tmpディレクトリの削除
  16. #
  17. # また、以下の関数が使えます
  18. #
  19. # assert_diff_files(file1, file2)
  20. #
  21. # 二つのファイルが等しい場合はテスト成功
  22. # 失敗した場合は二つのファイルのdiffを表示します
  23.  
  24. require 'pathname'
  25. require 'fileutils'
  26.  
  27. module FileTestUtils
  28. def setup
  29. create_tmp_dir
  30. FileUtils.cd(@tmp_dir.to_s)
  31. end
  32.  
  33. def assert_diff_files(file1, file2)
  34. unless (IO.read(file1) == IO.read(file2))
  35. puts `diff -c #{file1} #{file2}`
  36. assert_equal true, false
  37. else
  38. assert_equal true, true
  39. end
  40. end
  41.  
  42. def teardown
  43. FileUtils.cd(@prev_dir)
  44. FileUtils.rm_rf(@tmp_dir.to_s)
  45. end
  46.  
  47. private
  48.  
  49. def create_tmp_dir
  50. @prev_dir = Dir.pwd
  51. @tmp_dir = Pathname(File.dirname(__FILE__)) + "tmp"
  52. FileUtils.rm_rf(@tmp_dir.to_s)
  53. FileUtils.mkdir_p(@tmp_dir.to_s)
  54. end
  55. end
Add Comment
Please, Sign In to add comment