Added ability to filter kitchen envs
Change-Id: I20570eff92225c1389fee0770870e02ce9197a47
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 25e6f58..487c84c 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -79,6 +79,7 @@
common.infoMsg(".kitchen.yml found, running kitchen tests")
ruby.ensureRubyEnv()
def kitchenEnvs = []
+ def filteredEnvs = []
if(fileExists(".travis.yml")){
common.infoMsg(".travis.yml found, running custom kitchen init")
def kitchenConfigYML = readYaml(file: ".travis.yml")
@@ -104,11 +105,13 @@
common.infoMsg("Running kitchen testing, parallel mode: " + KITCHEN_TESTS_PARALLEL.toBoolean())
wrap([$class: 'AnsiColorBuildWrapper']) {
if(kitchenEnvs && !kitchenEnvs.isEmpty()){
- common.infoMsg("Found multiple environment, first running kitchen without custom env")
- ruby.runKitchenTests("", KITCHEN_TESTS_PARALLEL.toBoolean())
for(int i=0;i<kitchenEnvs.size();i++){
- common.infoMsg("Found multiple environment, kitchen running with env: " + kitchenEnvs[i])
- ruby.runKitchenTests(kitchenEnvs[i], KITCHEN_TESTS_PARALLEL.toBoolean())
+ filteredEnvs[i] = filterKitchenEnvs(kitchenEnvs[i])
+ }
+ filteredEnvs = filteredEnvs.unique()
+ for(int i=0;i<filteredEnvs.size();i++){
+ common.infoMsg("Found multiple environment, kitchen running with env: " + filteredEnvs[i])
+ ruby.runKitchenTests(filteredEnvs[i], KITCHEN_TESTS_PARALLEL.toBoolean())
}
}else{
ruby.runKitchenTests("", KITCHEN_TESTS_PARALLEL.toBoolean())