Skip to content

Add PyBuilder to root aggregate and cover non-macro gaps with unit tests #5023

@Yicong-Huang

Description

@Yicong-Huang

Task Summary

The PyBuilder sbt project is defined in the root build.sbt but not listed in the TexeraProject aggregate(...). As a result, running sbt test or sbt compile from the repository root silently skips it. CI explicitly invokes sbt "PyBuilder/jacoco" so coverage is still reported, but the inconsistency means a local sbt test does not match the CI matrix.

Additionally, while PythonLexerUtils and the pyb"..." macro are well-covered, a few non-macro pieces of PythonTemplateBuilder are not exercised by any spec:

  • PythonTemplateBuilder.+(String) which throws UnsupportedOperationException
  • fromInterpolated parts/args length precondition
  • render() CR/CRLF → LF normalization
  • PyStringTypes.{EncodableStringFactory, PyLiteralFactory} factories and their empty constants
  • wrapWithPythonDecoderExpr directly
  • concatChunks cross-boundary text merging

Add PyBuilder to the root aggregate, and add a unit spec covering the gaps above.

Task Type

  • Refactor / Cleanup
  • Testing / QA

Metadata

Metadata

Assignees

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions