Comments (3)
Hi @nre-ableton !
I've just seen that I missed #552 which was merged a bit before this issue. We're not using latest LTS (first mandating JDK11), so our pipelines are still JDK8. Luckily, by using toolchains we can easily compile with JDK8 and execute the tests with JDK11, which makes this issue go away. Please feel free to label it as not a bug.
thanks & best regards
from jenkinspipelineunit.
This issue was bugging me so I dug in to figure out what was going on. Building master with JDK 11 results in InterceptingGCL referencing java.lang.Module, and building it with JDK 8 doesn't. That explains the immediate cause, but why should it matter what we build with? InterceptingGCL doesn't mention Module anywhere in the source.
The root cause is groovyc. Whenever a class makes a method call through super, groovyc generates stub methods to handle the call. This is needed to support MOP. Crucially this stub generation is name-based and creates stubs for all overloads of the called method! In this case what happened is Java 9 introduced an overload for loadClass() that has a Module parameter. Groovyc duly copies that signature to InterceptingGCL and breaks back compat.
from jenkinspipelineunit.
JDK 8 is no longer supported, you need at least JDK 11. Can you try to reproduce with JDK 11?
from jenkinspipelineunit.
Related Issues (20)
- mock for build step HOT 3
- JenkinsPipelineUnit - unable to mock getId() called within script block
- Can't access 'env' properties in nested bindings
- Mock method of shared with defaut parameter
- Groovy 7 is not running my test when using gradlew clean test HOT 4
- Stack overflow in tests; possible to disable interception for a class? HOT 4
- document addParam HOT 1
- How to mock object creation?
- Jenkins shared library unit tests - missing dependencies and assert singleton values HOT 2
- post-unsuccessful action is not executed for parallel stage when a substage fails HOT 1
- Is it possible to run unit tests over a Jenkinsfile in a remote git repo? HOT 8
- Performance: Cross-test caching of loaded scripts HOT 4
- Mocking different return values for a method the second time it is called HOT 3
- Accessing constant from another file
- Defining environment variables is not clear HOT 1
- Custom method added with registerAllowedMethod is not being utilized. HOT 13
- Why are call stack items indented with 3 spaces? HOT 2
- Specify a way to add helper.registerAllowedMethod("readYaml") as per the stage HOT 4
- How to setup an initial gradle process HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jenkinspipelineunit.