github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/test/groovy/util/JenkinsPiperExecuteBinRule.groovy (about) 1 package util 2 3 import com.lesfurets.jenkins.unit.BasePipelineTest 4 import org.junit.rules.TestRule 5 import org.junit.runner.Description 6 import org.junit.runners.model.Statement 7 8 class JenkinsPiperExecuteBinRule implements TestRule { 9 final BasePipelineTest testInstance 10 11 def env 12 13 JenkinsPiperExecuteBinRule(BasePipelineTest testInstance) { 14 this.testInstance = testInstance 15 } 16 17 @Override 18 Statement apply(Statement base, Description description) { 19 return new Statement() { 20 @Override 21 void evaluate() throws Throwable { 22 def piperExecuteBin = testInstance.loadScript('piperExecuteBin.groovy').piperExecuteBin 23 try { 24 testInstance?.nullScript.piperExecuteBin = piperExecuteBin 25 } catch (MissingPropertyException e) { 26 //kept for backward compatibility before all tests inherit from BasePiperTest 27 } 28 base.evaluate() 29 } 30 } 31 } 32 }