diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-02 14:10:50 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-02 15:02:16 +0900 |
commit | 92dcee393acc33075b533a2e8f5ea24ee8a5f579 (patch) | |
tree | 19af76f31feb5f9bb57b3885eeda039e04396f5a /test/racc | |
parent | eb043c88881bfa968a289b095518ec196edd47ad (diff) | |
download | ruby-92dcee393acc33075b533a2e8f5ea24ee8a5f579.tar.gz |
Clean up temporary directory for racc
Diffstat (limited to 'test/racc')
-rw-r--r-- | test/racc/helper.rb | 34 | ||||
-rw-r--r-- | test/racc/test_chk_y.rb | 1 | ||||
-rw-r--r-- | test/racc/test_scan_y.rb | 1 |
3 files changed, 17 insertions, 19 deletions
diff --git a/test/racc/helper.rb b/test/racc/helper.rb index e022d1b23e..744c0a7f2e 100644 --- a/test/racc/helper.rb +++ b/test/racc/helper.rb @@ -15,34 +15,30 @@ module Racc test_dir = File.join(PROJECT_DIR, 'test') test_dir = File.join(PROJECT_DIR, 'racc') unless File.exist?(test_dir) TEST_DIR = test_dir - TEMP_DIR = Dir.mktmpdir("racc") racc = File.join(PROJECT_DIR, 'bin', 'racc') racc = File.join(PROJECT_DIR, '..', 'libexec', 'racc') unless File.exist?(racc) RACC = racc - OUT_DIR = File.join(TEMP_DIR, 'out') - TAB_DIR = File.join(TEMP_DIR, 'tab') # generated parsers go here - LOG_DIR = File.join(TEMP_DIR, 'log') - ERR_DIR = File.join(TEMP_DIR, 'err') ASSET_DIR = File.join(TEST_DIR, 'assets') # test grammars REGRESS_DIR = File.join(TEST_DIR, 'regress') # known-good generated outputs - FileUtils.cp File.join(TEST_DIR, "src.intp"), TEMP_DIR - INC = [ File.join(PROJECT_DIR, 'lib'), File.join(PROJECT_DIR, 'ext'), ].join(':') def setup - [OUT_DIR, TAB_DIR, LOG_DIR, ERR_DIR].each do |dir| - FileUtils.mkdir_p(dir) - end + @TEMP_DIR = Dir.mktmpdir("racc") + @OUT_DIR = File.join(@TEMP_DIR, 'out') + @TAB_DIR = File.join(@TEMP_DIR, 'tab') # generated parsers go here + @LOG_DIR = File.join(@TEMP_DIR, 'log') + @ERR_DIR = File.join(@TEMP_DIR, 'err') + FileUtils.mkdir_p([@OUT_DIR, @TAB_DIR, @LOG_DIR, @ERR_DIR]) + FileUtils.cp File.join(TEST_DIR, "src.intp"), @TEMP_DIR end def teardown - [OUT_DIR, TAB_DIR, LOG_DIR, ERR_DIR].each do |dir| - FileUtils.rm_rf(dir) - end + FileUtils.rm_f(File.join(@TEMP_DIR, "src.intp")) + FileUtils.rm_rf([@OUT_DIR, @TAB_DIR, @LOG_DIR, @ERR_DIR, @TEMP_DIR]) end def assert_compile(asset, args = [], **opt) @@ -50,15 +46,15 @@ module Racc args = ([args].flatten) + [ "#{ASSET_DIR}/#{file}.y", '-Do', - "-O#{OUT_DIR}/#{file}", - "-o#{TAB_DIR}/#{file}", + "-O#{@OUT_DIR}/#{file}", + "-o#{@TAB_DIR}/#{file}", ] racc(*args, **opt) end def assert_debugfile(asset, ok) file = File.basename(asset, '.y') - Dir.chdir(LOG_DIR) do + Dir.chdir(@LOG_DIR) do File.foreach("#{file}.y") do |line| line.strip! case line @@ -76,7 +72,7 @@ module Racc def assert_exec(asset) file = File.basename(asset, '.y') - ruby("#{TAB_DIR}/#{file}") + ruby("#{@TAB_DIR}/#{file}") end def strip_version(source) @@ -87,7 +83,7 @@ module Racc file = File.basename(asset, '.y') expected = File.read("#{REGRESS_DIR}/#{file}") - actual = File.read("#{TAB_DIR}/#{file}") + actual = File.read("#{@TAB_DIR}/#{file}") result = (strip_version(expected) == strip_version(actual)) assert(result, "Output of test/assets/#{file}.y differed from " \ @@ -99,7 +95,7 @@ module Racc end def ruby(*arg, **opt) - assert_ruby_status(["-C", TEMP_DIR, *arg], **opt) + assert_ruby_status(["-C", @TEMP_DIR, *arg], **opt) end end end diff --git a/test/racc/test_chk_y.rb b/test/racc/test_chk_y.rb index cabad15725..bb8b6b4fe3 100644 --- a/test/racc/test_chk_y.rb +++ b/test/racc/test_chk_y.rb @@ -3,6 +3,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'helper')) module Racc class TestChkY < TestCase def setup + super file = File.join(ASSET_DIR, 'chk.y') @debug_flags = Racc::DebugFlags.parse_option_string('o') parser = Racc::GrammarFileParser.new(@debug_flags) diff --git a/test/racc/test_scan_y.rb b/test/racc/test_scan_y.rb index b5f9593654..4c60119119 100644 --- a/test/racc/test_scan_y.rb +++ b/test/racc/test_scan_y.rb @@ -3,6 +3,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'helper')) module Racc class TestScanY < TestCase def setup + super file = File.join(ASSET_DIR, 'scan.y') @debug_flags = Racc::DebugFlags.parse_option_string('o') parser = Racc::GrammarFileParser.new(@debug_flags) |