buildbot / buildbot

Compare bfdb0a4 ... +0 ... b4c0b7c

Coverage Reach
master/buildbot/steps/source/git.py master/buildbot/steps/source/svn.py master/buildbot/steps/source/repo.py master/buildbot/steps/source/cvs.py master/buildbot/steps/source/mercurial.py master/buildbot/steps/source/mtn.py master/buildbot/steps/source/p4.py master/buildbot/steps/source/bzr.py master/buildbot/steps/source/darcs.py master/buildbot/steps/source/base.py master/buildbot/steps/source/gerrit.py master/buildbot/steps/source/gitlab.py master/buildbot/steps/source/github.py master/buildbot/steps/source/__init__.py master/buildbot/steps/package/deb/pbuilder.py master/buildbot/steps/package/deb/lintian.py master/buildbot/steps/package/rpm/mock.py master/buildbot/steps/package/rpm/rpmbuild.py master/buildbot/steps/package/rpm/rpmlint.py master/buildbot/steps/package/rpm/__init__.py master/buildbot/steps/package/util.py master/buildbot/steps/package/__init__.py master/buildbot/steps/vstudio.py master/buildbot/steps/shell.py master/buildbot/steps/transfer.py master/buildbot/steps/python.py master/buildbot/steps/python_twisted.py master/buildbot/steps/trigger.py master/buildbot/steps/worker.py master/buildbot/steps/master.py master/buildbot/steps/http.py master/buildbot/steps/subunit.py master/buildbot/steps/shellsequence.py master/buildbot/steps/cppcheck.py master/buildbot/steps/mswin.py master/buildbot/steps/gitdiffinfo.py master/buildbot/steps/download_secret_to_worker.py master/buildbot/steps/maxq.py master/buildbot/steps/cmake.py master/buildbot/reporters/words.py master/buildbot/reporters/telegram.py master/buildbot/reporters/irc.py master/buildbot/reporters/generators/utils.py master/buildbot/reporters/generators/buildset.py master/buildbot/reporters/generators/build.py master/buildbot/reporters/generators/buildrequest.py master/buildbot/reporters/generators/worker.py master/buildbot/reporters/gerrit.py master/buildbot/reporters/bitbucketserver.py master/buildbot/reporters/mail.py master/buildbot/reporters/message.py master/buildbot/reporters/utils.py master/buildbot/reporters/github.py master/buildbot/reporters/gitlab.py master/buildbot/reporters/gerrit_verify_status.py master/buildbot/reporters/bitbucket.py master/buildbot/reporters/base.py master/buildbot/reporters/pushover.py master/buildbot/reporters/pushjet.py master/buildbot/reporters/zulip.py master/buildbot/reporters/http.py master/buildbot/process/buildstep.py master/buildbot/process/properties.py master/buildbot/process/build.py master/buildbot/process/metrics.py master/buildbot/process/buildrequestdistributor.py master/buildbot/process/remotecommand.py master/buildbot/process/builder.py master/buildbot/process/buildrequest.py master/buildbot/process/botmaster.py master/buildbot/process/users/manual.py master/buildbot/process/users/users.py master/buildbot/process/users/manager.py master/buildbot/process/factory.py master/buildbot/process/workerforbuilder.py master/buildbot/process/log.py master/buildbot/process/logobserver.py master/buildbot/process/remotetransfer.py master/buildbot/process/results.py master/buildbot/process/debug.py master/buildbot/process/cache.py master/buildbot/process/measured_service.py master/buildbot/process/base.py master/buildbot/process/subunitlogobserver.py master/buildbot/util/__init__.py master/buildbot/util/service.py master/buildbot/util/croniter.py master/buildbot/util/runprocess.py master/buildbot/util/git.py master/buildbot/util/kubeclientservice.py master/buildbot/util/ssfilter.py master/buildbot/util/lru.py master/buildbot/util/httpclientservice.py master/buildbot/util/test_result_submitter.py master/buildbot/util/poll.py master/buildbot/util/queue.py master/buildbot/util/maildir.py master/buildbot/util/raml.py master/buildbot/util/deferwaiter.py master/buildbot/util/debounce.py master/buildbot/util/subscription.py master/buildbot/util/eventual.py master/buildbot/util/pathmatch.py master/buildbot/util/config.py master/buildbot/util/backoff.py master/buildbot/util/lineboundaries.py master/buildbot/util/sautils.py master/buildbot/util/identifiers.py master/buildbot/util/protocol.py master/buildbot/util/netstrings.py master/buildbot/util/bbcollections.py master/buildbot/util/misc.py master/buildbot/util/private_tempdir.py master/buildbot/util/latent.py master/buildbot/util/pullrequest.py master/buildbot/util/giturlparse.py master/buildbot/util/codebase.py master/buildbot/util/ssl.py master/buildbot/util/logger.py master/buildbot/util/_notifier.py master/buildbot/util/state.py master/buildbot/util/async_sort.py master/buildbot/util/tuplematch.py master/buildbot/db/logs.py master/buildbot/db/changes.py master/buildbot/db/model.py master/buildbot/db/test_results.py master/buildbot/db/pool.py master/buildbot/db/workers.py master/buildbot/db/builds.py master/buildbot/db/buildrequests.py master/buildbot/db/users.py master/buildbot/db/buildsets.py master/buildbot/db/enginestrategy.py master/buildbot/db/schedulers.py master/buildbot/db/steps.py master/buildbot/db/state.py master/buildbot/db/sourcestamps.py master/buildbot/db/build_data.py master/buildbot/db/base.py master/buildbot/db/connector.py master/buildbot/db/builders.py master/buildbot/db/test_result_sets.py master/buildbot/db/masters.py master/buildbot/db/dbconfig.py master/buildbot/db/changesources.py master/buildbot/db/migrate_utils.py master/buildbot/db/types/json.py master/buildbot/db/migrations/versions/059_2021-09-07_alembic_initial.py master/buildbot/db/tags.py master/buildbot/db/exceptions.py master/buildbot/db/__init__.py master/buildbot/www/hooks/github.py master/buildbot/www/hooks/bitbucketserver.py master/buildbot/www/hooks/gitlab.py master/buildbot/www/hooks/bitbucketcloud.py master/buildbot/www/hooks/base.py master/buildbot/www/hooks/poller.py master/buildbot/www/hooks/gitorious.py master/buildbot/www/hooks/bitbucket.py master/buildbot/www/rest.py master/buildbot/www/authz/endpointmatchers.py master/buildbot/www/authz/roles.py master/buildbot/www/authz/authz.py master/buildbot/www/authz/__init__.py master/buildbot/www/oauth2.py master/buildbot/www/service.py master/buildbot/www/avatar.py master/buildbot/www/ws.py master/buildbot/www/auth.py master/buildbot/www/ldapuserinfo.py master/buildbot/www/change_hook.py master/buildbot/www/sse.py master/buildbot/www/config.py master/buildbot/www/resource.py master/buildbot/www/graphql.py master/buildbot/www/plugin.py master/buildbot/data/types.py master/buildbot/data/resultspec.py master/buildbot/data/connector.py master/buildbot/data/graphql.py master/buildbot/data/buildrequests.py master/buildbot/data/base.py master/buildbot/data/builds.py master/buildbot/data/buildsets.py master/buildbot/data/changes.py master/buildbot/data/masters.py master/buildbot/data/workers.py master/buildbot/data/steps.py master/buildbot/data/logs.py master/buildbot/data/schedulers.py master/buildbot/data/properties.py master/buildbot/data/builders.py master/buildbot/data/logchunks.py master/buildbot/data/test_result_sets.py master/buildbot/data/forceschedulers.py master/buildbot/data/changesources.py master/buildbot/data/build_data.py master/buildbot/data/test_results.py master/buildbot/data/sourcestamps.py master/buildbot/data/root.py master/buildbot/data/patches.py master/buildbot/data/exceptions.py master/buildbot/worker/protocols/pb.py master/buildbot/worker/protocols/manager/base.py master/buildbot/worker/protocols/manager/pb.py master/buildbot/worker/protocols/base.py master/buildbot/worker/protocols/null.py master/buildbot/worker/base.py master/buildbot/worker/ec2.py master/buildbot/worker/latent.py master/buildbot/worker/docker.py master/buildbot/worker/openstack.py master/buildbot/worker/libvirt.py master/buildbot/worker/upcloud.py master/buildbot/worker/manager.py master/buildbot/worker/kubernetes.py master/buildbot/worker/marathon.py master/buildbot/worker/local.py master/buildbot/worker/__init__.py master/buildbot/changes/mail.py master/buildbot/changes/gitpoller.py master/buildbot/changes/gerritchangesource.py master/buildbot/changes/svnpoller.py master/buildbot/changes/p4poller.py master/buildbot/changes/hgpoller.py master/buildbot/changes/github.py master/buildbot/changes/changes.py master/buildbot/changes/pb.py master/buildbot/changes/bitbucket.py master/buildbot/changes/base.py master/buildbot/changes/filter.py master/buildbot/changes/manager.py master/buildbot/schedulers/forcesched.py master/buildbot/schedulers/trysched.py master/buildbot/schedulers/timed.py master/buildbot/schedulers/base.py master/buildbot/schedulers/canceller.py master/buildbot/schedulers/basic.py master/buildbot/schedulers/canceller_buildset.py master/buildbot/schedulers/dependent.py master/buildbot/schedulers/triggerable.py master/buildbot/schedulers/manager.py master/buildbot/schedulers/filter.py master/buildbot/scripts/runner.py master/buildbot/scripts/base.py master/buildbot/scripts/logwatcher.py master/buildbot/scripts/upgrade_master.py master/buildbot/scripts/start.py master/buildbot/scripts/create_master.py master/buildbot/scripts/reconfig.py master/buildbot/scripts/stop.py master/buildbot/scripts/cleanupdb.py master/buildbot/scripts/sendchange.py master/buildbot/scripts/checkconfig.py master/buildbot/scripts/user.py master/buildbot/scripts/tryserver.py master/buildbot/scripts/sample.cfg master/buildbot/scripts/restart.py master/buildbot/scripts/trycmd.py master/buildbot/clients/tryclient.py master/buildbot/clients/sendchange.py master/buildbot/clients/usersclient.py master/buildbot/config.py master/buildbot/master.py master/buildbot/statistics/capture.py master/buildbot/statistics/stats_service.py master/buildbot/statistics/storage_backends/influxdb_client.py master/buildbot/statistics/storage_backends/base.py master/buildbot/statistics/__init__.py master/buildbot/secrets/providers/vault_hvac.py master/buildbot/secrets/providers/vault.py master/buildbot/secrets/providers/file.py master/buildbot/secrets/providers/passwordstore.py master/buildbot/secrets/providers/base.py master/buildbot/secrets/secret.py master/buildbot/secrets/manager.py master/buildbot/machine/generic.py master/buildbot/machine/latent.py master/buildbot/machine/base.py master/buildbot/machine/manager.py master/buildbot/plugins/db.py master/buildbot/plugins/__init__.py master/buildbot/locks.py master/buildbot/mq/wamp.py master/buildbot/mq/simple.py master/buildbot/mq/base.py master/buildbot/mq/connector.py master/buildbot/manhole.py master/buildbot/buildbot_net_usage_data.py master/buildbot/wamp/connector.py master/buildbot/configurators/janitor.py master/buildbot/configurators/__init__.py master/buildbot/monkeypatches/__init__.py master/buildbot/monkeypatches/servicechecks.py master/buildbot/monkeypatches/decorators.py master/buildbot/pbutil.py master/buildbot/interfaces.py master/buildbot/__init__.py master/buildbot/asyncio.py master/buildbot/revlinks.py master/buildbot/scheduler.py master/buildbot/warnings.py master/buildbot/errors.py master/buildbot/buildrequest.py worker/buildbot_worker/runprocess.py worker/buildbot_worker/commands/transfer.py worker/buildbot_worker/commands/fs.py worker/buildbot_worker/commands/base.py worker/buildbot_worker/commands/shell.py worker/buildbot_worker/commands/utils.py worker/buildbot_worker/commands/registry.py worker/buildbot_worker/scripts/runner.py worker/buildbot_worker/scripts/create_worker.py worker/buildbot_worker/scripts/logwatcher.py worker/buildbot_worker/scripts/start.py worker/buildbot_worker/scripts/stop.py worker/buildbot_worker/scripts/restart.py worker/buildbot_worker/scripts/base.py worker/buildbot_worker/base.py worker/buildbot_worker/pb.py worker/buildbot_worker/util/__init__.py worker/buildbot_worker/util/_hangcheck.py worker/buildbot_worker/util/_notifier.py worker/buildbot_worker/__init__.py worker/buildbot_worker/tunnel.py worker/buildbot_worker/pbutil.py worker/buildbot_worker/monkeypatches/testcase_assert.py worker/buildbot_worker/monkeypatches/__init__.py worker/buildbot_worker/null.py worker/buildbot_worker/compat.py worker/buildbot_worker/interfaces.py worker/buildbot_worker/backports/__init__.py worker/buildbot_worker/bot.py worker/buildbot_worker/exceptions.py

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -0,0 +1,138 @@
Loading
1 +
# This file is part of Buildbot.  Buildbot is free software: you can
2 +
# redistribute it and/or modify it under the terms of the GNU General Public
3 +
# License as published by the Free Software Foundation, version 2.
4 +
#
5 +
# This program is distributed in the hope that it will be useful, but WITHOUT
6 +
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
7 +
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
8 +
# details.
9 +
#
10 +
# You should have received a copy of the GNU General Public License along with
11 +
# this program; if not, write to the Free Software Foundation, Inc., 51
12 +
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
13 +
#
14 +
# Copyright Buildbot Team Members
15 +
16 +
17 +
from twisted.application import strports
18 +
from twisted.internet import defer
19 +
from twisted.python import log
20 +
21 +
from buildbot.util import service
22 +
23 +
24 +
class BaseManager(service.AsyncMultiService):
25 +
    """
26 +
    A centralized manager for connection ports and authentication on them.
27 +
    Allows various pieces of code to request a (port, username) combo, along
28 +
    with a password and a connection factory.
29 +
    """
