From 9eb3eea3f1c428a477fc2f9559d1cd40beeebcee Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Wed, 1 Aug 2018 20:52:21 +0200 Subject: [PATCH] fix(writer): Set EVALIDATION on blockmap checksum errors This patches validation errors coming form the `blockmap` module to have the `EVALIDATION` error code, in order to trigger the appropriate code paths and analytics. Change-type: patch Signed-off-by: Jonas Hermsmeier --- lib/sdk/writer/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/sdk/writer/index.js b/lib/sdk/writer/index.js index 391f9ea1..177c5162 100644 --- a/lib/sdk/writer/index.js +++ b/lib/sdk/writer/index.js @@ -515,6 +515,12 @@ class ImageWriter extends EventEmitter { const pipeline = this._createVerifyPipeline(destination) pipeline.on('error', (error) => { + // NOTE: As the `blockmap` module doesn't set our custom error codes, + // we need to patch `EVALIDATION` into a range checksum error here + if (error.message && error.message.startsWith('Invalid checksum for range')) { + error.code = 'EVALIDATION' + this.emit('fail', { device: destination.device.device, error }) + } this.emit('error', error) })