Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion RegressionTests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ python3 check_results.py --baseline <baseline>/Results_process.json --results <c

The comparison first checks the two runs' inputs. It reads each run's tool versions from the `<Tool> : Version:` lines at the start of its `PlexCleaner_process.log`. A log lacking the version of any tool PlexCleaner checks at startup records no tool versions. It warns of each input other than the image and the plugins that differs, or that either run does not record. A plugin difference is only noted, since the plugins run after `Results_process.json` is written. So a corpus refresh, a thread-count change, a settings change, or a tool update shows beside the outcome differences it can explain. It then prints one line per file whose result, new name, `Modified` flag, `State` flags, failed operation, or invalid reason differs.

The comparison then reads the two runs' `PlexCleaner_process.log` files, for two further checks:
The comparison then reads the two runs' `PlexCleaner_process.log` files, for the further checks below:

- **Output tracks.** PlexCleaner logs a file's MkvMerge track list at `Debug` each time it reads the file, so the last dump describes the output. The comparison prints one line per file whose output track types, formats, or codecs differ. PlexCleaner logs the video, audio, and subtitle tracks in that order, each in file order, so a reorder within a track type differs. A file one run dumped and the other did not differs too, even where the one dump holds no tracks. A run with no log, or whose log holds no `Debug` dump, leaves the track check unverified. That fails the comparison rather than reading as a match.
- **Normalized log lines.** A parallel run interleaves files differently each time, so the two logs compare as multisets of lines. Each line first loses the fields that differ between two runs of one build. Those are the timestamps, thread and process ids, the version path segment, and the regenerated track `Uid` values. They also include ASLR addresses, the version banner lines, progress percentages, elapsed and processing times, HandBrake clock stamps, and FFmpeg progress figures. The comparison warns of each normalized line one run holds more often than the other.
Expand Down
Loading