30 +
    def __init__(self, name):
31 +
        super().__init__()
32 +
        self.setName(name)
33 +
        self.dispatchers = {}
34 +
35 +
    @defer.inlineCallbacks
36 +
    def register(self, portstr, username, password, pfactory):
37 +
        """
38 +
        Register a connection code to be executed after a user with its USERNAME/PASSWORD
39 +
        was authenticated and a valid high level connection can be established on a PORTSTR.
40 +
        Returns a Registration object which can be used to unregister later.
41 +
        """
42 +
        # do some basic normalization of portstrs
43 +
        if isinstance(portstr, type(0)) or ':' not in portstr:
44 +
            portstr = "tcp:{}".format(portstr)
45 +
46 +
        reg = Registration(self, portstr, username)
47 +
48 +
        if portstr not in self.dispatchers:
49 +
            disp = self.dispatchers[portstr] = self.dispatcher_class(portstr)
50 +
            yield disp.setServiceParent(self)
51 +
        else:
52 +
            disp = self.dispatchers[portstr]
53 +
54 +
        disp.register(username, password, pfactory)
55 +
56 +
        return reg
57 +
58 +
    @defer.inlineCallbacks
59 +
    def _unregister(self, registration):
60 +
        disp = self.dispatchers[registration.portstr]
