[ 
https://issues.apache.org/jira/browse/UNOMI-944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Serge Huber reassigned UNOMI-944:
---------------------------------

    Assignee: Serge Huber

> Add integration test developer tooling for run archival, cross-run 
> comparison, and live Karaf inspection
> --------------------------------------------------------------------------------------------------------
>
>                 Key: UNOMI-944
>                 URL: https://issues.apache.org/jira/browse/UNOMI-944
>             Project: Apache Unomi
>          Issue Type: Sub-task
>          Components: unomi(-core)
>    Affects Versions: unomi-3.1.0
>            Reporter: Serge Huber
>            Assignee: Serge Huber
>            Priority: Major
>             Fix For: unomi-3.1.0
>
>
> When integration tests fail, developers spend a lot of time on friction that 
> has nothing to do with the actual bug.
> *The problems today*
>  * Every rebuild wipes {{itests/target/}} — taking server logs, test reports, 
> and configuration with it. If you didn't look before rebuilding, the evidence 
> is gone.
>  * Deciding whether a failure is a real regression or just a flaky test means 
> manually running the suite multiple times and keeping mental notes of which 
> tests failed in which run. There is no structured way to compare runs.
>  * The Karaf server is created with a random UUID directory name each run. 
> Finding the log file or attaching a debugger means hunting for that path 
> every time.
>  * When a developer reports a failure, there is no record of which search 
> engine, heap sizes, or build flags were used. Reproducing it requires 
> guessing.
> *What this ticket adds*
> A set of opt-in shell scripts in {{itests/}} that cover the full lifecycle of 
> an IT run:
>  * *{{archive-it-run.sh}}* — captures a structured snapshot of test results, 
> server logs, engine configuration, and build options after a run, before the 
> next build wipes them. Also generates a filtered view of the server log that 
> strips out intentional noise (errors that tests deliberately trigger) so only 
> unexpected failures stand out.
>  * *{{compare-it-runs.sh}}* — diffs two or more snapshots and classifies each 
> test as consistently failing, consistently passing, or flaky.
>  * *{{kt.sh}}* — a small utility that auto-locates the current Karaf test 
> instance and provides {{{}log{}}}, {{{}tail{}}}, {{{}grep{}}}, {{{}start{}}}, 
> {{{}stop{}}}, and {{debug}} commands without needing to find the UUID path 
> manually.
>  * *Build trace in {{build.sh}}* — records the exact Maven options, search 
> engine, heap sizes, and flags for every IT run so failures can be reproduced 
> precisely.
>  * *{{itests/README.md}}* — updated to document all tooling in one place.
> *Who is affected*
> Developers running or debugging integration tests locally. This has no impact 
> on production code, API behaviour, or CI pipelines. All tooling is opt-in and 
> runs outside the normal build path.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to