refactor, 'tmp_dir',... -> Runner class
the methods 'tmp_dir', 'tmp_work_dir' and 'tmp_cmdtest_dir' are needed in 'cmdtest.rb' too, so moving them to the Runner class.
This commit is contained in:
@ -263,6 +263,8 @@ module Cmdtest
|
|||||||
|
|
||||||
attr_reader :opts, :orig_cwd, :method_filter
|
attr_reader :opts, :orig_cwd, :method_filter
|
||||||
|
|
||||||
|
ORIG_CWD = Dir.pwd
|
||||||
|
|
||||||
def initialize(project_dir, incremental, opts)
|
def initialize(project_dir, incremental, opts)
|
||||||
@project_dir = project_dir
|
@project_dir = project_dir
|
||||||
@opts = opts
|
@opts = opts
|
||||||
@ -281,6 +283,26 @@ module Cmdtest
|
|||||||
@project_dir.test_files_top
|
@project_dir.test_files_top
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#----------
|
||||||
|
|
||||||
|
def tmp_cmdtest_dir
|
||||||
|
File.join(ORIG_CWD, "tmp-cmdtest-%d" % [$cmdtest_level])
|
||||||
|
end
|
||||||
|
|
||||||
|
def tmp_dir
|
||||||
|
if ! @opts.slave
|
||||||
|
File.join(tmp_cmdtest_dir, "top")
|
||||||
|
else
|
||||||
|
File.join(tmp_cmdtest_dir, @opts.slave)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def tmp_work_dir
|
||||||
|
File.join(tmp_dir, "work")
|
||||||
|
end
|
||||||
|
|
||||||
|
#----------
|
||||||
|
|
||||||
def run(clog)
|
def run(clog)
|
||||||
@orig_cwd = Dir.pwd
|
@orig_cwd = Dir.pwd
|
||||||
ENV["PATH"] = Dir.pwd + _path_separator + ENV["PATH"]
|
ENV["PATH"] = Dir.pwd + _path_separator + ENV["PATH"]
|
||||||
@ -410,6 +432,7 @@ module Cmdtest
|
|||||||
pr.add("", "--xml", "write summary on JUnit format", type: String, metavar: "FILE")
|
pr.add("", "--xml", "write summary on JUnit format", type: String, metavar: "FILE")
|
||||||
pr.add("", "--no-exit-code", "exit with 0 status even after errors")
|
pr.add("", "--no-exit-code", "exit with 0 status even after errors")
|
||||||
pr.add("-i", "--incremental", "incremental mode")
|
pr.add("-i", "--incremental", "incremental mode")
|
||||||
|
pr.add("", "--slave", "run in slave mode", type: String)
|
||||||
pr.addpos("arg", "testfile or pattern", nargs: 0..999)
|
pr.addpos("arg", "testfile or pattern", nargs: 0..999)
|
||||||
return pr.parse_args(ARGV, patterns: [], ruby_s: Util.windows?)
|
return pr.parse_args(ARGV, patterns: [], ruby_s: Util.windows?)
|
||||||
end
|
end
|
||||||
|
@ -70,7 +70,7 @@ module Cmdtest
|
|||||||
@_clog = clog
|
@_clog = clog
|
||||||
@_runner = runner
|
@_runner = runner
|
||||||
@_work_dir = Workdir.new(self, runner)
|
@_work_dir = Workdir.new(self, runner)
|
||||||
@_cwd = self.tmp_work_dir
|
@_cwd = @_runner.tmp_work_dir
|
||||||
@_env = Hash.new
|
@_env = Hash.new
|
||||||
@_in_cmd = false
|
@_in_cmd = false
|
||||||
@_comment_str = nil
|
@_comment_str = nil
|
||||||
@ -78,24 +78,6 @@ module Cmdtest
|
|||||||
@_t1 = @_t2 = 0
|
@_t1 = @_t2 = 0
|
||||||
end
|
end
|
||||||
|
|
||||||
#------------------------------
|
|
||||||
|
|
||||||
def tmp_cmdtest_dir
|
|
||||||
File.join(ORIG_CWD, "tmp-cmdtest-%d" % [$cmdtest_level])
|
|
||||||
end
|
|
||||||
|
|
||||||
def tmp_dir
|
|
||||||
if @_runner.opts.parallel == 1
|
|
||||||
File.join(tmp_cmdtest_dir, "top")
|
|
||||||
else
|
|
||||||
File.join(tmp_cmdtest_dir, @_test_method.as_filename)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def tmp_work_dir
|
|
||||||
File.join(tmp_dir, "work")
|
|
||||||
end
|
|
||||||
|
|
||||||
#------------------------------
|
#------------------------------
|
||||||
# Import file into the "workdir" from the outside world.
|
# Import file into the "workdir" from the outside world.
|
||||||
# The source is found relative to the current directory when "cmdtest"
|
# The source is found relative to the current directory when "cmdtest"
|
||||||
@ -788,7 +770,7 @@ module Cmdtest
|
|||||||
#------------------------------
|
#------------------------------
|
||||||
|
|
||||||
def _wait_for_new_second
|
def _wait_for_new_second
|
||||||
Util.wait_for_new_second(tmp_dir, tmp_work_dir)
|
Util.wait_for_new_second(@_runner.tmp_dir, @_runner.tmp_work_dir)
|
||||||
end
|
end
|
||||||
|
|
||||||
#------------------------------
|
#------------------------------
|
||||||
|
@ -33,8 +33,8 @@ module Cmdtest
|
|||||||
def initialize(testcase, runner)
|
def initialize(testcase, runner)
|
||||||
@testcase = testcase
|
@testcase = testcase
|
||||||
@runner = runner
|
@runner = runner
|
||||||
@path = @testcase.tmp_work_dir
|
@path = @runner.tmp_work_dir
|
||||||
@hardlinkdir = File.join(testcase.tmp_dir, "hardlinks")
|
@hardlinkdir = File.join(@runner.tmp_dir, "hardlinks")
|
||||||
FileUtils.rm_rf(@path)
|
FileUtils.rm_rf(@path)
|
||||||
FileUtils.rm_rf(@hardlinkdir)
|
FileUtils.rm_rf(@hardlinkdir)
|
||||||
FileUtils.mkdir_p(@path)
|
FileUtils.mkdir_p(@path)
|
||||||
@ -64,7 +64,7 @@ module Cmdtest
|
|||||||
end
|
end
|
||||||
|
|
||||||
def _tmp_redirect_sh
|
def _tmp_redirect_sh
|
||||||
File.join(@testcase.tmp_dir,
|
File.join(@runner.tmp_dir,
|
||||||
Util.windows? ? "tmp-redirect.bat" : "tmp-redirect.sh")
|
Util.windows? ? "tmp-redirect.bat" : "tmp-redirect.sh")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ module Cmdtest
|
|||||||
end
|
end
|
||||||
|
|
||||||
def _tmp_command_sh
|
def _tmp_command_sh
|
||||||
File.join(@testcase.tmp_dir, _tmp_command_name)
|
File.join(@runner.tmp_dir, _tmp_command_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def _tmp_stdout_name
|
def _tmp_stdout_name
|
||||||
@ -85,11 +85,11 @@ module Cmdtest
|
|||||||
end
|
end
|
||||||
|
|
||||||
def _tmp_stdout_log
|
def _tmp_stdout_log
|
||||||
File.join(@testcase.tmp_dir, _tmp_stdout_name)
|
File.join(@runner.tmp_dir, _tmp_stdout_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def _tmp_stderr_log
|
def _tmp_stderr_log
|
||||||
File.join(@testcase.tmp_dir, _tmp_stderr_name)
|
File.join(@runner.tmp_dir, _tmp_stderr_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def _ENV_strs(env)
|
def _ENV_strs(env)
|
||||||
|
Reference in New Issue
Block a user