61 +
        disp.unregister(registration.username)
62 +
        registration.username = None
63 +
        if not disp.users:
64 +
            del self.dispatchers[registration.portstr]
65 +
            yield disp.disownServiceParent()
66 +
67 +
68 +
class Registration:
69 +
70 +
    def __init__(self, manager, portstr, username):
71 +
        self.portstr = portstr
72 +
        "portstr this registration is active on"
73 +
        self.username = username
74 +
        "username of this registration"
75 +
        self.manager = manager
76 +
77 +
    def __repr__(self):
78 +
        return "<base.Registration for {} on {}>".format(self.username, self.portstr)
79 +
80 +
    def unregister(self):
81 +
        """
82 +
        Unregister this registration, removing the username from the port, and
83 +
        closing the port if there are no more users left.  Returns a Deferred.
84 +
        """
85 +
        return self.manager._unregister(self)
86 +
87 +
    def getPort(self):
88 +
        """
89 +
        Helper method for testing; returns the TCP port used for this
90 +
        registration, even if it was specified as 0 and thus allocated by the
91 +
        OS.
92 +
        """
93 +
        disp = self.manager.dispatchers[self.portstr]
94 +
        return disp.port.getHost().port
95 +
96 +
97 +
class BaseDispatcher(service.AsyncService):
98 +
    debug = False
