cbuildbot.py: correctly unpack dictionary from --mock-slave-status
This CL fixes cbuildbot's --mock-slave-status command so that the
pickled dictionaries that represent BuilderStatus objects are correctly
turned into BuilderStatus objects.
BUG=None
TEST=local tryjobs
Change-Id: I301258141c2fab1a2f0f404e16c167a4038555c8
Reviewed-on: https://chromium-review.googlesource.com/189374
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 75292b5..a4238b4 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -27,6 +27,7 @@
from chromite.buildbot import cbuildbot_results as results_lib
from chromite.buildbot import cbuildbot_run
from chromite.buildbot import constants
+from chromite.buildbot import manifest_version
from chromite.buildbot import remote_try
from chromite.buildbot import repository
from chromite.buildbot import tee
@@ -1693,8 +1694,10 @@
if options.mock_slave_status is not None:
with open(options.mock_slave_status, 'r') as f:
- mock_status = pickle.load(f)
+ mock_statuses = pickle.load(f)
+ for key, value in mock_statuses.iteritems():
+ mock_statuses[key] = manifest_version.BuilderStatus(**value)
stack.Add(mock.patch.object, stages.MasterSlaveSyncCompletionStage,
- '_FetchSlaveStatuses', return_value=mock_status)
+ '_FetchSlaveStatuses', return_value=mock_statuses)
_RunBuildStagesWrapper(options, build_config)