NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.54k stars 332 forks source link

Make TrackerTest random numbers consistent across platforms. #875

Closed acolwell closed 1 year ago

acolwell commented 1 year ago

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:

PR Description

What type of PR is this? (Check one of the boxes below)

What does this pull request do?

Changed TrackerTests that use random numbers to use a specific random number generator and seed so that the random numbers are guaranteed to be the same no matter what platform you are on. This ensures that we are testing with the same data on all platforms.

The existing code used srand/rand which are not guaranteed to be the same implementation across platforms and it was leading to test failures on Windows that were not occurring on Linux.

Have you tested your changes (if applicable)? If so, how?

Yes. The tests now use the same data and pass on Windows & Linux. I haven't tested on Mac, but it should work.