99 +
100 +
    def __init__(self, portstr):
101 +
        self.portstr = portstr
102 +
        self.users = {}
103 +
        self.port = None
104 +
105 +
    def __repr__(self):
106 +
        return "<base.BaseDispatcher for {} on {}>".format(", ".join(list(self.users)),
107 +
                                                           self.portstr)
108 +
109 +
    def start_listening_port(self):
110 +
        return strports.listen(self.portstr, self.serverFactory)
111 +
112 +
    def startService(self):
113 +
        assert not self.port
114 +
        self.port = self.start_listening_port()
115 +
116 +
        return super().startService()
117 +
118 +
    @defer.inlineCallbacks
119 +
    def stopService(self):
120 +
        # stop listening on the port when shut down
121 +
        assert self.port
122 +
        port, self.port = self.port, None
123 +
        yield port.stopListening()
124 +
        yield super().stopService()
125 +
126 +
    def register(self, username, password, pfactory):
127 +
        if self.debug:
128 +
            log.msg("registering username '{}' on port {}: {}".format(username, self.portstr,
129 +
                                                                      pfactory))
130 +
        if username in self.users:
131 +
            raise KeyError("username '{}' is already registered on port {}".format(username,
132 +
                                                                                   self.portstr))
133 +
        self.users[username] = (password, pfactory)
