The asynchronous TCP driver in tests/jsmarionette/client/marionette-client/lib/marionette/drivers/abstract.js is not compatible with Marionette protocol level 3 that will get introduced in bug 1211489. This causes tests/jsmarionette/runner/marionette-js-runner/test/integration/clientasync.js to fail with bug 1211489 is applied to Gecko. To fix this issue we apply the same logic from the synchronous TCP driver to marshal and unmarshal messages when talking to a protocol level 3 server.
Comment on attachment 8693569 [details] [review] [gaia] andreastt:bug_1229011 > mozilla-b2g:master LGTM! Ship it! :)