Skip to content

Commit 3fa8016

Browse files
authored
Merge pull request #262 from apuig/freestyle-shell
Fix StackOverflowError in freestyle builds with file parameters
2 parents 30c0bba + a2942b6 commit 3fa8016

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/main/java/io/jenkins/plugins/file_parameters/AbstractFileParameterValue.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ public void doDownload(@AncestorInPath Run<?,?> build, StaplerResponse2 rsp) thr
104104
// TODO equals/hashCode
105105

106106
@Override public void buildEnvironment(Run<?, ?> build, EnvVars env) {
107-
super.buildEnvironment(build, env);
108107
String fname = getFilename();
109108
if (fname != null) {
110109
env.put(name + "_FILENAME", fname);

src/test/java/io/jenkins/plugins/file_parameters/AbstractFileParameterDefinitionTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@
2525
package io.jenkins.plugins.file_parameters;
2626

2727
import hudson.cli.CLICommandInvoker;
28+
import hudson.model.FreeStyleBuild;
29+
import hudson.model.FreeStyleProject;
30+
import hudson.model.ParametersAction;
2831
import hudson.model.ParametersDefinitionProperty;
32+
import hudson.tasks.Shell;
2933
import jenkins.model.Jenkins;
3034
import org.apache.commons.io.FileUtils;
3135
import org.htmlunit.FormEncodingType;
@@ -54,6 +58,7 @@
5458
import java.util.Collections;
5559

5660
import static org.hamcrest.MatcherAssert.assertThat;
61+
import static org.hamcrest.Matchers.containsString;
5762
import static org.hamcrest.Matchers.is;
5863
import static org.junit.jupiter.api.Assertions.assertNotNull;
5964

@@ -152,4 +157,20 @@ void buildStep(JenkinsRule r) throws Exception {
152157
r.assertLogContains("got a message", b);
153158
}
154159

160+
@Issue("https://github.com/jenkinsci/file-parameters-plugin/issues/116")
161+
@Test
162+
void freestyleWithShellStep(JenkinsRule r) throws Exception {
163+
FreeStyleProject project = r.createFreeStyleProject("test-base64-freestyle");
164+
project.addProperty(new ParametersDefinitionProperty(new Base64FileParameterDefinition("FILE")));
165+
project.getBuildersList().add(new Shell("echo \"FILE=$FILE\""));
166+
167+
Base64FileParameterValue paramValue = new Base64FileParameterValue("FILE");
168+
paramValue.setBase64("amVua2lucwo=");
169+
170+
FreeStyleBuild build = project.scheduleBuild2(0, new ParametersAction(paramValue)).get();
171+
172+
r.assertBuildStatusSuccess(build);
173+
r.assertLogContains("FILE=amVua2lucwo=", build);
174+
}
175+
155176
}

0 commit comments

Comments
 (0)