diff --git a/contrib/buildbot/build.py b/contrib/buildbot/build.py --- a/contrib/buildbot/build.py +++ b/contrib/buildbot/build.py @@ -40,6 +40,9 @@ self.builds[build_id].status = status def status(self): + # If there are no builds, the build target is by default a success + if len(self.builds.values()) == 0: + return BuildStatus.Success # If any build is a failure, the build target is a failure if any([build.status == BuildStatus.Failure for build in self.builds.values()]): return BuildStatus.Failure diff --git a/contrib/buildbot/test/test_build.py b/contrib/buildbot/test/test_build.py --- a/contrib/buildbot/test/test_build.py +++ b/contrib/buildbot/test/test_build.py @@ -22,6 +22,10 @@ # Create a build target build_target = BuildTarget(build_target_phid) + # With no builds, the target has default status of success + self.assertEqual(build_target.status(), BuildStatus.Success) + self.assertEqual(build_target.is_finished(), True) + # Queue a few builds for i in range(10): name = "build-{}".format(i)