134 +
135 +
    def unregister(self, username):
136 +
        if self.debug:
137 +
            log.msg("unregistering username '{}' on port {}".format(username, self.portstr))
138 +
        del self.users[username]

@@ -14,7 +14,6 @@
Loading
14 14
# Copyright Buildbot Team Members
15 15
16 16
17 -
from twisted.application import strports
18 17
from twisted.cred import checkers
19 18
from twisted.cred import credentials
20 19
from twisted.cred import error
@@ -26,137 +25,25 @@
Loading
26 25
27 26
from buildbot.process.properties import Properties
28 27
from buildbot.util import bytes2unicode
29 -
from buildbot.util import service
30 28
from buildbot.util import unicode2bytes
31 29
from buildbot.util.eventual import eventually
32 -
33 -
debug = False
34 -
35 -
36 -
class PBManager(service.AsyncMultiService):
37 -
38 -
    """
39 -
    A centralized manager for PB ports and authentication on them.
40 -
41 -
    Allows various pieces of code to request a (port, username) combo, along
42 -
    with a password and a perspective factory.
43 -
    """
44 -
45 -
    def __init__(self):
46 -
        super().__init__()
47 -
        self.setName('pbmanager')
48 -
        self.dispatchers = {}
49 -
50 -
    @defer.inlineCallbacks
