buildbot / buildbot

@@ -619,9 +619,9 @@
Loading
619 619
        this worker will not start.
620 620
        """
621 621
622 -
        # If we're waiting to shutdown gracefully or paused, then we shouldn't
622 +
        # If we're waiting to shutdown gracefully, paused or quarantined then we shouldn't
623 623
        # accept any new jobs.
624 -
        if self._graceful or self._paused:
624 +
        if self._graceful or self._paused or self.quarantine_timer:
625 625
            return False
626 626
627 627
        if self.max_builds:
@@ -667,6 +667,7 @@
Loading
667 667
    def unpause(self):
668 668
        """Restart running new builds on the worker."""
669 669
        self._paused = False
670 +
        self.stopQuarantineTimer()
670 671
        self.botmaster.maybeStartBuildsForWorker(self.name)
671 672
        self.updateState()
672 673
@@ -680,7 +681,6 @@
Loading
680 681
        if self.quarantine_timer:  # already in quarantine
681 682
            return
682 683
683 -
        self.pause()
684 684
        self.quarantine_timer = self.master.reactor.callLater(
685 685
            self.quarantine_timeout, self.exitQuarantine)
686 686
        log.msg("{} has been put in quarantine for {}s".format(
@@ -692,14 +692,14 @@
Loading
692 692
            self.quarantine_timeout = self.quarantine_max_timeout
693 693
694 694
    def exitQuarantine(self):
695 +
        log.msg("{} has left quarantine".format(self.name))
695 696
        self.quarantine_timer = None
696 -
        self.unpause()
697 +
        self.botmaster.maybeStartBuildsForWorker(self.name)
697 698
698 699
    def stopQuarantineTimer(self):
699 700
        if self.quarantine_timer is not None:
700 701
            self.quarantine_timer.cancel()
701 -
            self.quarantine_timer = None
702 -
            self.unpause()
702 +
            self.exitQuarantine()
703 703
704 704
705 705
class Worker(AbstractWorker):
Files Coverage
master/buildbot 92.15%
worker/buildbot_worker 85.07%
Project Totals (345 files) 91.72%
Untitled
Untitled

No yaml found.

Create your codecov.yml to customize your Codecov experience

Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files. The size and color of each slice is representing the number of statements and the coverage, respectively.
Grid
Each block represents a single file in the project. The size and color of each block is represented by the number of statements and the coverage, respectively.
Loading