aglinxinyuan opened a new issue, #7987:
URL: https://github.com/apache/texera/issues/7987

   ### Task Summary
   
   Three small workflow-operator gaps, bundled because none is worth a PR alone:
   
   | File | Coverage |
   |---|---|
   | `visualization/barChart/BarChartOpDesc.scala` | 88.2% — 1 missed + 3 
partial of 34 |
   | `huggingFace/HuggingFaceSentimentAnalysisOpDesc.scala` | 88.0% — 0 missed 
+ 3 partial of 25 |
   | `source/fetcher/RandomUserAgent.java` | 85.2% — 2 missed + 2 partial of 
27, and **no spec at all** |
   
   Note the shape: `HuggingFaceSentimentAnalysisOpDesc` is already at 100% 
JaCoCo line-hit, so its entire gap is unclosed branch arms on lines that 
already execute — the case Codecov penalises and line-hit hides.
   
   `HashJoinProbeOpExec` and `OPVersion.java` look like they belong here and do 
not: assess them separately rather than assuming.
   
   Traps:
   
   1. **`WorkflowOperator/jacoco` needs `FileScanSourceOpExecSpec` excluded, 
but not for the reason usually given.** That suite runs its 7 tests 
successfully and then aborts at *suite* level with 
`java.nio.file.FileSystemException: ...test_large_binary.txt: The process 
cannot access the file because it is being used by another process` — a Windows 
file-lock in its own cleanup, because a reader is still open. The 
`RepositoryNotFoundException` that appears in the same log comes from 
`OPVersion.<clinit>` → `LogicalOp.getOperatorVersion`, is caught by 
`OPVersion`'s own try/catch, and is unrelated to the abort. The exclusion is 
still right for measurement; the mechanism matters because it tells you the 
file **is** leaked into the source tree on any unfiltered run, and it must be 
deleted before committing or it trips the licence-header check.
   2. Since sbt-jacoco runs unforked, a failing test task skips 
`saveRuntimeData` and emits an **all-zero** report rather than a partial one — 
so an unexcluded run gives you nothing, not less.
   3. **Module-wide branch totals are not quotable here.** 
`IntervalJoinOpExec`'s covering spec uses an unseeded RNG, so its branch count 
drifts run to run. Report per-file figures.
   4. For the descriptors: `pyb` interpolation encodes nested encodable 
strings, so assert on arg-markers and structure rather than raw interpolated 
values. The house convention, enforced in review, is a JSON round-trip test per 
LogicalOp-subtype spec. Do **not** define a descriptor subclass inside a spec — 
`PythonCodeRawInvalidTextSpec` instantiates every subclass by reflection and a 
test-only subtype breaks it.
   5. `RandomUserAgent.java` is Java, so the Scala `$anonfun`/`SyntheticFilter` 
reasoning does not apply; check what javac emitted.
   
   ### Task Type
   
   - [ ] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [x] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [ ] Other
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to