51 -
    def register(self, portstr, username, password, pfactory):
52 -
        """
53 -
        Register a perspective factory PFACTORY to be executed when a PB
54 -
        connection arrives on PORTSTR with USERNAME/PASSWORD.  Returns a
55 -
        Registration object which can be used to unregister later.
56 -
        """
57 -
        # do some basic normalization of portstrs
58 -
        if isinstance(portstr, type(0)) or ':' not in portstr:
59 -
            portstr = "tcp:{}".format(portstr)
60 -
61 -
        reg = Registration(self, portstr, username)
62 -
63 -
        if portstr not in self.dispatchers:
64 -
            disp = self.dispatchers[portstr] = Dispatcher(portstr)
65 -
            yield disp.setServiceParent(self)
66 -
        else:
67 -
            disp = self.dispatchers[portstr]
68 -
69 -
        disp.register(username, password, pfactory)
70 -
71 -
        return reg
72 -
73 -
    @defer.inlineCallbacks
74 -
    def _unregister(self, registration):
75 -
        disp = self.dispatchers[registration.portstr]
76 -
        disp.unregister(registration.username)
77 -
        registration.username = None
78 -
        if not disp.users:
79 -
            del self.dispatchers[registration.portstr]
80 -
            yield disp.disownServiceParent()
81 -
82 -
83 -
class Registration:
84 -
85 -
    def __init__(self, pbmanager, portstr, username):
86 -
        self.portstr = portstr
87 -
        "portstr this registration is active on"
88 -
        self.username = username
89 -
        "username of this registration"
90 -
91 -
        self.pbmanager = pbmanager
92 -
93 -
    def __repr__(self):
94 -
        return "<pbmanager.Registration for {} on {}>".format(self.username, self.portstr)
95 -
96 -
    def unregister(self):
97 -
        """
98 -
        Unregister this registration, removing the username from the port, and
99 -
        closing the port if there are no more users left.  Returns a Deferred.
100 -
        """
101 -
        return self.pbmanager._unregister(self)
102 -
103 -
    def getPort(self):
104 -
        """
105 -
        Helper method for testing; returns the TCP port used for this
106 -
        registration, even if it was specified as 0 and thus allocated by the
107 -
        OS.
108 -
        """
109 -
        disp = self.pbmanager.dispatchers[self.portstr]
110 -
        return disp.port.getHost().port
30 +
from buildbot.worker.protocols.manager.base import BaseDispatcher
31 +
from buildbot.worker.protocols.manager.base import BaseManager
111 32
112 33
113 34
@implementer(portal.IRealm, checkers.ICredentialsChecker)
114 -
class Dispatcher(service.AsyncService):
35 +
class Dispatcher(BaseDispatcher):
115 36
116 37
    credentialInterfaces = [credentials.IUsernamePassword,
117 38
                            credentials.IUsernameHashedPassword]
118 39
119 40
    def __init__(self, portstr):
120 -
        self.portstr = portstr
121 -
        self.users = {}
122 -
41 +
        super().__init__(portstr)
123 42
        # there's lots of stuff to set up for a PB connection!
124 43
        self.portal = portal.Portal(self)
125 44
        self.portal.registerChecker(self)
126 45
        self.serverFactory = pb.PBServerFactory(self.portal)
127 46
        self.serverFactory.unsafeTracebacks = True
128 -
        self.port = None
129 -
130 -
    def __repr__(self):
131 -
        return "<pbmanager.Dispatcher for {} on {}>".format(", ".join(list(self.users)),
132 -
                                                            self.portstr)
133 -
134 -
    def startService(self):
135 -
        assert not self.port
136 -
        self.port = strports.listen(self.portstr, self.serverFactory)
137 -
        return super().startService()
