diff --git a/packages/common/NEWS.md b/packages/common/NEWS.md index 59e2df12c3..74e7f95707 100644 --- a/packages/common/NEWS.md +++ b/packages/common/NEWS.md @@ -1,8 +1,8 @@ User-visible changes in `@endo/common`: -# next release +# Next release -- Change to `throwLabeled` +- `throwLabeled` parameterized error construction - Like the assertion functions/methods that were parameterized by an error constructor (`makeError`, `assert`, `assert.fail`, `assert.equal`), `throwLabeled` now also accepts named options `cause` and `errors` in its diff --git a/packages/errors/NEWS.md b/packages/errors/NEWS.md index 721867a95e..7cc4c2fbd4 100644 --- a/packages/errors/NEWS.md +++ b/packages/errors/NEWS.md @@ -1,6 +1,6 @@ User-visible changes in `@endo/errors`: -# next release +# Next release - `AggegateError` support - Assertion functions/methods that were parameterized by an error constructor diff --git a/packages/marshal/NEWS.md b/packages/marshal/NEWS.md index bcf9f35117..79f302c736 100644 --- a/packages/marshal/NEWS.md +++ b/packages/marshal/NEWS.md @@ -1,6 +1,6 @@ User-visible changes in `@endo/marshal`: -# next release +# Next release - Sending and receiving extended errors. - As of the previous release, `@endo/marshal` tolerates extra error diff --git a/packages/marshal/test/test-marshal-capdata.js b/packages/marshal/test/test-marshal-capdata.js index f4854083d7..10712862a3 100644 --- a/packages/marshal/test/test-marshal-capdata.js +++ b/packages/marshal/test/test-marshal-capdata.js @@ -168,7 +168,6 @@ test('unserialize extended errors', t => { t.false('extraProp' in refErr); t.false('cause' in refErr); t.false('errors' in refErr); - console.log('error with extra prop', refErr); const aggErr = uns( '{"@qclass":"error","message":"msg","name":"AggregateError","extraProp":"foo","cause":"bar","errors":["zip","zap"]}', @@ -177,7 +176,6 @@ test('unserialize extended errors', t => { t.false('extraProp' in aggErr); t.false('cause' in aggErr); t.is(aggErr.errors.length, 0); - console.log('error with extra prop', aggErr); const unkErr = uns( '{"@qclass":"error","message":"msg","name":"UnknownError","extraProp":"foo","cause":"bar","errors":["zip","zap"]}', @@ -186,14 +184,12 @@ test('unserialize extended errors', t => { t.false('extraProp' in unkErr); t.false('cause' in unkErr); t.false('errors' in unkErr); - console.log('error with extra prop', unkErr); }); -test('unserialize errors w recognized extensions', t => { - if (typeof AggregateError === 'undefined') { - t.pass('skip test on platforms prior to AggregateError'); - return; - } +const testIfAggregateError = + typeof AggregateError !== 'undefined' ? test : test.skip; + +testIfAggregateError('unserialize errors w recognized extensions', t => { const { unserialize } = makeTestMarshal(); const uns = body => unserialize({ body, slots: [] }); @@ -206,7 +202,6 @@ test('unserialize errors w recognized extensions', t => { t.false('extraProp' in refErr); t.is(getPrototypeOf(refErr.cause), URIError.prototype); t.is(getPrototypeOf(refErr.errors[0]), URIError.prototype); - console.log('error with extra prop', refErr); const aggErr = uns( `{"@qclass":"error","message":"msg","name":"AggregateError","extraProp":"foo","cause":${errEnc},"errors":[${errEnc}]}`, @@ -215,7 +210,6 @@ test('unserialize errors w recognized extensions', t => { t.false('extraProp' in aggErr); t.is(getPrototypeOf(aggErr.cause), URIError.prototype); t.is(getPrototypeOf(aggErr.errors[0]), URIError.prototype); - console.log('error with extra prop', aggErr); const unkErr = uns( `{"@qclass":"error","message":"msg","name":"UnknownError","extraProp":"foo","cause":${errEnc},"errors":[${errEnc}]}`, @@ -224,8 +218,6 @@ test('unserialize errors w recognized extensions', t => { t.false('extraProp' in unkErr); t.is(getPrototypeOf(unkErr.cause), URIError.prototype); t.is(getPrototypeOf(unkErr.errors[0]), URIError.prototype); - - console.log('error with extra prop', unkErr); }); test('passStyleOf null is "null"', t => { diff --git a/packages/marshal/test/test-marshal-smallcaps.js b/packages/marshal/test/test-marshal-smallcaps.js index 86e75bdeca..917d7e03d0 100644 --- a/packages/marshal/test/test-marshal-smallcaps.js +++ b/packages/marshal/test/test-marshal-smallcaps.js @@ -174,7 +174,6 @@ test('smallcaps unserialize extended errors', t => { t.false('extraProp' in refErr); t.false('cause' in refErr); t.false('errors' in refErr); - console.log('error with extra prop', refErr); const aggErr = uns( '#{"#error":"msg","name":"AggregateError","extraProp":"foo","cause":"bar","errors":["zip","zap"]}', @@ -183,7 +182,6 @@ test('smallcaps unserialize extended errors', t => { t.false('extraProp' in aggErr); t.false('cause' in aggErr); t.is(aggErr.errors.length, 0); - console.log('error with extra prop', aggErr); const unkErr = uns( '#{"#error":"msg","name":"UnknownError","extraProp":"foo","cause":"bar","errors":["zip","zap"]}', @@ -192,7 +190,6 @@ test('smallcaps unserialize extended errors', t => { t.false('extraProp' in unkErr); t.false('cause' in unkErr); t.false('errors' in unkErr); - console.log('error with extra prop', unkErr); }); test('smallcaps unserialize errors w recognized extensions', t => { @@ -212,7 +209,6 @@ test('smallcaps unserialize errors w recognized extensions', t => { t.false('extraProp' in refErr); t.is(getPrototypeOf(refErr.cause), URIError.prototype); t.is(getPrototypeOf(refErr.errors[0]), URIError.prototype); - console.log('error with extra prop', refErr); const aggErr = uns( `#{"#error":"msg","name":"AggregateError","extraProp":"foo","cause":${errEnc},"errors":[${errEnc}]}`, @@ -221,7 +217,6 @@ test('smallcaps unserialize errors w recognized extensions', t => { t.false('extraProp' in aggErr); t.is(getPrototypeOf(refErr.cause), URIError.prototype); t.is(getPrototypeOf(refErr.errors[0]), URIError.prototype); - console.log('error with extra prop', aggErr); const unkErr = uns( `#{"#error":"msg","name":"UnknownError","extraProp":"foo","cause":${errEnc},"errors":[${errEnc}]}`, @@ -230,7 +225,6 @@ test('smallcaps unserialize errors w recognized extensions', t => { t.false('extraProp' in unkErr); t.is(getPrototypeOf(refErr.cause), URIError.prototype); t.is(getPrototypeOf(refErr.errors[0]), URIError.prototype); - console.log('error with extra prop', unkErr); }); test('smallcaps mal-formed @qclass', t => { diff --git a/packages/pass-style/NEWS.md b/packages/pass-style/NEWS.md index 767cc5cc17..45b41050ac 100644 --- a/packages/pass-style/NEWS.md +++ b/packages/pass-style/NEWS.md @@ -1,6 +1,6 @@ User-visible changes in `@endo/pass-style`: -# next release +# Next release - Now supports `AggegateError`, `error.errors`, `error.cause`. - A `Passable` error can now include an `error.cause` property whose diff --git a/packages/pass-style/src/passStyleOf.js b/packages/pass-style/src/passStyleOf.js index 32b43db37b..f77e673bd5 100644 --- a/packages/pass-style/src/passStyleOf.js +++ b/packages/pass-style/src/passStyleOf.js @@ -239,9 +239,11 @@ harden(assertPassable); * * TODO Deprecate and ultimately delete @agoric/base-zone's `isPassable' in * favor of this one. + * See https://github.com/endojs/endo/issues/2096 * * TODO implement an isPassable that does not rely on try/catch. - * This implementation is just a standin until then + * This implementation is just a standin until then. + * See https://github.com/endojs/endo/issues/2096 * * @param {any} specimen * @returns {specimen is Passable} diff --git a/packages/patterns/NEWS.md b/packages/patterns/NEWS.md index f2a706836c..e8281da1e0 100644 --- a/packages/patterns/NEWS.md +++ b/packages/patterns/NEWS.md @@ -1,6 +1,6 @@ User-visible changes in `@endo/patterns`: -# next release +# Next release - Add `M.tagged(tagPattern, payloadPattern)` for making patterns that match Passable Tagged objects. diff --git a/packages/ses/NEWS.md b/packages/ses/NEWS.md index b35dca6a43..c1bc12e6d3 100644 --- a/packages/ses/NEWS.md +++ b/packages/ses/NEWS.md @@ -1,6 +1,6 @@ User-visible changes in SES: -# next release +# Next release - Now supports `Promise.any`, `AggegateError`, `error.errors`, and `error.cause`.