Comment 5 for bug 1025381

Revision history for this message
Jeff Lane  (bladernr) wrote :

After poking around a bit more, I think this is the problem:

checkbox-certitification-submit:

def get_request(messages):
    return bpickle.dumps({
        "messages": messages,
        "sequence": 0,
        "total-messages": len(messages),
        })

In python 2.x, pickle.dumps returns a string object. In python3, this returns a bytes object. Looking through the debug logs for checkbox-certification-submit helped me catch this.

To confirm, I reverted checkbox-certification-submit to work in Python 2.7 and tried again and this time it was successful:

bladernr@klaatu:~/development/checkbox-certification-0.12$ PYTHONPATH=.,/home/bladernr/development/trunks/checkbox-0.12,$PYTHONPATH bin/checkbox-certification-submit --hwid a00D000000LU9Jd /home/bladernr/Downloads/x3550/checbox/submission.xml
2012-07-17 11:54:04,220 INFO Preparing to submit results using Hardware ID: a00D000000LU9Jd
2012-07-17 11:54:04,221 INFO Getting messages
2012-07-17 11:54:25,032 INFO Exchanged 7 of 7 messages
2012-07-17 11:54:25,033 INFO Results have been successfully submitted. To review your test results now, please go to the following URL: https://certification.canonical.com/submission/PG39ZJOrWejkAw4

So that confirms that the underlying issue is the change in behaviour for pickle.dumps() for Python3