systemtests: archive and compare iterations.log for implicit coupling #755
systemtests: archive and compare iterations.log for implicit coupling #755AdityaGupta716 wants to merge 4 commits intoprecice:developfrom
Conversation
|
hi @MakisH plz review |
…earer failure messages
|
This is almost identical to #743 (which was opened first), without referring to it. This is very bad practice (if copied without reference: plagiarism, if both using the same GenAI tool without disclosure: futuristic plagiarism). I do not mind neither collaboration nor modern tools, but please disclose them. Copying from each other without attribution is not accepted. |
|
@MakisH yea they are almost similar but the thing is that i was checking out new issue and the issues where no one was working on but i see that prnjal had opened a pr on the same thing i have worked on (heat exchanger )and i was irritated and i also saw him taking a few more of other ppls pr just adding some improvements on it i was going to point out but i had ur words in mind that said "work on the issue take ur time maintainers will pick the best one" so i didnt point it out cz normally u ask to assign |
|
@AdityaGupta716 I notice the racing between various GSoC contributors. This is bound to happen, due to the volume, and assigning non-collaborators is not the solution. The problem in this case is the identical code. This can happen in trivial PRs, but it cannot happen by chance in such complex and long PRs. I have already found such PRs from both you and @PranjalManhgaye that were almost identical:
The right thing to do (addressed now to everyone) is to disclose:
From my side, I just see duplicate PRs that I need to sort out to review the original one. It is clear to me that GSoC is a place to learn, so this is one thing to learn for the future. From my side, sorry if I am only seeing this too late, but the PRs I reviewed today were too complex and too many to ignore the similarities. |
|
@MakisH sry for this i will keep it in mind but i did review his pr it was nice only difference was Mine returns a (bool, reason) tuple from the hash comparison so the caller gets a specific error message,Mine adds a debug log when no iterations logs are found |
Archives
precice-*-iterations.logfiles from case directories intoiterations-logs/on every run, and compares them by SHA-256 hash againsta reference sidecar (
.iterations-hashes.json) to catch implicit-couplingregressions.
What this does
_collect_iterations_logs()finds allprecice-*-iterations.logfiles across each case directory__archive_iterations_logs()copies them intoiterations-logs/, prefixing with the case name when multiple cases are present to avoid filename collisions__compare_iterations_hashes()reads the reference sidecar and fails fast on any hash mismatch, missing log, or unexpected extra logrun()so regressions are caught early with a clear messagerun_for_reference_results()writes the.iterations-hashes.jsonsidecar automatically alongside the reference tar.gz at reference generation timeBackward compatibility
If no
.iterations-hashes.jsonsidecar exists for a test, the hash check is skipped and the test runs as before. Existing tests are unaffected until reference results are regenerated.Closes #440