Class: Clitest::Cmdline
- Inherits:
-
Object
- Object
- Clitest::Cmdline
- Defined in:
- lib/clitest/cmdline.rb
Overview
コマンドラインテスト用のコマンドライン作成クラス
Constant Summary collapse
- CMD =
実行ファイルを呼び出すシェルスクリプトのファイル名 シェルスクリプトの引数
test_root_dir: 実行ファイルを呼び出す時のディレクトリのルートディレクトリ(このディレクトリのサブディレクトリで呼び出す) result_file: 実行ファイルの実行結果を格納するファイルの名前 target_cmd: 実行ファイルの名前(ここで指定した名前で実行ファイルを呼び出せる必要がある-絶対パスまたは環境変数PATHでパスが指定されていること) target_dir: 実行ファイルを呼び出すときのディレクトリ(test_root_dirからの相対パス)
"clitest"
Instance Attribute Summary collapse
-
#test_cmd_path_pn ⇒ Pathname
readonly
実行ファイルを呼び出すシェルスクリプトへのパス.
Instance Method Summary collapse
-
#initialize(bin_dir, cmd_name, test_dir, *target_cmds) ⇒ Cmdline
constructor
コマンドラインテスト用のコマンドライン作成クラスのコンストラクタ.
-
#make_cmdline(cmd_index, target_dir, result_file, optionx, *param_names) ⇒ String
実行ファイル番号による実行ファイル用コマンドライン作成.
-
#make_cmdline_1(target_dir, result_file, optionx, *param_names) ⇒ String
1番目の実行ファイル用コマンドライン作成.
-
#make_cmdline_2(target_dir, result_file, optionx, *param_names) ⇒ String
2番目の実行ファイル用コマンドライン作成.
-
#make_cmdline_base(target_cmd, target_dir, result_file, optionx, *param_names) ⇒ String
実行ファイル用コマンドライン作成.
Constructor Details
#initialize(bin_dir, cmd_name, test_dir, *target_cmds) ⇒ Cmdline
コマンドラインテスト用のコマンドライン作成クラスのコンストラクタ
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/clitest/cmdline.rb', line 27 def initialize(bin_dir, cmd_name, test_dir, *target_cmds) bin_dir = nil if bin_dir =~ /^\s*$/ if bin_dir bin_dir_pn = Pathname.new(bin_dir) bin_dir_pn = nil unless bin_dir_pn.exist? end bin_dir_pn ||= BIN_DIR_PN cmd_name ||= CMD @test_cmd_path_pn = bin_dir_pn.join(cmd_name) @test_dir_pn = Pathname.new(test_dir) @target_cmds = target_cmds end |
Instance Attribute Details
#test_cmd_path_pn ⇒ Pathname (readonly)
実行ファイルを呼び出すシェルスクリプトへのパス
11 12 13 |
# File 'lib/clitest/cmdline.rb', line 11 def test_cmd_path_pn @test_cmd_path_pn end |
Instance Method Details
#make_cmdline(cmd_index, target_dir, result_file, optionx, *param_names) ⇒ String
実行ファイル番号による実行ファイル用コマンドライン作成
60 61 62 |
# File 'lib/clitest/cmdline.rb', line 60 def make_cmdline(cmd_index, target_dir, result_file, optionx, *param_names) make_cmdline_base(@target_cmds[cmd_index], target_dir, result_file, optionx, *param_names) end |
#make_cmdline_1(target_dir, result_file, optionx, *param_names) ⇒ String
1番目の実行ファイル用コマンドライン作成
70 71 72 |
# File 'lib/clitest/cmdline.rb', line 70 def make_cmdline_1(target_dir, result_file, optionx, *param_names) make_cmdline(0, target_dir, result_file, optionx, param_names) end |
#make_cmdline_2(target_dir, result_file, optionx, *param_names) ⇒ String
2番目の実行ファイル用コマンドライン作成
80 81 82 |
# File 'lib/clitest/cmdline.rb', line 80 def make_cmdline_2(target_dir, result_file, optionx, *param_names) make_cmdline(1, target_dir, result_file, optionx, param_names) end |
#make_cmdline_base(target_cmd, target_dir, result_file, optionx, *param_names) ⇒ String
実行ファイル用コマンドライン作成
47 48 49 50 51 |
# File 'lib/clitest/cmdline.rb', line 47 def make_cmdline_base(target_cmd, target_dir, result_file, optionx, *param_names) params = param_names.join(" ") "#{@test_cmd_path_pn} #{@test_dir_pn} #{result_file} #{target_cmd} #{target_dir} #{optionx} #{params}" end |