Possible fix for sporadic test failures where DCPs are checked before they are made.
authorCarl Hetherington <cth@carlh.net>
Mon, 14 Oct 2019 13:59:26 +0000 (15:59 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 14 Oct 2019 13:59:26 +0000 (15:59 +0200)
src/lib/check_content_change_job.cc

index 0b52f414bfbc548943ecc7985dabedac91bc180e..3d5e4e979fe7745c2837599e7e838471756ac53b 100644 (file)
@@ -82,9 +82,6 @@ CheckContentChangeJob::run ()
                JobManager::instance()->add(shared_ptr<Job>(new ExamineContentJob(_film, i)));
        }
 
-       set_progress (1);
-       set_state (FINISHED_OK);
-
        if (!changed.empty()) {
                string m = _("Some files have been changed since they were added to the project.\n\nThese files will now be re-examined, so you may need to check their settings.");
                if (_following) {
@@ -96,4 +93,12 @@ CheckContentChangeJob::run ()
        } else if (_following) {
                JobManager::instance()->add (_following);
        }
+
+       /* Only set this job as finished once we have added the following job, otherwise I think
+          it's possible that the tests will sporadically fail if they check for all jobs being
+          complete in the gap between this one finishing and _following being added.
+       */
+
+       set_progress (1);
+       set_state (FINISHED_OK);
 }