138 -
139 -
    @defer.inlineCallbacks
140 -
    def stopService(self):
141 -
        # stop listening on the port when shut down
142 -
        assert self.port
143 -
        port, self.port = self.port, None
144 -
        yield port.stopListening()
145 -
        yield super().stopService()
146 -
147 -
    def register(self, username, password, pfactory):
148 -
        if debug:
149 -
            log.msg("registering username '{}' on pb port {}: {}".format(username, self.portstr,
150 -
                                                                         pfactory))
151 -
        if username in self.users:
152 -
            raise KeyError("username '{}' is already registered on PB port {}".format(username,
153 -
                                                                                      self.portstr))
154 -
        self.users[username] = (password, pfactory)
155 -
156 -
    def unregister(self, username):
157 -
        if debug:
158 -
            log.msg("unregistering username '{}' on pb port {}".format(username, self.portstr))
159 -
        del self.users[username]
160 47
161 48
    # IRealm
162 49
@@ -200,3 +87,10 @@
Loading
200 87
            # brake the callback stack by returning to the reactor
201 88
            # before waking up other waiters
202 89
            eventually(self.master.initLock.release)
90 +
91 +
92 +
class PBManager(BaseManager):
93 +
    def __init__(self):
94 +
        super().__init__('pbmanager')
95 +
96 +
    dispatcher_class = Dispatcher

Learn more Showing 31 files with coverage changes found.

Changes in master/buildbot/util/sautils.py
-7
+7
Loading file...
Changes in master/buildbot/scripts/cleanupdb.py
-7
+7
Loading file...
Changes in master/buildbot/asyncio.py
-2
+2
Loading file...
Changes in master/buildbot/__init__.py
-1
+1
Loading file...
Changes in worker/buildbot_worker/__init__.py
-1
+1
Loading file...
Changes in master/buildbot/db/connector.py
-1
+1
Loading file...
Changes in master/buildbot/data/graphql.py
-1
+1
Loading file...
Changes in master/buildbot/process/buildrequestdistributor.py
-4
+1
Loading file...
Changes in master/buildbot/util/queue.py
-2
Loading file...
Changes in master/buildbot/steps/package/rpm/rpmbuild.py
-1
Loading file...
Changes in master/buildbot/steps/python_twisted.py
-3
Loading file...
Changes in master/buildbot/db/pool.py
-1
Loading file...
Changes in master/buildbot/worker/ec2.py
-1
Loading file...
Changes in master/buildbot/steps/python.py
-4
Loading file...
Changes in master/buildbot/db/build_data.py
-1
Loading file...
Changes in master/buildbot/scripts/base.py
-1
Loading file...
Changes in master/buildbot/data/logs.py
-1
Loading file...
Changes in worker/buildbot_worker/runprocess.py
-1
Loading file...
Changes in master/buildbot/reporters/telegram.py
-2
Loading file...
Changes in master/buildbot/steps/package/deb/pbuilder.py
-1
Loading file...
Changes in master/buildbot/util/kubeclientservice.py
-1
Loading file...
Changes in master/buildbot/db/buildrequests.py
-1
Loading file...
Changes in master/buildbot/db/base.py
-1
Loading file...
Changes in master/buildbot/steps/source/svn.py
-1
Loading file...
Changes in master/buildbot/process/build.py
-1
Loading file...
Changes in master/buildbot/db/builds.py
-1
Loading file...
Changes in master/buildbot/db/steps.py
-1
Loading file...
Changes in master/buildbot/steps/shell.py
-1
Loading file...
Changes in master/buildbot/steps/cppcheck.py
-1
Loading file...
New file master/buildbot/worker/protocols/manager/base.py
New
Loading file...
Changes in master/buildbot/steps/package/rpm/mock.py
-1
Loading file...
Files Coverage
master/buildbot -0.05% 92.27%
worker/buildbot_worker -0.05% 85.63%
Project Totals (335 files) 91.86%
Loading