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

Render uncompilable test suite if it was successfully parsed #370

Merged

Conversation

Vladislav0Art
Copy link
Collaborator

@Vladislav0Art Vladislav0Art commented Sep 27, 2024

Description of changes made

  1. Render test cases of the last feedback cycle iterations, regardless of the result being uncompilable.
    See the rationale in Render uncompilable test suite if it was successfully parsed #312.
  2. Remove TestGenerationData.compilableTestCases member field because it was never read (we only wrote compilable test cases into it); test cases that are rendered in the sidebar tab are read from Report instance (see the use of LLMWithFeedbackCycle.recordReport function).

Why is a merge request needed

It improves UX of LLM-based test generation for complex CUTs.

Other notes

Closes #312
You may test the implementation on PromptManager class; it's complex enough.

Undone

Does it affect headless mode in any sense?

  • I have checked that I am merging into the correct branch

@Vladislav0Art Vladislav0Art added new feature Implementation of a new feature important labels Sep 27, 2024
@Vladislav0Art Vladislav0Art self-assigned this Sep 27, 2024
@@ -23,14 +21,10 @@ data class TestGenerationData(
// changing parameters with a large prompt
var polyDepthReducing: Int = 0,
var inputParamsDepthReducing: Int = 0,

// list of correct test cases during the incorrect compilation
val compilableTestCases: MutableSet<TestCaseGeneratedByLLM> = mutableSetOf(),
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I removed this variable because we never used its value (only wrote in it); test cases that are rendered in the sidebar are taken from Report.testCaseList variable.

Copy link
Collaborator Author

@Vladislav0Art Vladislav0Art left a comment

Choose a reason for hiding this comment

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

Left an explanation of removal of TestGenerationData.compilableTestCases.

…ationData.compilableTestCases` field

`TestGenerationData.compilableTestCases` was only used to store test cases.
These stored tests were never used afterward, due to `Report`'s `testCaseList`,
from which all tests were retrieved for render.

Authored-By: Vladislav Artiukhov
@Vladislav0Art Vladislav0Art force-pushed the vartiukhov/feature/show-parsable-test-suite branch from 280dfc9 to e2039b0 Compare October 2, 2024 15:26
@Vladislav0Art Vladislav0Art merged commit 57991c6 into development Oct 4, 2024
3 checks passed
@arksap2002 arksap2002 deleted the vartiukhov/feature/show-parsable-test-suite branch October 15, 2024 21:12
arksap2002 pushed a commit to edwin1729/TestSpark that referenced this pull request Jan 10, 2025
…ns-Research#370)

* feat: render parsable but uncompilable test cases & remove `TestGenerationData.compilableTestCases` field

`TestGenerationData.compilableTestCases` was only used to store test cases.
These stored tests were never used afterward due to `Report`'s `testCaseList`,
from which all tests were retrieved for render.

Authored-By: Vladislav Artiukhov

* feat: generate Javadoc comments for `Report` via AI

* fix: apply ktlint

* fix: `PromptManager`'s javadoc minor change

* feat: check that test suite is present for `NO_COMPILABLE_TEST_CASES_GENERATED` result code

* publish: core version `3.0.1`

* fix: apply ktlint

---------

Co-authored-by: Vladislav Artiukhov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature Implementation of a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Render uncompilable test suite if it was successfully parsed
3 participants