mattcasters opened a new pull request, #7855:
URL: https://github.com/apache/hop/pull/7855

   ## What
   
   Adds unit tests that lock in Filter Rows runtime isolation of the filter 
`Condition` from shared transform metadata.
   
   ## Why
   
   Issue #7734 reported that editing a Filter Rows condition in Hop GUI while a 
Local Pipeline Engine run was active could change True/False routing 
mid-execution.
   
   That behavior was already fixed by #7686, which clones the condition into 
`data.condition` at `init()` and evaluates that private copy instead of 
`meta.getCondition()`. The reporter's build (`hop-client-2.19.0-20260724`) 
predated that change.
   
   This PR does not change production code; it adds regression coverage so the 
isolation contract cannot regress:
   
   - After `init()`, replacing or mutating the meta condition must not change 
runtime evaluation (atomic and nested cases).
   - `FilterRowsMeta.clone()` deep-copies the condition tree / `CValue` 
instances for copy-paste and undo safety.
   
   ## How
   
   - `FilterRowsTest`: simulate GUI meta mutation after `init()` and assert 
`data.condition` keeps the original rule.
   - `FilterRowsMetaTest`: assert deep clone independence for nested conditions.
   
   ## Testing
   
   ```bash
   ./mvnw -pl plugins/transforms/filterrows -am test 
-Dtest=FilterRowsTest,FilterRowsMetaTest -Dsurefire.failIfNoSpecifiedTests=false
   ```
   
   All 14 Filter Rows unit tests pass.
   
   Fixes #7734


-- 
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