summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-02 14:10:50 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-02 15:02:16 +0900
commit92dcee393acc33075b533a2e8f5ea24ee8a5f579 (patch)
tree19af76f31feb5f9bb57b3885eeda039e04396f5a
parenteb043c88881bfa968a289b095518ec196edd47ad (diff)
Clean up temporary directory for racc
-rw-r--r--test/racc/helper.rb34
-rw-r--r--test/racc/test_chk_y.rb1
-rw-r--r--test/racc/test_scan_y.rb1
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)