From 7c3b42420e15a21272481cc8aba6b0139ab24347 Mon Sep 17 00:00:00 2001 From: "renars.eihe" Date: Wed, 29 Jun 2022 10:55:15 +0300 Subject: [PATCH 1/3] dynamic Environment/PreCases/AfterCases --- lib/core/case_runner.rb | 6 +++--- lib/utils/load.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/core/case_runner.rb b/lib/core/case_runner.rb index 9a53385a..c03baa10 100644 --- a/lib/core/case_runner.rb +++ b/lib/core/case_runner.rb @@ -41,7 +41,7 @@ def run(case_name, parent_params = {}) if steps["Precases"] steps["Precases"].each do |pre_case| begin - run(pre_case) + run(convert_value(pre_case)) rescue => e log_warn("Pre-Case '#{pre_case}' Error: #{e.message}") end @@ -55,7 +55,7 @@ def run(case_name, parent_params = {}) if steps["Aftercases"] steps["Aftercases"].each do |after_case| begin - run(after_case) + run(convert_value(after_case)) rescue => e log_warn("After Case '#{after_case}' Error: #{e.message}") end @@ -76,7 +76,7 @@ def run(case_name, parent_params = {}) if steps["Aftercases"] steps["Aftercases"].each do |after_case| begin - run(after_case) + run(convert_value(after_case)) rescue => e log_warn("After Case '#{after_case}' Error: #{e.message}") end diff --git a/lib/utils/load.rb b/lib/utils/load.rb index d9f635f6..9a912775 100644 --- a/lib/utils/load.rb +++ b/lib/utils/load.rb @@ -163,7 +163,7 @@ def load_case_file(filename) ######################################################## def load_env_and_vars(structure, setup_commands=true) - load_environment(structure["Environment"], setup_commands) if structure.key?("Environment") + load_environment(convert_value(structure["Environment"]), setup_commands) if structure.key?("Environment") load_vars(structure) end From 57160b819784fb88200848eb95a1078aa2b71c6a Mon Sep 17 00:00:00 2001 From: "renars.eihe" Date: Wed, 29 Jun 2022 16:32:43 +0300 Subject: [PATCH 2/3] src_var fix & dynamic If_Case/Do_Case/Else_Case --- lib/core/device.rb | 2 +- lib/core/types_control_flow.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/core/device.rb b/lib/core/device.rb index 5b6c5f55..b41ca7a6 100644 --- a/lib/core/device.rb +++ b/lib/core/device.rb @@ -1547,7 +1547,7 @@ def assert(action) action["Asserts"].each do |assert| raise "#{@role}: 'Asserts' section requires attributes 'Type', 'Var', " + "'Value'!" if assert.values_at("Type", "Var", "Value").include?(nil) - src_var = ENV[convert_value(assert["Var"])] + src_var = convert_value(assert["Var"]) cmp_var = assert["Value"].is_a?(Numeric) ? assert["Value"] : convert_value(assert["Value"]) op = assert["Type"].downcase diff --git a/lib/core/types_control_flow.rb b/lib/core/types_control_flow.rb index c9e51d64..bb8a3388 100644 --- a/lib/core/types_control_flow.rb +++ b/lib/core/types_control_flow.rb @@ -73,8 +73,8 @@ def if_handler(action, _case) if_succeeded = false action["If_Cases"].each do |if_case| raise "If_Case is not declared in group: #{if_case}" unless if_case.key?("If_Case") - if_case_name = if_case["If_Case"] - do_case_name = if_case.key?("Do_Case") ? if_case["Do_Case"] : nil + if_case_name = convert_value(if_case["If_Case"]) + do_case_name = if_case.key?("Do_Case") ? convert_value(if_case["Do_Case"]) : nil begin run(if_case_name, get_parent_params(action)) if_succeeded = true @@ -91,7 +91,7 @@ def if_handler(action, _case) end end if !if_succeeded && action.key?("Else_Case") && !action["Else_Case"].nil? - else_case_name = action["Else_Case"] + else_case_name = convert_value(action["Else_Case"]) run(else_case_name, get_parent_params(action)) log_info("Finished case #{else_case_name}, resuming parent case #{_case}") end From e0225bd7847fc7ccbf73443f2a0bbd49e431ac00 Mon Sep 17 00:00:00 2001 From: "renars.eihe" Date: Fri, 1 Jul 2022 12:36:01 +0300 Subject: [PATCH 3/3] ENV[] revert --- lib/core/device.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/device.rb b/lib/core/device.rb index b41ca7a6..5b6c5f55 100644 --- a/lib/core/device.rb +++ b/lib/core/device.rb @@ -1547,7 +1547,7 @@ def assert(action) action["Asserts"].each do |assert| raise "#{@role}: 'Asserts' section requires attributes 'Type', 'Var', " + "'Value'!" if assert.values_at("Type", "Var", "Value").include?(nil) - src_var = convert_value(assert["Var"]) + src_var = ENV[convert_value(assert["Var"])] cmp_var = assert["Value"].is_a?(Numeric) ? assert["Value"] : convert_value(assert["Value"]) op = assert["Type"].downcase