Your message dated Mon, 23 Mar 2020 20:56:56 +0000
with message-id <e1jgu80-000gg3...@fasolo.debian.org>
and subject line Bug#954585: fixed in should.js 13.2.3~dfsg-3
has caused the Debian Bug report #954585,
regarding should.js: FTBFS: dh_auto_test: error: cd ./should-equal && sh -e 
../debian/nodejs/should-equal/test returned exit code 1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
954585: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954585
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: should.js
Version: 13.2.3~dfsg-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200321 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
>  debian/rules build
> dh build --with nodejs
>    dh_update_autotools_config
>    dh_autoreconf
>    dh_auto_configure --buildsystem=nodejs
>       mkdir node_modules
>       ln -s /usr/share/nodejs/rollup-plugin-node-resolve ./node_modules/
>       ln -s ../should-equal node_modules/should-equal
>       ln -s ../should-format node_modules/should-format
>       ln -s ../should-type node_modules/should-type
>       ln -s ../should-type-adaptors node_modules/should-type-adaptors
>       ln -s ../should-util node_modules/should-util
>    dh_auto_build --buildsystem=nodejs
> Found debian/nodejs/should-equal/build
>       cd ./should-equal && sh -e ../debian/nodejs/should-equal/build
> (!) You have passed an unrecognized option
> Unknown CLI flag: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
> 17, 18. Allowed options: acorn, acornInjectPlugins, amd, assetFileNames, 
> banner, c, cache, chunkFileNames, chunkGroupingSize, compact, config, 
> context, d, dir, dynamicImportFunction, e, entryFileNames, environment, 
> esModule, experimentalCacheExpiry, experimentalOptimizeChunks, 
> experimentalTopLevelAwait, exports, extend, external, f, file, footer, 
> format, freeze, g, globals, h, i, indent, inlineDynamicImports, input, 
> interop, intro, m, manualChunks, moduleContext, n, name, 
> namespaceToStringTag, noConflict, o, onwarn, outro, paths, perf, plugins, 
> preferConst, preserveModules, preserveSymlinks, shimMissingExports, silent, 
> sourcemap, sourcemapExcludeSources, sourcemapFile, strict, treeshake, v, w, 
> watch
> 
> index.js → stdout...
> 'use strict';
> 
> function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 
> 'default' in ex) ? ex['default'] : ex; }
> 
> var t = _interopDefault(require('should-type'));
> 
> function format(msg) {
>   var args = arguments;
>   for (var i = 1, l = args.length; i < l; i++) {
>     msg = msg.replace(/%s/, args[i]);
>   }
>   return msg;
> }
> 
> var hasOwnProperty = Object.prototype.hasOwnProperty;
> 
> function EqualityFail(a, b, reason, path) {
>   this.a = a;
>   this.b = b;
>   this.reason = reason;
>   this.path = path;
> }
> 
> function typeToString(tp) {
>   return tp.type + (tp.cls ? "(" + tp.cls + (tp.sub ? " " + tp.sub : "") + 
> ")" : "");
> }
> 
> var PLUS_0_AND_MINUS_0 = "+0 is not equal to -0";
> var DIFFERENT_TYPES = "A has type %s and B has type %s";
> var EQUALITY = "A is not equal to B";
> var EQUALITY_PROTOTYPE = "A and B have different prototypes";
> var WRAPPED_VALUE = "A wrapped value is not equal to B wrapped value";
> var FUNCTION_SOURCES = "function A is not equal to B by source code value 
> (via .toString call)";
> var MISSING_KEY = "%s has no key %s";
> var SET_MAP_MISSING_KEY = "Set/Map missing key %s";
> 
> var DEFAULT_OPTIONS = {
>   checkProtoEql: true,
>   checkSubType: true,
>   plusZeroAndMinusZeroEqual: true,
>   collectAllFails: false
> };
> 
> function setBooleanDefault(property, obj, opts, defaults) {
>   obj[property] = typeof opts[property] !== "boolean" ? defaults[property] : 
> opts[property];
> }
> 
> var METHOD_PREFIX = "_check_";
> 
> function EQ(opts, a, b, path) {
>   opts = opts || {};
> 
>   setBooleanDefault("checkProtoEql", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("plusZeroAndMinusZeroEqual", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("checkSubType", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("collectAllFails", this, opts, DEFAULT_OPTIONS);
> 
>   this.a = a;
>   this.b = b;
> 
>   this._meet = opts._meet || [];
> 
>   this.fails = opts.fails || [];
> 
>   this.path = path || [];
> }
> 
> function ShortcutError(fail) {
>   this.name = "ShortcutError";
>   this.message = "fail fast";
>   this.fail = fail;
> }
> 
> ShortcutError.prototype = Object.create(Error.prototype);
> 
> EQ.checkStrictEquality = function(a, b) {
>   this.collectFail(a !== b, EQUALITY);
> };
> 
> EQ.add = function add(type, cls, sub, f) {
>   var args = Array.prototype.slice.call(arguments);
>   f = args.pop();
>   EQ.prototype[METHOD_PREFIX + args.join("_")] = f;
> };
> 
> EQ.prototype = {
>   check: function() {
>     try {
>       this.check0();
>     } catch (e) {
>       if (e instanceof ShortcutError) {
>         return [e.fail];
>       }
>       throw e;
>     }
>     return this.fails;
>   },
> 
>   check0: function() {
>     var a = this.a;
>     var b = this.b;
> 
>     // equal a and b exit early
>     if (a === b) {
>       // check for +0 !== -0;
>       return this.collectFail(a === 0 && 1 / a !== 1 / b && 
> !this.plusZeroAndMinusZeroEqual, PLUS_0_AND_MINUS_0);
>     }
> 
>     var typeA = t(a);
>     var typeB = t(b);
> 
>     // if objects has different types they are not equal
>     if (typeA.type !== typeB.type || typeA.cls !== typeB.cls || typeA.sub !== 
> typeB.sub) {
>       return this.collectFail(true, format(DIFFERENT_TYPES, 
> typeToString(typeA), typeToString(typeB)));
>     }
> 
>     // as types the same checks type specific things
>     var name1 = typeA.type,
>       name2 = typeA.type;
>     if (typeA.cls) {
>       name1 += "_" + typeA.cls;
>       name2 += "_" + typeA.cls;
>     }
>     if (typeA.sub) {
>       name2 += "_" + typeA.sub;
>     }
> 
>     var f =
>       this[METHOD_PREFIX + name2] ||
>       this[METHOD_PREFIX + name1] ||
>       this[METHOD_PREFIX + typeA.type] ||
>       this.defaultCheck;
> 
>     f.call(this, this.a, this.b);
>   },
> 
>   collectFail: function(comparison, reason, showReason) {
>     if (comparison) {
>       var res = new EqualityFail(this.a, this.b, reason, this.path);
>       res.showReason = !!showReason;
> 
>       this.fails.push(res);
> 
>       if (!this.collectAllFails) {
>         throw new ShortcutError(res);
>       }
>     }
>   },
> 
>   checkPlainObjectsEquality: function(a, b) {
>     // compare deep objects and arrays
>     // stacks contain references only
>     //
>     var meet = this._meet;
>     var m = this._meet.length;
>     while (m--) {
>       var st = meet[m];
>       if (st[0] === a && st[1] === b) {
>         return;
>       }
>     }
> 
>     // add `a` and `b` to the stack of traversed objects
>     meet.push([a, b]);
> 
>     // TODO maybe something else like getOwnPropertyNames
>     var key;
>     for (key in b) {
>       if (hasOwnProperty.call(b, key)) {
>         if (hasOwnProperty.call(a, key)) {
>           this.checkPropertyEquality(key);
>         } else {
>           this.collectFail(true, format(MISSING_KEY, "A", key));
>         }
>       }
>     }
> 
>     // ensure both objects have the same number of properties
>     for (key in a) {
>       if (hasOwnProperty.call(a, key)) {
>         this.collectFail(!hasOwnProperty.call(b, key), format(MISSING_KEY, 
> "B", key));
>       }
>     }
> 
>     meet.pop();
> 
>     if (this.checkProtoEql) {
>       //TODO should i check prototypes for === or use eq?
>       this.collectFail(Object.getPrototypeOf(a) !== Object.getPrototypeOf(b), 
> EQUALITY_PROTOTYPE, true);
>     }
>   },
> 
>   checkPropertyEquality: function(propertyName) {
>     var _eq = new EQ(this, this.a[propertyName], this.b[propertyName], 
> this.path.concat([propertyName]));
>     _eq.check0();
>   },
> 
>   defaultCheck: EQ.checkStrictEquality
> };
> 
> EQ.add(t.NUMBER, function(a, b) {
>   this.collectFail((a !== a && b === b) || (b !== b && a === a) || (a !== b 
> && a === a && b === b), EQUALITY);
> });
> 
> [t.SYMBOL, t.BOOLEAN, t.STRING].forEach(function(tp) {
>   EQ.add(tp, EQ.checkStrictEquality);
> });
> 
> EQ.add(t.FUNCTION, function(a, b) {
>   // functions are compared by their source code
>   this.collectFail(a.toString() !== b.toString(), FUNCTION_SOURCES);
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.REGEXP, function(a, b) {
>   // check regexp flags
>   var flags = ["source", "global", "multiline", "lastIndex", "ignoreCase", 
> "sticky", "unicode"];
>   while (flags.length) {
>     this.checkPropertyEquality(flags.shift());
>   }
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.DATE, function(a, b) {
>   //check by timestamp only (using .valueOf)
>   this.collectFail(+a !== +b, EQUALITY);
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> [t.NUMBER, t.BOOLEAN, t.STRING].forEach(function(tp) {
>   EQ.add(t.OBJECT, tp, function(a, b) {
>     //primitive type wrappers
>     this.collectFail(a.valueOf() !== b.valueOf(), WRAPPED_VALUE);
>     // check user properties
>     this.checkPlainObjectsEquality(a, b);
>   });
> });
> 
> EQ.add(t.OBJECT, function(a, b) {
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> [t.ARRAY, t.ARGUMENTS, t.TYPED_ARRAY].forEach(function(tp) {
>   EQ.add(t.OBJECT, tp, function(a, b) {
>     this.checkPropertyEquality("length");
> 
>     this.checkPlainObjectsEquality(a, b);
>   });
> });
> 
> EQ.add(t.OBJECT, t.ARRAY_BUFFER, function(a, b) {
>   this.checkPropertyEquality("byteLength");
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.ERROR, function(a, b) {
>   this.checkPropertyEquality("name");
>   this.checkPropertyEquality("message");
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.BUFFER, function(a) {
>   this.checkPropertyEquality("length");
> 
>   var l = a.length;
>   while (l--) {
>     this.checkPropertyEquality(l);
>   }
> 
>   //we do not check for user properties because
>   //node Buffer have some strange hidden properties
> });
> 
> function checkMapByKeys(a, b) {
>   var iteratorA = a.keys();
> 
>   for (var nextA = iteratorA.next(); !nextA.done; nextA = iteratorA.next()) {
>     var key = nextA.value;
>     var hasKey = b.has(key);
>     this.collectFail(!hasKey, format(SET_MAP_MISSING_KEY, key));
> 
>     if (hasKey) {
>       var valueB = b.get(key);
>       var valueA = a.get(key);
> 
>       eq(valueA, valueB, this);
>     }
>   }
> }
> 
> function checkSetByKeys(a, b) {
>   var iteratorA = a.keys();
> 
>   for (var nextA = iteratorA.next(); !nextA.done; nextA = iteratorA.next()) {
>     var key = nextA.value;
>     var hasKey = b.has(key);
>     this.collectFail(!hasKey, format(SET_MAP_MISSING_KEY, key));
>   }
> }
> 
> EQ.add(t.OBJECT, t.MAP, function(a, b) {
>   this._meet.push([a, b]);
> 
>   checkMapByKeys.call(this, a, b);
>   checkMapByKeys.call(this, b, a);
> 
>   this._meet.pop();
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> EQ.add(t.OBJECT, t.SET, function(a, b) {
>   this._meet.push([a, b]);
> 
>   checkSetByKeys.call(this, a, b);
>   checkSetByKeys.call(this, b, a);
> 
>   this._meet.pop();
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> function eq(a, b, opts) {
>   return new EQ(opts, a, b).check();
> }
> 
> eq.EQ = EQ;
> 
> module.exports = eq;
> (!) Unresolved dependencies
> https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency
> should-type (imported by index.js)
> created stdout in 75ms
> (!) You have passed an unrecognized option
> Unknown CLI flag: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
> 17, 18. Allowed options: acorn, acornInjectPlugins, amd, assetFileNames, 
> banner, c, cache, chunkFileNames, chunkGroupingSize, compact, config, 
> context, d, dir, dynamicImportFunction, e, entryFileNames, environment, 
> esModule, experimentalCacheExpiry, experimentalOptimizeChunks, 
> experimentalTopLevelAwait, exports, extend, external, f, file, footer, 
> format, freeze, g, globals, h, i, indent, inlineDynamicImports, input, 
> interop, intro, m, manualChunks, moduleContext, n, name, 
> namespaceToStringTag, noConflict, o, onwarn, outro, paths, perf, plugins, 
> preferConst, preserveModules, preserveSymlinks, shimMissingExports, silent, 
> sourcemap, sourcemapExcludeSources, sourcemapFile, strict, treeshake, v, w, 
> watch
> 
> index.js → stdout...
> import t from 'should-type';
> 
> function format(msg) {
>   var args = arguments;
>   for (var i = 1, l = args.length; i < l; i++) {
>     msg = msg.replace(/%s/, args[i]);
>   }
>   return msg;
> }
> 
> var hasOwnProperty = Object.prototype.hasOwnProperty;
> 
> function EqualityFail(a, b, reason, path) {
>   this.a = a;
>   this.b = b;
>   this.reason = reason;
>   this.path = path;
> }
> 
> function typeToString(tp) {
>   return tp.type + (tp.cls ? "(" + tp.cls + (tp.sub ? " " + tp.sub : "") + 
> ")" : "");
> }
> 
> var PLUS_0_AND_MINUS_0 = "+0 is not equal to -0";
> var DIFFERENT_TYPES = "A has type %s and B has type %s";
> var EQUALITY = "A is not equal to B";
> var EQUALITY_PROTOTYPE = "A and B have different prototypes";
> var WRAPPED_VALUE = "A wrapped value is not equal to B wrapped value";
> var FUNCTION_SOURCES = "function A is not equal to B by source code value 
> (via .toString call)";
> var MISSING_KEY = "%s has no key %s";
> var SET_MAP_MISSING_KEY = "Set/Map missing key %s";
> 
> var DEFAULT_OPTIONS = {
>   checkProtoEql: true,
>   checkSubType: true,
>   plusZeroAndMinusZeroEqual: true,
>   collectAllFails: false
> };
> 
> function setBooleanDefault(property, obj, opts, defaults) {
>   obj[property] = typeof opts[property] !== "boolean" ? defaults[property] : 
> opts[property];
> }
> 
> var METHOD_PREFIX = "_check_";
> 
> function EQ(opts, a, b, path) {
>   opts = opts || {};
> 
>   setBooleanDefault("checkProtoEql", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("plusZeroAndMinusZeroEqual", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("checkSubType", this, opts, DEFAULT_OPTIONS);
>   setBooleanDefault("collectAllFails", this, opts, DEFAULT_OPTIONS);
> 
>   this.a = a;
>   this.b = b;
> 
>   this._meet = opts._meet || [];
> 
>   this.fails = opts.fails || [];
> 
>   this.path = path || [];
> }
> 
> function ShortcutError(fail) {
>   this.name = "ShortcutError";
>   this.message = "fail fast";
>   this.fail = fail;
> }
> 
> ShortcutError.prototype = Object.create(Error.prototype);
> 
> EQ.checkStrictEquality = function(a, b) {
>   this.collectFail(a !== b, EQUALITY);
> };
> 
> EQ.add = function add(type, cls, sub, f) {
>   var args = Array.prototype.slice.call(arguments);
>   f = args.pop();
>   EQ.prototype[METHOD_PREFIX + args.join("_")] = f;
> };
> 
> EQ.prototype = {
>   check: function() {
>     try {
>       this.check0();
>     } catch (e) {
>       if (e instanceof ShortcutError) {
>         return [e.fail];
>       }
>       throw e;
>     }
>     return this.fails;
>   },
> 
>   check0: function() {
>     var a = this.a;
>     var b = this.b;
> 
>     // equal a and b exit early
>     if (a === b) {
>       // check for +0 !== -0;
>       return this.collectFail(a === 0 && 1 / a !== 1 / b && 
> !this.plusZeroAndMinusZeroEqual, PLUS_0_AND_MINUS_0);
>     }
> 
>     var typeA = t(a);
>     var typeB = t(b);
> 
>     // if objects has different types they are not equal
>     if (typeA.type !== typeB.type || typeA.cls !== typeB.cls || typeA.sub !== 
> typeB.sub) {
>       return this.collectFail(true, format(DIFFERENT_TYPES, 
> typeToString(typeA), typeToString(typeB)));
>     }
> 
>     // as types the same checks type specific things
>     var name1 = typeA.type,
>       name2 = typeA.type;
>     if (typeA.cls) {
>       name1 += "_" + typeA.cls;
>       name2 += "_" + typeA.cls;
>     }
>     if (typeA.sub) {
>       name2 += "_" + typeA.sub;
>     }
> 
>     var f =
>       this[METHOD_PREFIX + name2] ||
>       this[METHOD_PREFIX + name1] ||
>       this[METHOD_PREFIX + typeA.type] ||
>       this.defaultCheck;
> 
>     f.call(this, this.a, this.b);
>   },
> 
>   collectFail: function(comparison, reason, showReason) {
>     if (comparison) {
>       var res = new EqualityFail(this.a, this.b, reason, this.path);
>       res.showReason = !!showReason;
> 
>       this.fails.push(res);
> 
>       if (!this.collectAllFails) {
>         throw new ShortcutError(res);
>       }
>     }
>   },
> 
>   checkPlainObjectsEquality: function(a, b) {
>     // compare deep objects and arrays
>     // stacks contain references only
>     //
>     var meet = this._meet;
>     var m = this._meet.length;
>     while (m--) {
>       var st = meet[m];
>       if (st[0] === a && st[1] === b) {
>         return;
>       }
>     }
> 
>     // add `a` and `b` to the stack of traversed objects
>     meet.push([a, b]);
> 
>     // TODO maybe something else like getOwnPropertyNames
>     var key;
>     for (key in b) {
>       if (hasOwnProperty.call(b, key)) {
>         if (hasOwnProperty.call(a, key)) {
>           this.checkPropertyEquality(key);
>         } else {
>           this.collectFail(true, format(MISSING_KEY, "A", key));
>         }
>       }
>     }
> 
>     // ensure both objects have the same number of properties
>     for (key in a) {
>       if (hasOwnProperty.call(a, key)) {
>         this.collectFail(!hasOwnProperty.call(b, key), format(MISSING_KEY, 
> "B", key));
>       }
>     }
> 
>     meet.pop();
> 
>     if (this.checkProtoEql) {
>       //TODO should i check prototypes for === or use eq?
>       this.collectFail(Object.getPrototypeOf(a) !== Object.getPrototypeOf(b), 
> EQUALITY_PROTOTYPE, true);
>     }
>   },
> 
>   checkPropertyEquality: function(propertyName) {
>     var _eq = new EQ(this, this.a[propertyName], this.b[propertyName], 
> this.path.concat([propertyName]));
>     _eq.check0();
>   },
> 
>   defaultCheck: EQ.checkStrictEquality
> };
> 
> EQ.add(t.NUMBER, function(a, b) {
>   this.collectFail((a !== a && b === b) || (b !== b && a === a) || (a !== b 
> && a === a && b === b), EQUALITY);
> });
> 
> [t.SYMBOL, t.BOOLEAN, t.STRING].forEach(function(tp) {
>   EQ.add(tp, EQ.checkStrictEquality);
> });
> 
> EQ.add(t.FUNCTION, function(a, b) {
>   // functions are compared by their source code
>   this.collectFail(a.toString() !== b.toString(), FUNCTION_SOURCES);
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.REGEXP, function(a, b) {
>   // check regexp flags
>   var flags = ["source", "global", "multiline", "lastIndex", "ignoreCase", 
> "sticky", "unicode"];
>   while (flags.length) {
>     this.checkPropertyEquality(flags.shift());
>   }
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.DATE, function(a, b) {
>   //check by timestamp only (using .valueOf)
>   this.collectFail(+a !== +b, EQUALITY);
>   // check user properties
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> [t.NUMBER, t.BOOLEAN, t.STRING].forEach(function(tp) {
>   EQ.add(t.OBJECT, tp, function(a, b) {
>     //primitive type wrappers
>     this.collectFail(a.valueOf() !== b.valueOf(), WRAPPED_VALUE);
>     // check user properties
>     this.checkPlainObjectsEquality(a, b);
>   });
> });
> 
> EQ.add(t.OBJECT, function(a, b) {
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> [t.ARRAY, t.ARGUMENTS, t.TYPED_ARRAY].forEach(function(tp) {
>   EQ.add(t.OBJECT, tp, function(a, b) {
>     this.checkPropertyEquality("length");
> 
>     this.checkPlainObjectsEquality(a, b);
>   });
> });
> 
> EQ.add(t.OBJECT, t.ARRAY_BUFFER, function(a, b) {
>   this.checkPropertyEquality("byteLength");
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.ERROR, function(a, b) {
>   this.checkPropertyEquality("name");
>   this.checkPropertyEquality("message");
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> EQ.add(t.OBJECT, t.BUFFER, function(a) {
>   this.checkPropertyEquality("length");
> 
>   var l = a.length;
>   while (l--) {
>     this.checkPropertyEquality(l);
>   }
> 
>   //we do not check for user properties because
>   //node Buffer have some strange hidden properties
> });
> 
> function checkMapByKeys(a, b) {
>   var iteratorA = a.keys();
> 
>   for (var nextA = iteratorA.next(); !nextA.done; nextA = iteratorA.next()) {
>     var key = nextA.value;
>     var hasKey = b.has(key);
>     this.collectFail(!hasKey, format(SET_MAP_MISSING_KEY, key));
> 
>     if (hasKey) {
>       var valueB = b.get(key);
>       var valueA = a.get(key);
> 
>       eq(valueA, valueB, this);
>     }
>   }
> }
> 
> function checkSetByKeys(a, b) {
>   var iteratorA = a.keys();
> 
>   for (var nextA = iteratorA.next(); !nextA.done; nextA = iteratorA.next()) {
>     var key = nextA.value;
>     var hasKey = b.has(key);
>     this.collectFail(!hasKey, format(SET_MAP_MISSING_KEY, key));
>   }
> }
> 
> EQ.add(t.OBJECT, t.MAP, function(a, b) {
>   this._meet.push([a, b]);
> 
>   checkMapByKeys.call(this, a, b);
>   checkMapByKeys.call(this, b, a);
> 
>   this._meet.pop();
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> EQ.add(t.OBJECT, t.SET, function(a, b) {
>   this._meet.push([a, b]);
> 
>   checkSetByKeys.call(this, a, b);
>   checkSetByKeys.call(this, b, a);
> 
>   this._meet.pop();
> 
>   this.checkPlainObjectsEquality(a, b);
> });
> 
> function eq(a, b, opts) {
>   return new EQ(opts, a, b).check();
> }
> 
> eq.EQ = EQ;
> 
> export default eq;
> (!) Unresolved dependencies
> https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency
> should-type (imported by index.js)
> created stdout in 74ms
> Found debian/nodejs/should-type/build
>       cd ./should-type && sh -e ../debian/nodejs/should-type/build
> (!) You have passed an unrecognized option
> Unknown CLI flag: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
> 17. Allowed options: acorn, acornInjectPlugins, amd, assetFileNames, banner, 
> c, cache, chunkFileNames, chunkGroupingSize, compact, config, context, d, 
> dir, dynamicImportFunction, e, entryFileNames, environment, esModule, 
> experimentalCacheExpiry, experimentalOptimizeChunks, 
> experimentalTopLevelAwait, exports, extend, external, f, file, footer, 
> format, freeze, g, globals, h, i, indent, inlineDynamicImports, input, 
> interop, intro, m, manualChunks, moduleContext, n, name, 
> namespaceToStringTag, noConflict, o, onwarn, outro, paths, perf, plugins, 
> preferConst, preserveModules, preserveSymlinks, shimMissingExports, silent, 
> sourcemap, sourcemapExcludeSources, sourcemapFile, strict, treeshake, v, w, 
> watch
> 
> index.js → stdout...
> 'use strict';
> 
> var types = {
>   NUMBER: 'number',
>   UNDEFINED: 'undefined',
>   STRING: 'string',
>   BOOLEAN: 'boolean',
>   OBJECT: 'object',
>   FUNCTION: 'function',
>   NULL: 'null',
>   ARRAY: 'array',
>   REGEXP: 'regexp',
>   DATE: 'date',
>   ERROR: 'error',
>   ARGUMENTS: 'arguments',
>   SYMBOL: 'symbol',
>   ARRAY_BUFFER: 'array-buffer',
>   TYPED_ARRAY: 'typed-array',
>   DATA_VIEW: 'data-view',
>   MAP: 'map',
>   SET: 'set',
>   WEAK_SET: 'weak-set',
>   WEAK_MAP: 'weak-map',
>   PROMISE: 'promise',
> 
> // node buffer
>   BUFFER: 'buffer',
> 
> // dom html element
>   HTML_ELEMENT: 'html-element',
>   HTML_ELEMENT_TEXT: 'html-element-text',
>   DOCUMENT: 'document',
>   WINDOW: 'window',
>   FILE: 'file',
>   FILE_LIST: 'file-list',
>   BLOB: 'blob',
> 
>   HOST: 'host',
> 
>   XHR: 'xhr',
> 
>   // simd
>   SIMD: 'simd'
> };
> 
> /*
>  * Simple data function to store type information
>  * @param {string} type Usually what is returned from typeof
>  * @param {string} cls  Sanitized @Class via Object.prototype.toString
>  * @param {string} sub  If type and cls the same, and need to specify somehow
>  * @private
>  * @example
>  *
>  * //for null
>  * new Type('null');
>  *
>  * //for Date
>  * new Type('object', 'date');
>  *
>  * //for Uint8Array
>  *
>  * new Type('object', 'typed-array', 'uint8');
>  */
> function Type(type, cls, sub) {
>   if (!type) {
>     throw new Error('Type class must be initialized at least with `type` 
> information');
>   }
>   this.type = type;
>   this.cls = cls;
>   this.sub = sub;
> }
> 
> Type.prototype = {
>   toString: function(sep) {
>     sep = sep || ';';
>     var str = [this.type];
>     if (this.cls) {
>       str.push(this.cls);
>     }
>     if (this.sub) {
>       str.push(this.sub);
>     }
>     return str.join(sep);
>   },
> 
>   toTryTypes: function() {
>     var _types = [];
>     if (this.sub) {
>       _types.push(new Type(this.type, this.cls, this.sub));
>     }
>     if (this.cls) {
>       _types.push(new Type(this.type, this.cls));
>     }
>     _types.push(new Type(this.type));
> 
>     return _types;
>   }
> };
> 
> var toString = Object.prototype.toString;
> 
> 
> 
> /**
>  * Function to store type checks
>  * @private
>  */
> function TypeChecker() {
>   this.checks = [];
> }
> 
> TypeChecker.prototype = {
>   add: function(func) {
>     this.checks.push(func);
>     return this;
>   },
> 
>   addBeforeFirstMatch: function(obj, func) {
>     var match = this.getFirstMatch(obj);
>     if (match) {
>       this.checks.splice(match.index, 0, func);
>     } else {
>       this.add(func);
>     }
>   },
> 
>   addTypeOf: function(type, res) {
>     return this.add(function(obj, tpeOf) {
>       if (tpeOf === type) {
>         return new Type(res);
>       }
>     });
>   },
> 
>   addClass: function(cls, res, sub) {
>     return this.add(function(obj, tpeOf, objCls) {
>       if (objCls === cls) {
>         return new Type(types.OBJECT, res, sub);
>       }
>     });
>   },
> 
>   getFirstMatch: function(obj) {
>     var typeOf = typeof obj;
>     var cls = toString.call(obj);
> 
>     for (var i = 0, l = this.checks.length; i < l; i++) {
>       var res = this.checks[i].call(this, obj, typeOf, cls);
>       if (typeof res !== 'undefined') {
>         return { result: res, func: this.checks[i], index: i };
>       }
>     }
>   },
> 
>   getType: function(obj) {
>     var match = this.getFirstMatch(obj);
>     return match && match.result;
>   }
> };
> 
> var main = new TypeChecker();
> 
> //TODO add iterators
> 
> main
>   .addTypeOf(types.NUMBER, types.NUMBER)
>   .addTypeOf(types.UNDEFINED, types.UNDEFINED)
>   .addTypeOf(types.STRING, types.STRING)
>   .addTypeOf(types.BOOLEAN, types.BOOLEAN)
>   .addTypeOf(types.FUNCTION, types.FUNCTION)
>   .addTypeOf(types.SYMBOL, types.SYMBOL)
>   .add(function(obj) {
>     if (obj === null) {
>       return new Type(types.NULL);
>     }
>   })
>   .addClass('[object String]', types.STRING)
>   .addClass('[object Boolean]', types.BOOLEAN)
>   .addClass('[object Number]', types.NUMBER)
>   .addClass('[object Array]', types.ARRAY)
>   .addClass('[object RegExp]', types.REGEXP)
>   .addClass('[object Error]', types.ERROR)
>   .addClass('[object Date]', types.DATE)
>   .addClass('[object Arguments]', types.ARGUMENTS)
> 
>   .addClass('[object ArrayBuffer]', types.ARRAY_BUFFER)
>   .addClass('[object Int8Array]', types.TYPED_ARRAY, 'int8')
>   .addClass('[object Uint8Array]', types.TYPED_ARRAY, 'uint8')
>   .addClass('[object Uint8ClampedArray]', types.TYPED_ARRAY, 'uint8clamped')
>   .addClass('[object Int16Array]', types.TYPED_ARRAY, 'int16')
>   .addClass('[object Uint16Array]', types.TYPED_ARRAY, 'uint16')
>   .addClass('[object Int32Array]', types.TYPED_ARRAY, 'int32')
>   .addClass('[object Uint32Array]', types.TYPED_ARRAY, 'uint32')
>   .addClass('[object Float32Array]', types.TYPED_ARRAY, 'float32')
>   .addClass('[object Float64Array]', types.TYPED_ARRAY, 'float64')
> 
>   .addClass('[object Bool16x8]', types.SIMD, 'bool16x8')
>   .addClass('[object Bool32x4]', types.SIMD, 'bool32x4')
>   .addClass('[object Bool8x16]', types.SIMD, 'bool8x16')
>   .addClass('[object Float32x4]', types.SIMD, 'float32x4')
>   .addClass('[object Int16x8]', types.SIMD, 'int16x8')
>   .addClass('[object Int32x4]', types.SIMD, 'int32x4')
>   .addClass('[object Int8x16]', types.SIMD, 'int8x16')
>   .addClass('[object Uint16x8]', types.SIMD, 'uint16x8')
>   .addClass('[object Uint32x4]', types.SIMD, 'uint32x4')
>   .addClass('[object Uint8x16]', types.SIMD, 'uint8x16')
> 
>   .addClass('[object DataView]', types.DATA_VIEW)
>   .addClass('[object Map]', types.MAP)
>   .addClass('[object WeakMap]', types.WEAK_MAP)
>   .addClass('[object Set]', types.SET)
>   .addClass('[object WeakSet]', types.WEAK_SET)
>   .addClass('[object Promise]', types.PROMISE)
>   .addClass('[object Blob]', types.BLOB)
>   .addClass('[object File]', types.FILE)
>   .addClass('[object FileList]', types.FILE_LIST)
>   .addClass('[object XMLHttpRequest]', types.XHR)
>   .add(function(obj) {
>     if ((typeof Promise === types.FUNCTION && obj instanceof Promise) ||
>         (typeof obj.then === types.FUNCTION)) {
>           return new Type(types.OBJECT, types.PROMISE);
>         }
>   })
>   .add(function(obj) {
>     if (typeof Buffer !== 'undefined' && obj instanceof Buffer) {// 
> eslint-disable-line no-undef
>       return new Type(types.OBJECT, types.BUFFER);
>     }
>   })
>   .add(function(obj) {
>     if (typeof Node !== 'undefined' && obj instanceof Node) {
>       return new Type(types.OBJECT, types.HTML_ELEMENT, obj.nodeName);
>     }
>   })
>   .add(function(obj) {
>     // probably at the begginging should be enough these checks
>     if (obj.Boolean === Boolean && obj.Number === Number && obj.String === 
> String && obj.Date === Date) {
>       return new Type(types.OBJECT, types.HOST);
>     }
>   })
>   .add(function() {
>     return new Type(types.OBJECT);
>   });
> 
> /**
>  * Get type information of anything
>  *
>  * @param  {any} obj Anything that could require type information
>  * @return {Type}    type info
>  * @private
>  */
> function getGlobalType(obj) {
>   return main.getType(obj);
> }
> 
> getGlobalType.checker = main;
> getGlobalType.TypeChecker = TypeChecker;
> getGlobalType.Type = Type;
> 
> Object.keys(types).forEach(function(typeName) {
>   getGlobalType[typeName] = types[typeName];
> });
> 
> module.exports = getGlobalType;
> created stdout in 60ms
> (!) You have passed an unrecognized option
> Unknown CLI flag: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
> 17. Allowed options: acorn, acornInjectPlugins, amd, assetFileNames, banner, 
> c, cache, chunkFileNames, chunkGroupingSize, compact, config, context, d, 
> dir, dynamicImportFunction, e, entryFileNames, environment, esModule, 
> experimentalCacheExpiry, experimentalOptimizeChunks, 
> experimentalTopLevelAwait, exports, extend, external, f, file, footer, 
> format, freeze, g, globals, h, i, indent, inlineDynamicImports, input, 
> interop, intro, m, manualChunks, moduleContext, n, name, 
> namespaceToStringTag, noConflict, o, onwarn, outro, paths, perf, plugins, 
> preferConst, preserveModules, preserveSymlinks, shimMissingExports, silent, 
> sourcemap, sourcemapExcludeSources, sourcemapFile, strict, treeshake, v, w, 
> watch
> 
> index.js → stdout...
> var types = {
>   NUMBER: 'number',
>   UNDEFINED: 'undefined',
>   STRING: 'string',
>   BOOLEAN: 'boolean',
>   OBJECT: 'object',
>   FUNCTION: 'function',
>   NULL: 'null',
>   ARRAY: 'array',
>   REGEXP: 'regexp',
>   DATE: 'date',
>   ERROR: 'error',
>   ARGUMENTS: 'arguments',
>   SYMBOL: 'symbol',
>   ARRAY_BUFFER: 'array-buffer',
>   TYPED_ARRAY: 'typed-array',
>   DATA_VIEW: 'data-view',
>   MAP: 'map',
>   SET: 'set',
>   WEAK_SET: 'weak-set',
>   WEAK_MAP: 'weak-map',
>   PROMISE: 'promise',
> 
> // node buffer
>   BUFFER: 'buffer',
> 
> // dom html element
>   HTML_ELEMENT: 'html-element',
>   HTML_ELEMENT_TEXT: 'html-element-text',
>   DOCUMENT: 'document',
>   WINDOW: 'window',
>   FILE: 'file',
>   FILE_LIST: 'file-list',
>   BLOB: 'blob',
> 
>   HOST: 'host',
> 
>   XHR: 'xhr',
> 
>   // simd
>   SIMD: 'simd'
> };
> 
> /*
>  * Simple data function to store type information
>  * @param {string} type Usually what is returned from typeof
>  * @param {string} cls  Sanitized @Class via Object.prototype.toString
>  * @param {string} sub  If type and cls the same, and need to specify somehow
>  * @private
>  * @example
>  *
>  * //for null
>  * new Type('null');
>  *
>  * //for Date
>  * new Type('object', 'date');
>  *
>  * //for Uint8Array
>  *
>  * new Type('object', 'typed-array', 'uint8');
>  */
> function Type(type, cls, sub) {
>   if (!type) {
>     throw new Error('Type class must be initialized at least with `type` 
> information');
>   }
>   this.type = type;
>   this.cls = cls;
>   this.sub = sub;
> }
> 
> Type.prototype = {
>   toString: function(sep) {
>     sep = sep || ';';
>     var str = [this.type];
>     if (this.cls) {
>       str.push(this.cls);
>     }
>     if (this.sub) {
>       str.push(this.sub);
>     }
>     return str.join(sep);
>   },
> 
>   toTryTypes: function() {
>     var _types = [];
>     if (this.sub) {
>       _types.push(new Type(this.type, this.cls, this.sub));
>     }
>     if (this.cls) {
>       _types.push(new Type(this.type, this.cls));
>     }
>     _types.push(new Type(this.type));
> 
>     return _types;
>   }
> };
> 
> var toString = Object.prototype.toString;
> 
> 
> 
> /**
>  * Function to store type checks
>  * @private
>  */
> function TypeChecker() {
>   this.checks = [];
> }
> 
> TypeChecker.prototype = {
>   add: function(func) {
>     this.checks.push(func);
>     return this;
>   },
> 
>   addBeforeFirstMatch: function(obj, func) {
>     var match = this.getFirstMatch(obj);
>     if (match) {
>       this.checks.splice(match.index, 0, func);
>     } else {
>       this.add(func);
>     }
>   },
> 
>   addTypeOf: function(type, res) {
>     return this.add(function(obj, tpeOf) {
>       if (tpeOf === type) {
>         return new Type(res);
>       }
>     });
>   },
> 
>   addClass: function(cls, res, sub) {
>     return this.add(function(obj, tpeOf, objCls) {
>       if (objCls === cls) {
>         return new Type(types.OBJECT, res, sub);
>       }
>     });
>   },
> 
>   getFirstMatch: function(obj) {
>     var typeOf = typeof obj;
>     var cls = toString.call(obj);
> 
>     for (var i = 0, l = this.checks.length; i < l; i++) {
>       var res = this.checks[i].call(this, obj, typeOf, cls);
>       if (typeof res !== 'undefined') {
>         return { result: res, func: this.checks[i], index: i };
>       }
>     }
>   },
> 
>   getType: function(obj) {
>     var match = this.getFirstMatch(obj);
>     return match && match.result;
>   }
> };
> 
> var main = new TypeChecker();
> 
> //TODO add iterators
> 
> main
>   .addTypeOf(types.NUMBER, types.NUMBER)
>   .addTypeOf(types.UNDEFINED, types.UNDEFINED)
>   .addTypeOf(types.STRING, types.STRING)
>   .addTypeOf(types.BOOLEAN, types.BOOLEAN)
>   .addTypeOf(types.FUNCTION, types.FUNCTION)
>   .addTypeOf(types.SYMBOL, types.SYMBOL)
>   .add(function(obj) {
>     if (obj === null) {
>       return new Type(types.NULL);
>     }
>   })
>   .addClass('[object String]', types.STRING)
>   .addClass('[object Boolean]', types.BOOLEAN)
>   .addClass('[object Number]', types.NUMBER)
>   .addClass('[object Array]', types.ARRAY)
>   .addClass('[object RegExp]', types.REGEXP)
>   .addClass('[object Error]', types.ERROR)
>   .addClass('[object Date]', types.DATE)
>   .addClass('[object Arguments]', types.ARGUMENTS)
> 
>   .addClass('[object ArrayBuffer]', types.ARRAY_BUFFER)
>   .addClass('[object Int8Array]', types.TYPED_ARRAY, 'int8')
>   .addClass('[object Uint8Array]', types.TYPED_ARRAY, 'uint8')
>   .addClass('[object Uint8ClampedArray]', types.TYPED_ARRAY, 'uint8clamped')
>   .addClass('[object Int16Array]', types.TYPED_ARRAY, 'int16')
>   .addClass('[object Uint16Array]', types.TYPED_ARRAY, 'uint16')
>   .addClass('[object Int32Array]', types.TYPED_ARRAY, 'int32')
>   .addClass('[object Uint32Array]', types.TYPED_ARRAY, 'uint32')
>   .addClass('[object Float32Array]', types.TYPED_ARRAY, 'float32')
>   .addClass('[object Float64Array]', types.TYPED_ARRAY, 'float64')
> 
>   .addClass('[object Bool16x8]', types.SIMD, 'bool16x8')
>   .addClass('[object Bool32x4]', types.SIMD, 'bool32x4')
>   .addClass('[object Bool8x16]', types.SIMD, 'bool8x16')
>   .addClass('[object Float32x4]', types.SIMD, 'float32x4')
>   .addClass('[object Int16x8]', types.SIMD, 'int16x8')
>   .addClass('[object Int32x4]', types.SIMD, 'int32x4')
>   .addClass('[object Int8x16]', types.SIMD, 'int8x16')
>   .addClass('[object Uint16x8]', types.SIMD, 'uint16x8')
>   .addClass('[object Uint32x4]', types.SIMD, 'uint32x4')
>   .addClass('[object Uint8x16]', types.SIMD, 'uint8x16')
> 
>   .addClass('[object DataView]', types.DATA_VIEW)
>   .addClass('[object Map]', types.MAP)
>   .addClass('[object WeakMap]', types.WEAK_MAP)
>   .addClass('[object Set]', types.SET)
>   .addClass('[object WeakSet]', types.WEAK_SET)
>   .addClass('[object Promise]', types.PROMISE)
>   .addClass('[object Blob]', types.BLOB)
>   .addClass('[object File]', types.FILE)
>   .addClass('[object FileList]', types.FILE_LIST)
>   .addClass('[object XMLHttpRequest]', types.XHR)
>   .add(function(obj) {
>     if ((typeof Promise === types.FUNCTION && obj instanceof Promise) ||
>         (typeof obj.then === types.FUNCTION)) {
>           return new Type(types.OBJECT, types.PROMISE);
>         }
>   })
>   .add(function(obj) {
>     if (typeof Buffer !== 'undefined' && obj instanceof Buffer) {// 
> eslint-disable-line no-undef
>       return new Type(types.OBJECT, types.BUFFER);
>     }
>   })
>   .add(function(obj) {
>     if (typeof Node !== 'undefined' && obj instanceof Node) {
>       return new Type(types.OBJECT, types.HTML_ELEMENT, obj.nodeName);
>     }
>   })
>   .add(function(obj) {
>     // probably at the begginging should be enough these checks
>     if (obj.Boolean === Boolean && obj.Number === Number && obj.String === 
> String && obj.Date === Date) {
>       return new Type(types.OBJECT, types.HOST);
>     }
>   })
>   .add(function() {
>     return new Type(types.OBJECT);
>   });
> 
> /**
>  * Get type information of anything
>  *
>  * @param  {any} obj Anything that could require type information
>  * @return {Type}    type info
>  * @private
>  */
> function getGlobalType(obj) {
>   return main.getType(obj);
> }
> 
> getGlobalType.checker = main;
> getGlobalType.TypeChecker = TypeChecker;
> getGlobalType.Type = Type;
> 
> Object.keys(types).forEach(function(typeName) {
>   getGlobalType[typeName] = types[typeName];
> });
> 
> export default getGlobalType;
> created stdout in 60ms
> Found debian/nodejs/./build
>       cd ./. && sh -e debian/nodejs/./build
> 
> ./lib/umd.js → ./should.js...
> (!) node-resolve plugin: The onwrite hook used by plugin node-resolve is 
> deprecated. The generateBundle hook should be used instead.
> created ./should.js in 376ms
> 
> lib/index.js → cjs/should.js...
> (!) Unresolved dependencies
> https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency
> should-type (imported by lib/should.js, lib/ext/eql.js)
> should-equal (imported by lib/should.js, lib/ext/eql.js, lib/ext/contain.js, 
> lib/ext/property.js, lib/ext/match.js, lib/ext/_assert.js)
> should-format (imported by lib/should.js, lib/util.js, lib/format.js, 
> lib/config.js)
> should-util (imported by lib/assertion-error.js, lib/assertion.js, 
> lib/ext/assert.js, lib/ext/property.js, lib/ext/error.js)
> should-type-adaptors (imported by lib/config.js, lib/ext/eql.js, 
> lib/ext/contain.js, lib/ext/property.js, lib/ext/match.js)
> created cjs/should.js in 203ms
> 
> lib/index.js → es6/should.js...
> (!) Unresolved dependencies
> https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency
> should-type (imported by lib/should.js, lib/ext/eql.js)
> should-equal (imported by lib/should.js, lib/ext/eql.js, lib/ext/contain.js, 
> lib/ext/property.js, lib/ext/match.js, lib/ext/_assert.js)
> should-format (imported by lib/should.js, lib/util.js, lib/format.js, 
> lib/config.js)
> should-util (imported by lib/assertion-error.js, lib/assertion.js, 
> lib/ext/assert.js, lib/ext/property.js, lib/ext/error.js)
> should-type-adaptors (imported by lib/config.js, lib/ext/eql.js, 
> lib/ext/contain.js, lib/ext/property.js, lib/ext/match.js)
> created es6/should.js in 207ms
>    dh_auto_test --buildsystem=nodejs
>       cd ./should-equal && sh -e ../debian/nodejs/should-equal/test
> /<<PKGBUILDDIR>>/should-equal/index.js:1
> import t from "should-type";
>        ^
> 
> SyntaxError: Unexpected identifier
>     at Module._compile (internal/modules/cjs/loader.js:723:23)
>     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
>     at Module.load (internal/modules/cjs/loader.js:653:32)
>     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
>     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
>     at Module.require (internal/modules/cjs/loader.js:692:17)
>     at require (internal/modules/cjs/helpers.js:25:18)
>     at Object.<anonymous> (/<<PKGBUILDDIR>>/should-equal/test.js:2:13)
>     at Module._compile (internal/modules/cjs/loader.js:778:30)
>     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
>     at Module.load (internal/modules/cjs/loader.js:653:32)
>     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
>     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
>     at Module.require (internal/modules/cjs/loader.js:692:17)
>     at require (internal/modules/cjs/helpers.js:25:18)
>     at /usr/share/nodejs/mocha/lib/mocha.js:311:36
>     at Array.forEach (<anonymous>)
>     at Mocha.loadFiles (/usr/share/nodejs/mocha/lib/mocha.js:308:14)
>     at Mocha.run (/usr/share/nodejs/mocha/lib/mocha.js:849:10)
>     at Object.exports.singleRun 
> (/usr/share/nodejs/mocha/lib/cli/run-helpers.js:108:16)
>     at exports.runMocha 
> (/usr/share/nodejs/mocha/lib/cli/run-helpers.js:143:13)
>     at Object.exports.handler.argv [as handler] 
> (/usr/share/nodejs/mocha/lib/cli/run.js:305:3)
>     at Object.runCommand (/usr/share/nodejs/yargs/lib/command.js:240:40)
>     at Object.parseArgs [as _parseArgs] 
> (/usr/share/nodejs/yargs/yargs.js:1173:35)
>     at Object.parse (/usr/share/nodejs/yargs/yargs.js:618:25)
>     at Object.exports.main (/usr/share/nodejs/mocha/lib/cli/cli.js:68:6)
>     at Object.<anonymous> (/usr/share/nodejs/mocha/bin/mocha:133:29)
>     at Module._compile (internal/modules/cjs/loader.js:778:30)
>     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
>     at Module.load (internal/modules/cjs/loader.js:653:32)
>     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
>     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
>     at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
>     at startup (internal/bootstrap/node.js:283:19)
>     at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
> dh_auto_test: error: cd ./should-equal && sh -e 
> ../debian/nodejs/should-equal/test returned exit code 1

The full build log is available from:
   http://qa-logs.debian.net/2020/03/21/should.js_13.2.3~dfsg-2_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

--- End Message ---
--- Begin Message ---
Source: should.js
Source-Version: 13.2.3~dfsg-3
Done: Xavier Guimard <y...@debian.org>

We believe that the bug you reported is fixed in the latest version of
should.js, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 954...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Xavier Guimard <y...@debian.org> (supplier of updated should.js package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 23 Mar 2020 16:31:02 +0100
Source: should.js
Architecture: source
Version: 13.2.3~dfsg-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Javascript Maintainers 
<pkg-javascript-de...@lists.alioth.debian.org>
Changed-By: Xavier Guimard <y...@debian.org>
Closes: 942389 954585
Changes:
 should.js (13.2.3~dfsg-3) unstable; urgency=medium
 .
   * Team upload
 .
   [ Debian Janitor ]
   * Set fields Upstream-Contact in debian/copyright.
   * Remove obsolete fields Name, Contact from debian/upstream/metadata.
 .
   [ Xavier Guimard ]
   * Fix build for rollup ≥ 1 (Closes: #954585, #942389)
   * Declare compliance with policy 4.5.0
   * Add "Rules-Requires-Root: no"
Checksums-Sha1: 
 44418bdd2c603d1af59a094114661f1bc184cea6 3776 should.js_13.2.3~dfsg-3.dsc
 047a0a2574c25a9871443c53b39f73eb32746e58 4880 
should.js_13.2.3~dfsg-3.debian.tar.xz
Checksums-Sha256: 
 2879482047849cf0a61d9f3d8f35e1d8aca9f20d648880b3abb9d09afc6ad816 3776 
should.js_13.2.3~dfsg-3.dsc
 2a39173d57796b53890c4a043db5e03fe74eb0a946785134599904069253ad2b 4880 
should.js_13.2.3~dfsg-3.debian.tar.xz
Files: 
 9590221e85c50ece253b0652fb3b03b1 3776 javascript optional 
should.js_13.2.3~dfsg-3.dsc
 98111776560fe4bbadd6c605b7790e43 4880 javascript optional 
should.js_13.2.3~dfsg-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEAN/li4tVV3nRAF7J9tdMp8mZ7ukFAl55AuMACgkQ9tdMp8mZ
7unzfg//WnK9ma00JXmMYJpHgyeq4SjwykehdpGf7y/Ts3ANtSATwj0vPCAjSsUl
yiXNZOLANJLRRwWHtiw2FzyMXb/KLBLvJLjPZFsy8TeOc0HwR0KHPXldRUalQHYi
Q9Vt2wsM8JbgS+ITVyUr7Bt0yEYGW4xvaUq9UeifAofQZnrwif27AZ3R3gmXR4ru
KtLMwYc6c+AZBJUYX5PAkOEYOq+aSIh12Mq+ZZK75DccdbblSRraM/myZtF329UP
YkoLcw3OScF+Zm2TUOIgJe8p8CszHYP8uJecrRaErs3ezoTaEMnzkrIA2bCKLIkm
ah9eaTGGKpmC0pNSokS0ZWPmy3YdjnLbOGTRBww9BXeN7FQJA8faN0Z5M+/B8mAA
OxgeL8sEQ4uafLpJNqnn1o0l9nkU1P9X0MowmiF7CIYaeZvoBF2p/fIUld4Ntd5x
QbG3OxwqcLggDlzBmW1C737iITEOJujgvh9uKEcN/VB67/lSMxfQAYstnv0mTDw3
CYOzkimgO+8v3TQXqRGbsV5OHMeoZr2NBMH2b8MT/tB95+0ByFxsMhZ6X+FetmCB
KUoNHX/Uy0xCqhJCHKvyETW2RLEIPoxgsITCRXXu7drvn2pRqlsoqCWBNzOk0KSw
lELoV4TopPlaIDltCnmr9GGZwJAo2/ucFCHafsgOgnxPDJRKG/g=
=Zhof
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to