Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to cross-platform tests #6

Open
imanushin opened this issue Aug 8, 2023 · 0 comments
Open

Switch to cross-platform tests #6

imanushin opened this issue Aug 8, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@imanushin
Copy link

imanushin commented Aug 8, 2023

The issue is partially related to #5.

Current plugin tests has the following issues:

  • They don't work on Windows (because shell script is designed for *nix OS)
  • They don't work on MacOS - see Fix MacOS build #5
  • They check in-memory gradle only (e.g. we don't check that builds work in a clear build classpath)
  • They don't check different Gradle versions
  • They don't check different Java versions
  • They use Spek, which is going to be unsupported: Looking for new maintainer(s) spekframework/spek#959 (comment)
  • They don't check Groovy dsl

The proposed approach is to use the same with implemented in https://github.com/Citi/gradle-helm-plugin/blob/develop/helm-publish-plugin/src/functionalTest/kotlin/com/citi/gradle/plugins/helm/publishing/tests/functional/ArtifactoryPublishTest.kt:

  • Each test is based on Gradle project
  • Each test uses special cross-platform executable to replace help (bat for windows, sh for unix)
  • Tests are parameterized with "environment data", which instructs what java, gradle and script type to use.
  • Test projects are readable and can be used as examples (so, examples will be self-tested).
@imanushin imanushin self-assigned this Aug 8, 2023
@magner669 magner669 added the enhancement New feature or request label Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants