Skip to content

Manually comparing integration test output diffs is not an adequate solution if there are a lot of changes

In PLCgen, a patch can cause hundreds of different output files even without semantic changes.

The amount of duplicated changes across files is huge, as basically we have 1 code generator with a few different settings at a limited number of places. Eg all the experimental targets use the same settings.

Another things that often happens are renumbering temp variables. The order in which temp variables are released gets changed, thus causing other variables to be used in many next expressions, giving an avalanche of diff output.

This also happens if temp tuples are created, which each have different field names. Temp tuples are often used in packing and unpacking. As these are also just variables to PLCgen, they also cause the same avalanche problem.

Verifying all this diff output manually takes a lot of time, and is error-prone.

Edited by Dennis Hendriks