mirror of
https://github.com/balena-io/etcher.git
synced 2025-07-19 17:26:34 +00:00
fix(child-writer): Fix handling of user errors over IPC
This fixes transmission of user errors over IPC, as the `report` property was previously missing. Further it also adds more properties to `errors.toJSON`, like `syscall`, `errno`, etc. and re-uses the method for failure signalling. Change-Type: patch
This commit is contained in:
parent
1c43ee1b18
commit
cc848ef9f2
@ -151,7 +151,7 @@ ipc.connectTo(IPC_SERVER_ID, () => {
|
|||||||
const onError = (error) => {
|
const onError = (error) => {
|
||||||
log(`Error: ${error.message}`)
|
log(`Error: ${error.message}`)
|
||||||
exitCode = EXIT_CODES.GENERAL_ERROR
|
exitCode = EXIT_CODES.GENERAL_ERROR
|
||||||
ipc.of[IPC_SERVER_ID].emit('error', error)
|
ipc.of[IPC_SERVER_ID].emit('error', errors.toJSON(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -163,15 +163,7 @@ ipc.connectTo(IPC_SERVER_ID, () => {
|
|||||||
const onFail = (event) => {
|
const onFail = (event) => {
|
||||||
ipc.of[IPC_SERVER_ID].emit('fail', {
|
ipc.of[IPC_SERVER_ID].emit('fail', {
|
||||||
device: event.device,
|
device: event.device,
|
||||||
error: {
|
error: errors.toJSON(event.error)
|
||||||
name: event.error.name,
|
|
||||||
message: event.error.message,
|
|
||||||
code: event.error.code,
|
|
||||||
syscall: event.error.syscall,
|
|
||||||
errno: event.error.errno,
|
|
||||||
stack: event.error.stack,
|
|
||||||
stdout: event.error.stdout
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,11 +336,16 @@ exports.toJSON = (error) => {
|
|||||||
const errorObject = isErrorLike ? error : new Error(error)
|
const errorObject = isErrorLike ? error : new Error(error)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
name: errorObject.name,
|
||||||
message: errorObject.message,
|
message: errorObject.message,
|
||||||
description: errorObject.description,
|
description: errorObject.description,
|
||||||
stack: errorObject.stack,
|
stack: errorObject.stack,
|
||||||
report: errorObject.report,
|
report: errorObject.report,
|
||||||
code: errorObject.code
|
code: errorObject.code,
|
||||||
|
syscall: errorObject.syscall,
|
||||||
|
errno: errorObject.errno,
|
||||||
|
stdout: errorObject.stdout,
|
||||||
|
stderr: errorObject.stderr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -646,7 +646,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: undefined,
|
description: undefined,
|
||||||
message: 'My error',
|
message: 'My error',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: undefined
|
report: undefined,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -659,7 +664,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: 'My description',
|
description: 'My description',
|
||||||
message: 'My error',
|
message: 'My error',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: undefined
|
report: undefined,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -672,7 +682,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: undefined,
|
description: undefined,
|
||||||
message: 'My error',
|
message: 'My error',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: undefined
|
report: undefined,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -686,7 +701,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: 'My description',
|
description: 'My description',
|
||||||
message: 'My error',
|
message: 'My error',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: undefined
|
report: undefined,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -699,7 +719,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: undefined,
|
description: undefined,
|
||||||
message: 'My error',
|
message: 'My error',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: true
|
report: true,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -711,7 +736,12 @@ describe('Shared: Errors', function () {
|
|||||||
description: undefined,
|
description: undefined,
|
||||||
message: '',
|
message: '',
|
||||||
stack: error.stack,
|
stack: error.stack,
|
||||||
report: undefined
|
report: undefined,
|
||||||
|
stderr: undefined,
|
||||||
|
stdout: undefined,
|
||||||
|
syscall: undefined,
|
||||||
|
name: 'Error',
|
||||||
|
errno: undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user