Skip to content

Dockerize IntelliJ IDEA build and TestSpark commit for hermetic headless mode executions #489

@Vladislav0Art

Description

@Vladislav0Art

Involved Module

  • UI
  • EvoSuite
  • LLM
  • Kex
  • Other: headless mode

Description

Currently, we have two sources of change: TestSpark's headless mode implementation and Gradle/IDEA APIs that change when IntelliJ IDEA is updated (e.g., the transition from Gradle API 1.x to 2.x). Preservation of TestSpark's commit along is not sufficient to have reproducibility of headless mode runs.

In order to achieve headless mode run reproducibility, we need to freeze both TestSpark and IntelliJ IDEA versions.

Solution:

Implement dockerization functionality that freezes versions of both IntelliJ IDEA and TestSpark (that are shown to be compatible with each other in terms of headless mode correct functionality) and installs them on demand when a Docker container is bootstrapped.

Notes

This is a potentially big work, so it is a subject for an internship or a student's semester project.

Definition of Done

  • Dockerize IntelliJ IDEA build version and install it on-demand via a script.
  • Dockerize TestSpark's commit with the headless mode version that runs successfully against the selected IntelliJ.
  • Implement automation scripting that would allow user-friendly executions of headless mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    new featureImplementation of a new feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions