[
https://issues.apache.org/jira/browse/CALCITE-4595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17340850#comment-17340850
]
Stamatis Zampetakis commented on CALCITE-4595:
----------------------------------------------
Copying many files can be cumbersome and usually projects that exploit this
approach have some mechanism to update the golden files via a system
property/command/script when running the test. If/when we implement this Jira
it may worth including this functionality for updating the files transparently.
> Split DiffRepository test data into per-test files
> --------------------------------------------------
>
> Key: CALCITE-4595
> URL: https://issues.apache.org/jira/browse/CALCITE-4595
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.26.0
> Reporter: Vladimir Sitnikov
> Priority: Major
>
> The current issues:
> * the file is 13'000 lines, so it is hard to browse in IDE
> * contributions might result in merge conflicts, and "sorting the items"
> requires non-standard procedure (e.g. Calcite-specific sorting of the
> calcite-specific XML files)
> If we split the file into several smaller ones, then:
> * The number of merge conflicts would be greatly smaller
> * We won't need to sort the items inside the files.
> * At best, it would be compatible with https://approvaltests.com/ which has
> IDE plugins to automatically update the reference files
> * plan changes in GitHub PR would convey the test name right in the filename,
> so the review would be easier
> The drawbacks of having more files might be:
> a) Each file might have to have a license header that consumes ~16 lines. We
> could either blindly accept it or exclude it from RAT check.
> b) Global plan changes would touch lots of XML files. Currently, we copy a
> couple of files from "actual to expected", and with the new approach, we
> might need to copy more files. However, copying several files is not that
> hard.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)