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

Setup plugin testing and publication #25

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

DLochmelis33
Copy link
Contributor

@DLochmelis33 DLochmelis33 commented Jan 17, 2025

Turns out we can test our plugin without local publication! (which I set up, spending many hours debugging a single misplaced dot 💀, which we don't need in the end ☠️)

@DLochmelis33 DLochmelis33 added the ready for review PR is ready to be reviewed label Jan 17, 2025
@Test
fun test() {
// for now, just checking that all dependencies resolve
val kfuzzer: KFuzzer = KFuzzerImpl(byteArrayOf(1))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like my mistake, I believe that KFuzzerImpl should be internal, but I may be wrong

import kotlin.test.Test
import kotlin.test.assertEquals

// TODO: kotlin.test requires a class with empty ctor, NOT an object. Will this be a problem?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can be solved in two ways:

  1. By removing @Test annotation, we don't need it by design, therefore an actual user will be able to use object instead of class
  2. By adding dependency on junit-platform-engine and using ```
    tasks.test {
    useJUnitPlatform()
    }
However I am not sure that it won't break anything, since we use our own engine. But still it helps in replacing `class` with `object`

}

group = "org.plan.research" // TODO: org.jetbrains.research(.plan) ?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I am getting java.lang.NullPointerException: group.displayName must not be null when building. It doesn't affect anything but it is a little bit annoying, so if you could fix it, it would be wonderful
  2. We have GROUP_ID constant in versions.kt you may consider looking at it.
  3. We have group set in the org.plan.research.kotlinx-fuzz-module.gradle.kts why should we change it here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review PR is ready to be reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants