Jenkins Unit Test Harness
Defines test harness for Jenkins core and plugins that you can use during the mvn test
phase.
See wiki page
Changelog
2.37 (2018 Apr 06)
- A batch of small fixes to
RestartableJenkinsRule#simulateAbruptShutdown
to better handle changes while copying JENKINS_HOME
2.36 (2018 Apr 04)
- JENKINS-50476:: offer a way to assert that Jenkins won't start
2.35 (2018 Apr 04)
Burned
2.34 (2018 Jan 29)
- Added
CLICommandInvoker.Result.stdoutBinary
and.stderrBinary
. - Deprecated
PresetData
.
2.33 (2017 Dec 21)
RestartableJenkinsRule
utilities to simulate abrupt (i.e., unplanned) shutdowns.
2.32 (2017 Oct 28)
- Added
LoggerRule.recordPackage
as a convenience. - Added
LoggerRule.recorded
methods returning matchers to simplify checking for log records. - Added
WebClient.withBasicCredentials
and.withBasicApiToken
methods to simplify passing authentication to REST requests as an alternative to.login
. waitOnline
withJNLPLauncher
failed rather than waiting.- Do not even try to persist an
Authentication
via XStream.
2.31 (2017 Oct 17)
- Introduced
RestartableJenkinsRule.createJenkinsRule
. - Changed
JenkinsRule.createComputerLauncher
to return the more generic typeComputerLauncher
rather thanCommandLauncher
.
2.30 (2017 Oct 10)
- Avoiding
JenkinsRule
plugin setup error involving excluded optional transitive dependencies.
2.29 (2017 Oct 10)
- Introduced
JenkinsRule.waitOnline
, improving diagnostics forcreateSlave
andcreateOnlineSlave
. - Issue a friendlier warning for a harmless
@TestExtension
binary incompatibility issue.
2.28 (2017 Sep 26)
- Fixing a regression in
LoggerRule
in 2.26, and improving log appearance further.
2.27 (2017 Sep 20)
- JENKINS-45245: work around incorrect Maven test classpath in IntelliJ IDEA.
- More readable timestamps in log messages during tests.
2.26 (2017 Sep 13)
- Adjust Jetty configuration to use a fixed number of “acceptors” and “selectors”. This has been observed to fix JENKINS-43666-like test failures in some CI environments, depending on the reported number of CPU cores.
- Improve display of messages when using
LoggerRule
.
2.25 (2017 Sep 12)
- More reliable test timeout system in
JenkinsRule
.
2.24 (2017 Aug 02)
- Added
RestartableJenkinsRule.then
with a Java 8-friendly signature. - Upgrade to Jetty 9.4.
2.23 (2017 Jun 26)
- JENKINS-41631: removing the Maven Embedder dependency from the harness.
- JENKINS-44453:
JenkinsRule
should ensure that Jenkins reaches theCOMPLETED
milestone.
2.22 (2017 May 02)
- Make
FakeChangeLogSCM
supportRun
rather than justAbstractBuild
.
2.21 (2017 Apr 25)
- Fixed a regression in 2.20 affecting especially
InjectedTest
on Jenkins 2.x.
2.20 (2017 Apr 20)
- “Detached” plugins in Jenkins 2.x are no longer loaded implicitly during tests. You should declare
test
-scoped dependencies on plugins you expect to use during your tests, in the desired versions.TestPluginManager.installResourcePlugin
has been removed, andinstallDetachedPlugin
added for unusual cases. - Avoid using methods deleted in newer version of HtmlUnit.
waitForMessage
can fail immediately if the build is completed.- Possible to override
JenkinsRule.createWebServer
more easily. - Deprecating
CLICommandInvoker.authorizedTo
in favor of a simplerasUser
. - Make Jetty be quiet during functional tests.
- Pick up
jetty-io
andjetty-util
from our specified version to avoid conflicts.
2.19 (2017 Feb 27)
- Introduced
allowSoft
parameter toassertGC
. - Avoid any fixed timeout on
waitUntilNoActivity
.
2.18 (2016 Dec 20)
- Fixed
JenkinsComputerConnectorTester
soComputerConnector
s can be tested throughJenkinsRule.configRoundTrip
. - Improved
MemoryAssert.assertGC
: now catches more root references, and can run with the environment variableASSERT_GC_VERBOSE=true
to track downSoftReference
leaks. - Better report
java.lang.IllegalArgumentException: URI is not hierarchical
; generally this is a symptom of a plugin missing a rootindex.jelly
.
2.17 (2016 Oct 10)
JenkinsRule.getLog
fixed to make fewer assumptions about the implementation ofRun.getLogText
.
2.16 and earlier
Not recorded.