Skip to content

Conversation

@sparshev
Copy link
Collaborator

@sparshev sparshev commented Nov 6, 2019

TODO:

@sparshev sparshev added the enhancement New feature or request label Nov 6, 2019
@sparshev sparshev added this to the v1.0.0 milestone Nov 6, 2019
@sparshev sparshev self-assigned this Nov 6, 2019
@sparshev
Copy link
Collaborator Author

sparshev commented Nov 7, 2019

Nope, we can't use CPS from JenkinsPipelineUnit by default - the implementation contains quite critical issues (for example [1,2,3].findAll { it > 1 } will return false instead of [2,3]), like the one was fixed here: jenkinsci/workflow-cps-plugin#124

@sparshev sparshev changed the title MPL-32 Moved to CPS tests by default MPL-32 Added a way to execute experimental CPS tests Nov 7, 2019
@sparshev sparshev changed the title MPL-32 Added a way to execute experimental CPS tests MPL-32 Added working implementation of the JenkinsRule unit tests Mar 5, 2020
@sparshev sparshev added the not tested The change is not properly tested label Mar 5, 2020
@sparshev
Copy link
Collaborator Author

sparshev commented Mar 5, 2020

Added another implementation of the CPS tests - based on JenkinsRule with groovy-cps interceptor. This implementation seems working fine mvn clean verify shows almost the same results as the simple JenkinsPipelineUnit tests. But:

  • Check with Jenkins devs - how to eliminate this java replacements, maybe they can help with some hooks for the unit tests...
  • Need to prepare a good documentation
  • Simplify migration from the old test base class MPLTestBase to the new one MPLTestBaseJenkinsRule
  • Prepare more tests as examples of usage this new tests
  • JenkinsRule instance produces logs I want to hide
  • Stack of MethodCall depth is not good - seems something wrong with CpsScript stacktrace (for example last Build.fileExists(openshift) is one level deeper than required... It could be some sort of issue with the Closure in the test).

@sparshev
Copy link
Collaborator Author

sparshev commented Mar 5, 2020

Reproduced weird behavior during tests running: when old tests running before new ones - new ones will not be completed:

Something in the groovy tests is not working well.

@sparshev
Copy link
Collaborator Author

sparshev commented Mar 5, 2020

Not weird as figured out - Helper.runModule replaced in the BuildTest, so it's saved for the future tests executions. Need to add restore the overriding classes state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request not tested The change is not properly tested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants