Commit Graph
32590 Commits
Author SHA1 Message Date
Oleg Nenashev b3ebef20ec Merge pull request #3164 from fcojfernandez/JENKINS-48080
[JENKINS-48080] Setup Wizard hangs if confirm password is incorrect while creating admin user
2017-12-02 12:36:06 +03:00
Baptiste Mathus 9fb07a2c1a Use FileChannelWriter behind AtomicFileWriter 2017-12-02 10:28:49 +01:00
Baptiste Mathus 22efbad945 [JENKINS-34855] Create a FileChannelWriter 2017-12-02 10:28:49 +01:00
Baptiste Mathus 616a62aab4 Merge pull request #3165 from batmat/JENKINS-34855-more-AtomicFileWriter-harnessing
[JENKINS-34855] more AtomicFileWriter test harnessing
2017-12-01 23:49:38 +01:00
Jesse Glick 67bc3869c9 Bump. 2017-12-01 16:20:03 -05:00
Jesse Glick e2c1ae15a3 Merge branch 'master' into whitelist-JENKINS-47736 2017-12-01 16:17:38 -05:00
Jesse Glick 26e0ac5124 war/src/test/js/ apparently produces war/target/surefire-reports/JasmineReport.xml without the TEST- prefix used by Surefire. 2017-12-01 12:04:16 -05:00
Jesse Glick 6f95e4005b Merge branch 'master' into surefire-mixup 2017-12-01 12:03:20 -05:00
Devin Nusbaum fdccc0e838 [JENKINS-36088] Use NIO implementations of chmod and mode by default (#3135)
* Use NIO for FilePath#chmod and IOUtils#mode

* Add tests for NIO mode and chmod implementations

* Add test, remove new method, and update JavaDoc

* Provide system property to use native implementations of chmod and mode

* Revert unrelated whitespace modification

* Don't remove exception from throws and put imports in original location

* Fix broken JavaDoc links

* Ignore file type bits (above 0o7777) in Util#modeToPermission

* Use octal for constants and don't include file type bits

* Revert unnecessary changes to TarArchiverTest

* Add assertion that non-permission bits are ignored by chmod

* Use NIO copy with StandardCopyOption.COPY_ATTRIBUTES in copyToWithPermissions where possible

* Catch InvalidPathException and convert it to IOException

* Create utility method for File#toPath and use File#createDirectories after review

* Remove useless calls to toAbsolutePath and getAbsoluteFile

* Fix typos and use octal for constant after review

* Add test for behavior of copyToWithPermission with special bits
2017-12-01 10:01:34 +03:00
Oleg Nenashev 8824857752 Add default implementations of deprecated methods of BuilableItem and Item. (#3142)
* Add default implementations to deprecated methods of BuilableItem and Item.

Currently the interface requires the API user to implement already deprecated methods.
It does not make much sense, and the API could be simplified.

* Address comments from @jglick
2017-12-01 10:00:49 +03:00
Jesse Glick 7cbc8f5502 Only inspect direct subdirectories for Surefire reports. 2017-11-30 23:00:20 -05:00
Daniel Beck 8058675317 Merge pull request #3134 from jglick/IdStrategy-NFE-JENKINS-47909
[JENKINS-47909] Handle false hex escapes

(cherry picked from commit 7c06a9ba94)
2017-11-30 09:09:26 +01:00
Jesse Glick c79683bdd8 Rethrow any kind of RuntimeException, such as errors from RobustReflectionConverter. 2017-11-29 14:48:24 -05:00
Baptiste Mathus b32bc8d277 Merge pull request #2548 from christ66/JENKINS-34855
[JENKINS-34855] AtomicFileWriter is not Atomic
2017-11-29 15:45:57 +01:00
Baptiste Mathus 0437c31a6d More coverage around AtomicFileWriter behaviour 2017-11-29 15:04:52 +01:00
Francisco Javier Fernandez Gonzalez 9b4e831c13 [JENKINS-48080] Shows errors 2017-11-29 13:58:02 +01:00
Baptiste Mathus 4f2e261505 Be more defensive if provided destPath is wrong
The path could already exist, *but* not be a directory.
Nice catch James.

Associated tests.
2017-11-28 23:18:18 +01:00
Baptiste Mathus 04641a3da1 Reduce Log levels
Not that critical, but still can keep them as we should
generally be on FS that support atomic moves. Hence not
enter that catch.

If proved otherwise, we'll reconsider adjusting this verbosity.
2017-11-28 18:01:43 +01:00
Jesse Glick b0f2c33564 jenkins-test-harness 2.32 2017-11-28 09:18:12 -05:00
Jesse Glick 01c8c55652 Merge branch 'master' into whitelist-JENKINS-47736 2017-11-28 08:36:41 -05:00
Baptiste Mathus 927192fc00 Poor man regression testing 2017-11-28 14:18:22 +01:00
Oleg Nenashev 53a320afd8 Merge pull request #3150 from jglick/User-JENKINS-47429
[JENKINS-47429] User.getLegacyConfigFilesFor no longer seems to be necessary
2017-11-28 13:41:09 +03:00
Jesse Glick 5f8f42624e Introducing ItemGroup.allItems and similar default methods (#3148)
* Introducing ItemGroup.allItems and similar default methods.

* Do not get me started.
2017-11-28 12:28:50 +03:00
Jesse Glick 36cfe89a90 Updated remoting. 2017-11-27 13:59:58 -05:00
Jesse Glick ca542c0a41 Merge branch 'master' into whitelist-JENKINS-47736 2017-11-27 13:55:36 -05:00
Oleg Nenashev 80b515e9b0 Merge pull request #3157 from Jimilian/optimise_start_of_workflow_job
If task can be run only on master, use shortcut
2017-11-27 18:58:18 +03:00
Gentle Yang 8bb8057e8d update to the newest version 2017-11-27 21:33:23 +08:00
Kohsuke Kawaguchi 2e920c7d5a [maven-release-plugin] prepare for next development iteration 2017-11-26 19:04:19 -08:00
Kohsuke Kawaguchi 35b6213249 [maven-release-plugin] prepare release jenkins-2.92 jenkins-2.92 2017-11-26 19:04:19 -08:00
Baptiste Mathus 465f85e34d Do not force SYNC
It might be preferrable from a consistency standpoint,
but many CLI tests start failing when you force this.

So, as the previous behaviour was not forcing the sync, this seems
to show there could be unintended behavioural changes in effect.

Possibly, we'll want to address this later, but as the main goal
here was to make commit() atomic as much as possible, fixing
this is probably another story anyway.

Note: I was *never* able to reproduce those failures on my machine in
a normal env dev. It was only visible in CI.
I finally managed to make it reproducible (but still a bit randomly) by
using Docker resource constraints, using something like this:

* cd to jenkins local clone
* `docker run -ti -v m2repo:/root/.m2/repository -v $PWD:/work -v ~/.m2/settings.xml:/root/.m2/settings.xml:ro -v ~/.m2/settings-security.xml:/root/.m2/settings-security.xml:ro --device-write-iops /dev/mapper/fedora-home:40 --device-read-iops /dev/mapper/fedora-home:40  --device-write-bps /dev/mapper/fedora-home:10m --device-read-bps /dev/mapper/fedora-home:10m maven:3.5.2-jdk-8 bash`
* cd /work
* `mvn clean install -Dtest=WaitNodeOfflineCommandTest,RunRangeCommandTest -Dfindbugs.skip=true  -DfailIfNoTests=false -Dskip.npm=true`

Failure example:

```
ERROR] Tests run: 6, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 55.68OfflineCommandTest
[ERROR] waitNodeOfflineShouldSucceedOnDisconnectingNode(hudson.cli.WaitNodeOf  <<< FAILURE!
java.lang.AssertionError:

Expected: <true>
     but: was <false>
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
        at hudson.cli.WaitNodeOfflineCommandTest.waitNodeOfflineShouldSucceedndTest.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Framew
        at org.junit.internal.runners.model.ReflectiveCallable.run(Reflective
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(Framewor
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(Invoke
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefor
        at org.jvnet.hudson.test.JenkinsRule$1.evaluate(JenkinsRule.java:542)
        at org.junit.internal.runners.statements.FailOnTimeout$CallableStatem
        at org.junit.internal.runners.statements.FailOnTimeout$CallableStatem
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.lang.Thread.run(Thread.java:748)

[ERROR] waitNodeOfflineShouldSucceedOnDisconnectedNode(hudson.cli.WaitNodeOff <<< FAILURE!
java.lang.AssertionError
```
2017-11-26 18:41:39 +01:00
Oleg Nenashev 211b57e8b0 [JENKINS-48157] - Risk of NPE when migrating MyViewProperty without PrimaryView (#3156)
* [JENKINS-48157] - Reproduce the issue in test

* [JENKINS-48157] - Annotate and document nullness conditions in MyViewsProperty and ViewGroupMixIn

* [FIXED JENKINS-48157] - Prevent NPEs when using public API and when using null primaryViewName

* [JENKINS-48157] - Fix typo in Javadoc
2017-11-26 15:51:46 +03:00
Oleg Nenashev 56f5abdf81 Merge pull request #3158 from oleg-nenashev/tests/SetupWizard_ProtocolMonitor
Disable flaky SetupWizardTest#shouldDisableUnencrypterProtocolsByDefault()
2017-11-26 12:33:57 +03:00
Oleg Nenashev b3cd925a69 Merge pull request #3149 from jglick/AccessControlled
Introducing AccessControlled.hasPermission(Authentication, Permission)
2017-11-26 12:33:27 +03:00
Oleg Nenashev f33506f4f6 Merge pull request #3154 from oleg-nenashev/bug/JENKINS-48116
[JENKINS-48116] - Restore AbstractTaskListener binary compatibility in the core.
2017-11-26 12:32:33 +03:00
Oleg Nenashev b431eb422a Merge pull request #3155 from Jimilian/cache_permission_id
Cache permission id to avoid allocating of new strings
2017-11-26 12:32:06 +03:00
Gentle Yang 125cf9d8f1 Create Messages_zh_CN.properties 2017-11-25 22:07:19 +08:00
Baptiste Mathus 4c50c7a9ae Log exception in case of failure
I see we enter that catch, and the `else` in a failing test.
But I'm somewhat stuck since I miss both the stack, and even at
least the exception being thrown and not being an
`AtomicMoveNotSupportedException`.

It's possibly an `IOException` or some subclass. But still having the
stack could help understand why the test fails, and provide more
data for diagnosis in the future in production use.

```
=== Starting hudson.cli.RunRangeCommandTest
   0.007 [id=96]	WARNING	o.jvnet.hudson.test.JenkinsRule#before: Jenkins.theInstance was not cleared by a previous test, doing that now
   0.018 [id=96]	INFO	o.jvnet.hudson.test.JenkinsRule#createWebServer: Running on http://localhost:45833/jenkins/
   0.037 [id=15]	WARNING	jenkins.model.Jenkins#cleanUp: This instance is no longer the singleton, ignoring cleanUp()
   0.345 [id=96]	WARNING	hudson.util.AtomicFileWriter#commit: Unable to move atomically, falling back to non-atomic move.
   0.345 [id=96]	SEVERE	hudson.util.AtomicFileWriter#commit: Unable to move /home/jenkins/workspace/Core_jenkins_PR-2548-5VRJ4BBBSEGVOZEA7OVAL2YLTLCBL55RB4LDQIZN56WJZD4M6ZKA/test/target/jenkinsTests.tmp/jenkins333129509690162870test/atomic9184049448662376708tmp to /home/jenkins/workspace/Core_jenkins_PR-2548-5VRJ4BBBSEGVOZEA7OVAL2YLTLCBL55RB4LDQIZN56WJZD4M6ZKA/test/target/jenkinsTests.tmp/jenkins333129509690162870test/secret.key. Attempting to delete /home/jenkins/workspace/Core_jenkins_PR-2548-5VRJ4BBBSEGVOZEA7OVAL2YLTLCBL55RB4LDQIZN56WJZD4M6ZKA/test/target/jenkinsTests.tmp/jenkins333129509690162870test/atomic9184049448662376708tmp and abandoning.
```
2017-11-23 17:36:20 +01:00
Daniel Beck e3b695fe58 Merge pull request #3153 from jsoref/help
misc UX changes
2017-11-23 16:37:12 +01:00
Baptiste Mathus 9b48200921 Try to get the future for 10 seconds before timing out
Should make the test more robust on variously performing setups.
2017-11-23 15:10:36 +01:00
Baptiste Mathus fed7f2e35c Fix RequireUpperBoundDeps issue
```
WARNING] Rule 3: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps fai
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for org.objenesis:objenesis:2.1 paths
+-org.jenkins-ci.main:test:2.92-SNAPSHOT
  +-org.mockito:mockito-core:1.10.19
    +-org.objenesis:objenesis:2.1
and
+-org.jenkins-ci.main:test:2.92-SNAPSHOT
  +-org.awaitility:awaitility:3.0.0
    +-org.objenesis:objenesis:2.5.1
```
2017-11-23 14:34:37 +01:00
Baptiste Mathus e50d4d71c3 Retry assertion for 10 seconds before failing
Also reduce the time 250 ms (instead of 1 second previously) between
retries to hopefully reduce the test duration on quick enough setups,
and still degrade nicely on less performing ones.
2017-11-23 14:34:03 +01:00
Alexander Akbashev 00ccd23f64 If task can be run only on master, use shortcut
Currently Jenkins to fire WorkflowJob re-calculates the ConstistentHash
for entire cluster even if there is no nodes were updated. If cluster is
big enough (>100 nodes), it becomes a problem, because MD5 is quite
expensive itself plus all this logic comes with high memory footprint.

Using the knowledge that WorkflowJob can be executed only on Jenkins master,
we can create a shortcut that does not do expensive calculation and just
returns Runnable or `null`.
2017-11-23 09:10:50 +01:00
Baptiste Mathus 1396c7f774 Add an if to avoid crashing on symlinks to dirs
Files.createDirectories(dir) is said to not fail if directory already
exists.
*But* this will still fail if `dir` is actually a symlink to a
directory...
This is documented in the Javadoc indeed, even if probably not really
one would expect...

See https://bugs.openjdk.java.net/browse/JDK-8130464

Without this fix:
```
[INFO] Running hudson.util.SecretRewriterTest
Cycle detected: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/symlink
Scanning /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/foo.xml
Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/foo.xml
Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/d/foo.xml
Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/d/e/foo.xml
ERROR: Failed to rewrite /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink/foo.xml
java.nio.file.FileAlreadyExistsException: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:88)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
        at java.nio.file.Files.createDirectory(Files.java:674)
        at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
        at java.nio.file.Files.createDirectories(Files.java:727)
        at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:103)
Caused: java.io.IOException: Failed to create a temporary file in /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink
        at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:106)
        at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:73)
        at hudson.util.SecretRewriter.rewrite(SecretRewriter.java:85)
        at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:166)
        at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:176)
        at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:176)
        at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:141)
        at hudson.util.SecretRewriter$rewriteRecursive$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
        at hudson.util.SecretRewriterTest.recursionDetection(SecretRewriterTest.groovy:110)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/foo.xml
Cycle detected: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/b/symlink
Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/b/foo.xml
[ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.097 s <<< FAILURE! - in hudson.util.SecretRewriterTest
[ERROR] recursionDetection(hudson.util.SecretRewriterTest)  Time elapsed: 0.176 s  <<< FAILURE!
Assertion failed:

assert 6==sw.rewriteRecursive(t, st)
        | |  |                |  |
        | |  5                |  hudson.util.StreamTaskListener@34a2d6e0
        | |                   /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t
        | hudson.util.SecretRewriter@2525a5b8
        false

        at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:404)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:650)
        at hudson.util.SecretRewriterTest.recursionDetection(SecretRewriterTest.groovy:110)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   SecretRewriterTest.recursionDetection:110 assert 6==sw.rewriteRecursive(t, st)
        | |  |                |  |
        | |  5                |  hudson.util.StreamTaskListener@34a2d6e0
        | |                   /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t
        | hudson.util.SecretRewriter@2525a5b8
        false
[INFO]
[ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0
```
2017-11-22 21:27:51 +01:00
Oleg Nenashev 94250ec1ca Update Remoting from 3.13. to 3.14
Fixes JENKINS-45294, JENKINS-47425, JENKINS-47901, JENKINS-47942 + about 50 reported FindBugs issues (JENKINS-37566). There are 13 FindBugs issues left, work in progress.

(cherry picked from commit bcd0b2c72b)
2017-11-22 18:21:02 +01:00
Wadeck Follonier 179ac8df08 [JENKINS-43852] add caching options for captcha (#3126)
* JENKINS-42852 add caching options for captcha

* - remove whitespace

* - correct unit tests

* - copy/paste is bad

* - second edit...

(cherry picked from commit 80d17f5a68)
2017-11-22 18:20:53 +01:00
Devin Nusbaum 823b51f0ba [JENKINS-47448] Make JDKInstaller work for old login site as well (#3136)
* Fix JDKInstaller to work with old and new Oracle login flow

* Update Javadoc to explain that both login flows are supported

(cherry picked from commit 5c1fd7d603)
2017-11-22 18:20:35 +01:00
Oleg Nenashev 7db8e7f0ff Disable SetupWizardTest#shouldDisableUnencrypterProtocolsByDefault()
I cannot reproduce the issue locally, but it happens in CI (due to the parallel tests?). I I would prefer to just disable it for now.
2017-11-22 10:42:52 +01:00
Alexander Akbashev b2c40cb9e0 Cache permission id to avoid allocating of new strings
Every request that comes from Jelly is checked against Permissions.
As result it leads to a call of `getId` method that produces the new string.
Usually it's not a problem, but in case of stop-the-world pause user requests are accumulated.
So, once pause is finished, we forcibly allocated tons of strings for
every request. That leads to new stop-the-world pause. (And this cycle
can repeat multiple times)
2017-11-22 09:02:28 +01:00
Oleg Nenashev db46521c04 Merge pull request #3143 from Jimilian/cache_estimated_duration
Cache estimated duration for execution
2017-11-22 07:08:14 +01:00
Baptiste Mathus ce58dd0572 Moar diagnostics in case atomic move fails 2017-11-21 12:08:23 +01:00