diff --git a/src/main/resources/hudson/plugins/parameterizedtrigger/BlockableBuildTriggerConfig/config.jelly b/src/main/resources/hudson/plugins/parameterizedtrigger/BlockableBuildTriggerConfig/config.jelly index 3c1071cf..50ede955 100644 --- a/src/main/resources/hudson/plugins/parameterizedtrigger/BlockableBuildTriggerConfig/config.jelly +++ b/src/main/resources/hudson/plugins/parameterizedtrigger/BlockableBuildTriggerConfig/config.jelly @@ -25,13 +25,7 @@ THE SOFTWARE. - - - - - - - + build, Launcher launcher, } }); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP)); projectA.scheduleBuild2(0).get(); @@ -135,7 +136,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, return true; } }); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP)); projectA.scheduleBuild2(0).get(); @@ -166,7 +167,7 @@ public void testNoFilesSkip() throws Exception { //create triggering build FreeStyleProject projectA = createFreeStyleProject(); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP)); projectA.scheduleBuild2(0).get(); @@ -188,7 +189,7 @@ public void testNoFilesNoParms() throws Exception { //create triggering build FreeStyleProject projectA = createFreeStyleProject(); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.NOPARMS)); projectA.scheduleBuild2(0).get(); @@ -210,7 +211,7 @@ public void testNoFilesFail() throws Exception { //create triggering build FreeStyleProject projectA = createFreeStyleProject(); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.FAIL)); projectA.scheduleBuild2(0).get(); @@ -242,7 +243,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, } }); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP, "UTF-8")); projectA.scheduleBuild2(0).get(); @@ -285,7 +286,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, } }); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP, "Shift_JIS")); projectA.scheduleBuild2(0).get(); @@ -323,7 +324,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, } }); - // add Trigger builder, with file paramter factory + // add Trigger builder, with file parameter factory projectA.getBuildersList().add(createTriggerBuilder(projectB, NoFilesFoundEnum.SKIP, "")); projectA.scheduleBuild2(0).get(); @@ -333,11 +334,15 @@ public boolean perform(AbstractBuild build, Launcher launcher, List builds = projectB.getBuilds(); assertEquals(1, builds.size()); - for (FreeStyleBuild build : builds) { - EnvVars buildEnvVar = builder.getEnvVars().get(build.getId()); - assertEquals("hello_abc", buildEnvVar.get("TEST")); + // This test explicitly uses the platform's default encoding, which e.g. on Windows is likely to be windows-1250 + // or windows-1252. With these single-byte encodings we cannot expect multi-byte strings to be encoded correctly. + final boolean isMultiByteDefaultCharset = Charset.defaultCharset().newEncoder().maxBytesPerChar() > 1.0f; + if (isMultiByteDefaultCharset) { + for (FreeStyleBuild build : builds) { + EnvVars buildEnvVar = builder.getEnvVars().get(build.getId()); + assertEquals("hello_abc", buildEnvVar.get("TEST")); + } } - } public void testDoCheckEncoding() throws Exception { diff --git a/src/test/java/hudson/plugins/parameterizedtrigger/test/FileBuildTriggerConfigTest.java b/src/test/java/hudson/plugins/parameterizedtrigger/test/FileBuildTriggerConfigTest.java index e29838aa..a26aca15 100644 --- a/src/test/java/hudson/plugins/parameterizedtrigger/test/FileBuildTriggerConfigTest.java +++ b/src/test/java/hudson/plugins/parameterizedtrigger/test/FileBuildTriggerConfigTest.java @@ -214,8 +214,14 @@ public void testPlatformDefaultEncodedFile() throws Exception { hudson.getQueue().getItem(projectB).getFuture().get(); assertNotNull("builder should record environment", builder.getEnvVars()); - assertEquals("こんにちは", builder.getEnvVars().get("KEY")); - assertEquals("value", builder.getEnvVars().get("KEY")); + + // This test explicitly uses the platform's default encoding, which e.g. on Windows is likely to be windows-1250 + // or windows-1252. With these single-byte encodings we cannot expect multi-byte strings to be encoded correctly. + final boolean isMultiByteDefaultCharset = Charset.defaultCharset().newEncoder().maxBytesPerChar() > 1.0f; + if (isMultiByteDefaultCharset) { + assertEquals("こんにちは", builder.getEnvVars().get("KEY")); + assertEquals("value", builder.getEnvVars().get("KEY")); + } } public void testDoCheckEncoding() throws Exception { diff --git a/src/test/java/hudson/plugins/parameterizedtrigger/test/ResultConditionTest.java b/src/test/java/hudson/plugins/parameterizedtrigger/test/ResultConditionTest.java index bc0e42ed..fe5851b4 100644 --- a/src/test/java/hudson/plugins/parameterizedtrigger/test/ResultConditionTest.java +++ b/src/test/java/hudson/plugins/parameterizedtrigger/test/ResultConditionTest.java @@ -178,7 +178,7 @@ public void testTriggerByAbortedBuild() throws Exception { assertEquals(2, projectB.getLastBuild().getNumber()); } - public void testTriggerByAbortedByInturrupted() throws Exception { + public void testTriggerByAbortedByInterrupted() throws Exception { FreeStyleProject projectA = createFreeStyleProject("projectA"); projectA.getBuildersList().add(new SleepBuilder(10000)); FreeStyleProject projectB = createFreeStyleProject("projectB");