summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-07-06 12:00:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-08 09:57:06 +0100
commita55c280c167f84caed6518119246e5a55f56cfd4 (patch)
tree5710dc583c55adbc9daca37eaab12c3f783a625e /bin
parent2e09074c70e89402de8f883dd402cd729118fc7e (diff)
downloadbitbake-contrib-a55c280c167f84caed6518119246e5a55f56cfd4.tar.gz
eventreplay: fix event loading code
Event objects are represented by base64-encoded strings in the event file and can't be loaded by existing eventreplay code. Fixed the code of loading events from file by decoding base64 strings into the binary form and loading them with pickle.load. [YOCTO #9585] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/toaster-eventreplay4
1 files changed, 3 insertions, 1 deletions
diff --git a/bin/toaster-eventreplay b/bin/toaster-eventreplay
index 03b5dde93..a1072988a 100755
--- a/bin/toaster-eventreplay
+++ b/bin/toaster-eventreplay
@@ -29,6 +29,7 @@
from __future__ import print_function
import os
import sys, logging
+import codecs
# mangle syspath to allow easy import of modules
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
@@ -117,7 +118,8 @@ class FileReadEventsServerConnection():
try:
event_data = json.loads(line.strip())
event_class = _import_class(event_data['class'])
- event_object = pickle.loads(json.loads(event_data['vars']))
+ event_str = event_data['vars'].encode('utf-8')
+ event_object = pickle.loads(codecs.decode(event_str, 'base64'))
except ValueError as e:
print("Failed loading ", line)
raise e