diff --git a/master/buildbot/steps/transfer.py b/master/buildbot/steps/transfer.py index 09b37509b78..eb7bf890a2a 100644 --- a/master/buildbot/steps/transfer.py +++ b/master/buildbot/steps/transfer.py @@ -481,7 +481,8 @@ def __init__(self, s, slavedest, self.blocksize = blocksize if not isinstance(mode, (int, type(None))): config.error( - 'mode must be an integer or None') + "StringDownload step's mode must be an integer or None," + " got '%s'" % mode) self.mode = mode def start(self): diff --git a/master/buildbot/test/unit/test_steps_transfer.py b/master/buildbot/test/unit/test_steps_transfer.py index cfdcefb9bff..f34521a9233 100644 --- a/master/buildbot/test/unit/test_steps_transfer.py +++ b/master/buildbot/test/unit/test_steps_transfer.py @@ -183,6 +183,16 @@ def upload_behavior(command): return d class TestStringDownload(unittest.TestCase): + + # check that ConfigErrors is raised on invalid 'mode' argument + def testModeConfError(self): + self.assertRaisesRegexp( + config.ConfigErrors, + "StringDownload step's mode must be an integer or None," + " got 'not-a-number'", + transfer.StringDownload, + "string", "file", mode="not-a-number") + def testBasic(self): s = transfer.StringDownload("Hello World", "hello.txt") s.build = Mock()