Diff of the two buildlogs: -- --- b1/build.log 2023-04-23 01:23:41.339360758 +0000 +++ b2/build.log 2023-04-23 01:25:29.210580864 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Apr 22 13:21:55 -12 2023 -I: pbuilder-time-stamp: 1682212915 +I: Current time: Sat May 25 21:46:44 +14 2024 +I: pbuilder-time-stamp: 1716623204 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -17,7 +17,7 @@ I: copying [./node-ajv_6.12.6.orig.tar.gz] I: copying [./node-ajv_6.12.6-3.debian.tar.xz] I: Extracting source -gpgv: Signature made Mon Nov 22 02:29:05 2021 -12 +gpgv: Signature made Tue Nov 23 04:29:05 2021 +14 gpgv: using RSA key 00DFE58B8B555779D1005EC9F6D74CA7C999EEE9 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./node-ajv_6.12.6-3.dsc: no acceptable signature found @@ -29,52 +29,84 @@ dpkg-source: info: applying skip-beautify.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/7051/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/D01_modify_environment starting +debug: Running on codethink11-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 25 21:46 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' - DISTRIBUTION='bookworm' - HOME='/var/lib/jenkins' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/var/lib/jenkins + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='7051' - PS1='# ' - PS2='> ' + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=31287 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Z2CAxLpR/pbuilderrc_Wqj8 --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Z2CAxLpR/b1 --logfile b1/build.log node-ajv_6.12.6-3.dsc' - SUDO_GID='117' - SUDO_UID='110' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - USERNAME='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.16:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Z2CAxLpR/pbuilderrc_cfaX --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Z2CAxLpR/b2 --logfile b2/build.log --extrapackages usrmerge node-ajv_6.12.6-3.dsc' + SUDO_GID=117 + SUDO_UID=110 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + USERNAME=root + _='I: set' + http_proxy=http://192.168.101.16:3128 I: uname -a - Linux codethink16-arm64 4.15.0-209-generic #220-Ubuntu SMP Tue Mar 21 19:52:44 UTC 2023 aarch64 GNU/Linux + Linux i-capture-the-hostname 4.15.0-209-generic #220-Ubuntu SMP Tue Mar 21 19:52:44 UTC 2023 aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Apr 19 22:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/7051/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 25 06:47 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -348,7 +380,7 @@ Get: 216 http://deb.debian.org/debian bookworm/main arm64 node-json-stable-stringify all 1.0.2+~cs5.2.34-1 [11.3 kB] Get: 217 http://deb.debian.org/debian bookworm/main arm64 node-punycode all 2.1.1-6 [9444 B] Get: 218 http://deb.debian.org/debian bookworm/main arm64 node-uri-js all 4.4.0+dfsg-8 [47.3 kB] -Fetched 39.5 MB in 2s (23.0 MB/s) +Fetched 39.5 MB in 2s (24.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19616 files and directories currently installed.) @@ -1246,8 +1278,17 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +usrmerge is already the newest version (35). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/node-ajv-6.12.6/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../node-ajv_6.12.6-3_source.changes +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +I: user script /srv/workspace/pbuilder/31287/tmp/hooks/A99_set_merged_usr finished +hostname: Temporary failure in name resolution +I: Running cd /build/node-ajv-6.12.6/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../node-ajv_6.12.6-3_source.changes dpkg-buildpackage: info: source package node-ajv dpkg-buildpackage: info: source version 6.12.6-3 dpkg-buildpackage: info: source distribution unstable @@ -1310,24 +1351,24 @@ dh_auto_test --buildsystem=nodejs ln -s ../. node_modules/ajv /bin/sh -ex debian/tests/pkg-js/test -+ find spec -name *.spec.js -+ grep -v -f debian/tests/test_exclude +++ grep -v -f debian/tests/test_exclude +++ find spec -name '*.spec.js' + mocha spec/resolve.spec.js spec/options/useDefaults.spec.js spec/options/unknownFormats.spec.js spec/options/strictKeywords.spec.js spec/options/strictDefaults.spec.js spec/options/schemaId.spec.js spec/options/removeAdditional.spec.js spec/options/ownProperties.spec.js spec/options/options_validation.spec.js spec/options/options_reporting.spec.js spec/options/options_refs.spec.js spec/options/options_code.spec.js spec/options/options_add_schemas.spec.js spec/options/nullable.spec.js spec/options/meta_validateSchema.spec.js spec/options/comment.spec.js spec/issues/955_removeAdditional_custom_keywords.spec.js spec/issues/8_shared_refs.spec.js spec/issues/768_passContext_recursive_ref.spec.js spec/issues/743_removeAdditional_to_remove_proto.spec.js spec/issues/617_full_format_leap_year.spec.js spec/issues/533_missing_ref_error_when_ignore.spec.js spec/issues/521_wrong_warning_id_property.spec.js spec/issues/50_refs_with_definitions.spec.js spec/issues/485_type_validation_priority.spec.js spec/issues/342_uniqueItems_non-json_objects.spec.js spec/issues/273_error_schemaPath_refd_schema.spec.js spec/issues/259_validate_meta_against_itself.spec.js spec/issues/240_mutual_recur_frags_common_ref.spec.js spec/issues/210_mutual_recur_frags.spec.js spec/issues/204_options_schemas_data_together.spec.js spec/issues/182_nan_validation.spec.js spec/issues/181_allErrors_custom_keyword_skipped.spec.js spec/issues/1001_addKeyword_and_schema_without_id.spec.js spec/errors.spec.js spec/custom.spec.js spec/coercion.spec.js spec/boolean.spec.js spec/async.spec.js spec/ajv.spec.js resolve resolve.ids method - undefined should resolve ids in schema (410ms) - undefined should throw if the same id resolves to two different schemas (307ms) - undefined should resolve ids defined as urn's (issue #423) (253ms) + undefined should resolve ids in schema (451ms) + undefined should throw if the same id resolves to two different schemas (347ms) + undefined should resolve ids defined as urn's (issue #423) (177ms) protocol-relative URIs - undefined should resolve fragment (222ms) + undefined should resolve fragment (191ms) missing schema error - undefined should contain missingRef and missingSchema (136ms) - undefined should resolve missingRef and missingSchema relative to base id (140ms) - undefined should resolve missingRef and missingSchema relative to base id from root (282ms) - undefined missingRef should and missingSchema should NOT include JSON path (hash fragment) (196ms) - undefined should throw missing schema error if same path exist in the current schema but id is different (issue #220) (121ms) + undefined should contain missingRef and missingSchema (146ms) + undefined should resolve missingRef and missingSchema relative to base id (146ms) + undefined should resolve missingRef and missingSchema relative to base id from root (255ms) + undefined missingRef should and missingSchema should NOT include JSON path (hash fragment) (165ms) + undefined should throw missing schema error if same path exist in the current schema but id is different (issue #220) (160ms) inline referenced schemas without refs in them undefined by default should inline schema if it doesn't contain refs undefined should NOT inline schema if option inlineRefs == false @@ -1336,30 +1377,30 @@ undefined should avoid schema substitution when refs are inlined (issue #77) useDefaults options - undefined should replace undefined property with default value (92ms) - undefined should replace undefined item with default value (41ms) - undefined should apply default in "then" subschema (issue #635) (44ms) + undefined should replace undefined property with default value (88ms) + undefined should replace undefined item with default value (38ms) + undefined should apply default in "then" subschema (issue #635) (38ms) useDefaults: by value / by reference using by value - undefined should NOT modify underlying defaults when modifying validated data + undefined should NOT modify underlying defaults when modifying validated data (42ms) using by reference - undefined should modify underlying defaults when modifying validated data (65ms) + undefined should modify underlying defaults when modifying validated data (52ms) defaults with "empty" values - undefined should NOT assign defaults when useDefaults is true/"shared" (46ms) + undefined should NOT assign defaults when useDefaults is true/"shared" (45ms) undefined should assign defaults when useDefaults = "empty" unknownFormats option = true (default) - undefined should fail schema compilation if unknown format is used (43ms) - undefined should fail validation if unknown format is used via $data (167ms) + undefined should fail schema compilation if unknown format is used + undefined should fail validation if unknown format is used via $data (168ms) = "ignore (default before 5.0.0)" unknown format "unknown" ignored in schema at path "#" unknown format "unknown" ignored in schema at path "#" undefined should pass schema compilation and be valid if unknown format is used - undefined should be valid if unknown format is used via $data (48ms) + undefined should be valid if unknown format is used via $data (40ms) = [String] undefined should pass schema compilation and be valid if allowed unknown format is used - undefined should be valid if allowed unknown format is used via $data (42ms) + undefined should be valid if allowed unknown format is used via $data (44ms) strictKeywords option strictKeywords = false @@ -1397,13 +1438,13 @@ schema id ignored mySchema2 schema id ignored mySchema2 schema id ignored mySchema2 - undefined should use $id and ignore id (60ms) + undefined should use $id and ignore id (48ms) = "id" schema $id ignored mySchema2 schema $id ignored mySchema2 schema $id ignored mySchema2 schema $id ignored mySchema2 - undefined should use id and ignore $id (42ms) + undefined should use id and ignore $id (48ms) = "auto" undefined should use both id and $id undefined should throw if both id and $id are available and different @@ -1415,37 +1456,37 @@ undefined should remove properties that would error when `additionalProperties` is a schema ownProperties option - undefined should only validate own properties with additionalProperties (78ms) - undefined should only validate own properties with properties keyword (74ms) - undefined should only validate own properties with required keyword (51ms) + undefined should only validate own properties with additionalProperties (77ms) + undefined should only validate own properties with properties keyword (79ms) + undefined should only validate own properties with required keyword (56ms) undefined should only validate own properties with required keyword - many properties (60ms) - undefined should only validate own properties with required keyword as $data (294ms) + undefined should only validate own properties with required keyword as $data (228ms) undefined should only validate own properties with properties and required keyword (55ms) - undefined should only validate own properties with dependencies keyword (50ms) - undefined should only validate own properties with schema dependencies (54ms) - undefined should only validate own properties with patternProperties (81ms) + undefined should only validate own properties with dependencies keyword (62ms) + undefined should only validate own properties with schema dependencies (60ms) + undefined should only validate own properties with patternProperties (114ms) undefined should only validate own properties with propertyNames (71ms) validation options format - undefined should not validate formats if option format == false (53ms) + undefined should not validate formats if option format == false (58ms) formats undefined should add formats from options keywords meta-schema not available - undefined should add keywords from options (41ms) + undefined should add keywords from options (51ms) uniqueItems - undefined should not validate uniqueItems with uniqueItems option == false (62ms) + undefined should not validate uniqueItems with uniqueItems option == false (86ms) unicode - undefined should use String.prototype.length with unicode option == false (57ms) + undefined should use String.prototype.length with unicode option == false (82ms) multipleOfPrecision - undefined should allow for some deviation from 0 when validating multipleOf with value < 1 (38ms) + undefined should allow for some deviation from 0 when validating multipleOf with value < 1 (43ms) reporting options verbose - undefined should add schema, parentSchema and data to errors with verbose option == true (39ms) + undefined should add schema, parentSchema and data to errors with verbose option == true allErrors - undefined should be disabled inside "not" keyword (39ms) + undefined should be disabled inside "not" keyword (42ms) logger undefined no custom logger is given - global console should be used undefined custom logger is an object - logs should only report to it @@ -1462,8 +1503,8 @@ $ref: keywords ignored in schema at path "#/properties/foo" $ref: keywords ignored in schema at path "#" $ref: keywords ignored in schema at path "#/properties/foo" - undefined should ignore other keywords when $ref is used (40ms) - undefined should log warning when other keywords are used with $ref + undefined should ignore other keywords when $ref is used (70ms) + undefined should log warning when other keywords are used with $ref (42ms) = "fail" undefined should fail schema compilation if other keywords are used with $ref missingRefs @@ -1479,21 +1520,21 @@ can't resolve reference missing_reference from id # can't resolve reference missing_reference from id # can't resolve reference missing_reference from id # - undefined should not throw and fail validation with missingRef == "fail" if the ref is used (85ms) + undefined should not throw and fail validation with missingRef == "fail" if the ref is used (84ms) code generation options sourceCode = true - undefined should add source.code property + undefined should add source.code property (39ms) = false and default - undefined should not add source and sourceCode properties (47ms) + undefined should not add source and sourceCode properties (40ms) processCode - undefined should process generated code (867ms) + undefined should process generated code (801ms) passContext option = true - undefined should pass this value as context to custom keyword validation function (46ms) + undefined should pass this value as context to custom keyword validation function (60ms) = false - undefined should pass ajv instance as context to custom keyword validation function + undefined should pass ajv instance as context to custom keyword validation function (39ms) options to add schemas schemas @@ -1523,7 +1564,7 @@ undefined should ignore keyword nullable meta and validateSchema options - undefined should add draft-7 meta schema by default (40ms) + undefined should add draft-7 meta schema by default meta-schema not available undefined should throw if meta: false and validateSchema: true undefined should skip schema validation with validateSchema: false @@ -1535,9 +1576,9 @@ $comment option = true - undefined should log the text from $comment keyword + undefined should log the text from $comment keyword (39ms) function hook - undefined should pass the text from $comment keyword to the hook (41ms) + undefined should pass the text from $comment keyword to the hook issue #955: option removeAdditional breaks custom keywords undefined should support custom keywords with option removeAdditional @@ -1548,11 +1589,11 @@ issue #768, fix passContext in recursive $ref passContext = true - undefined should pass this value as context to custom keyword validation function + undefined should pass this value as context to custom keyword validation function (44ms) passContext = false undefined should pass ajv instance as context to custom keyword validation function ref is fragment and passContext = true - undefined should pass this value as context to custom keyword validation function (39ms) + undefined should pass this value as context to custom keyword validation function (43ms) ref is fragment and passContext = false undefined should pass ajv instance as context to custom keyword validation function @@ -1568,18 +1609,18 @@ issue #533, throwing missing ref exception with option missingRefs: "ignore" can't resolve reference #/definitions/missing from id # can't resolve reference #/definitions/missing from id # - undefined should pass validation without throwing exception (44ms) + undefined should pass validation without throwing exception undefined should throw exception during schema compilation with option missingRefs: true issue #521, incorrect warning with "id" property - undefined should not log warning (48ms) + undefined should not log warning issue #50: references with "definitions" - undefined should be supported by addSchema (72ms) - undefined should be supported by compile (41ms) + undefined should be supported by addSchema + undefined should be supported by compile issue #485, order of type validation - undefined should validate types before keywords (41ms) + undefined should validate types before keywords issue #342, support uniqueItems with some non-JSON objects undefined should allow different RegExps @@ -1590,58 +1631,58 @@ - should have canonic reference with hash after file name issue #259, support validating [meta-]schemas against themselves - undefined should add schema before validation if "id" is the same as "$schema" (78ms) + undefined should add schema before validation if "id" is the same as "$schema" issue #240, mutually recursive fragment refs reference a common schema - undefined should compile and validate schema when one ref is fragment (123ms) - undefined should compile and validate schema when both refs are fragments (48ms) + undefined should compile and validate schema when one ref is fragment (102ms) + undefined should compile and validate schema when both refs are fragments issue #210, mutual recursive $refs that are schema fragments - undefined should compile and validate schema when one ref is fragment (41ms) - undefined should compile and validate schema when both refs are fragments (51ms) + undefined should compile and validate schema when one ref is fragment (46ms) + undefined should compile and validate schema when both refs are fragments (40ms) issue #204, options schemas and $data used together - undefined should use v5 metaschemas by default (76ms) + undefined should use v5 metaschemas by default (65ms) issue #182, NaN validation - undefined should not pass minimum/maximum validation (41ms) + undefined should not pass minimum/maximum validation (42ms) undefined should pass type: number validation undefined should not pass type: integer validation issue #181, custom keyword is not validated in allErrors mode if there were previous error undefined should validate custom keyword that doesn't create errors - undefined should validate custom keyword that creates errors (42ms) + undefined should validate custom keyword that creates errors issue #1001: addKeyword breaks schema without ID undefined should allow using schemas without ID with addKeyword Validation errors - undefined error should include dataPath (79ms) - undefined "refs" error should include dataPath (80ms) - undefined "items" errors should include item index without quotes in dataPath (#48) (68ms) - undefined should have correct schema path for additionalItems (102ms) + undefined error should include dataPath (76ms) + undefined "refs" error should include dataPath (77ms) + undefined "items" errors should include item index without quotes in dataPath (#48) (55ms) + undefined should have correct schema path for additionalItems (65ms) "additionalProperties" errors - undefined should include property in dataPath with option errorDataPath="property" (79ms) - undefined should NOT include property in dataPath WITHOUT option errorDataPath (75ms) + undefined should include property in dataPath with option errorDataPath="property" (56ms) + undefined should NOT include property in dataPath WITHOUT option errorDataPath (48ms) errors when "additionalProperties" is schema - undefined should include property in dataPath with option errorDataPath="property" (58ms) - undefined should NOT include property in dataPath WITHOUT option errorDataPath (85ms) + undefined should include property in dataPath with option errorDataPath="property" (57ms) + undefined should NOT include property in dataPath WITHOUT option errorDataPath (49ms) "required" errors - undefined should include missing property in dataPath with option errorDataPath="property" (69ms) - undefined should NOT include missing property in dataPath WITHOUT option errorDataPath (92ms) - undefined large data/schemas with option errorDataPath="property" (128ms) - undefined large data/schemas WITHOUT option errorDataPath (104ms) - undefined with "properties" with option errorDataPath="property" (59ms) - undefined with "properties" WITHOUT option errorDataPath (57ms) - undefined in "anyOf" with option errorDataPath="property" (52ms) - undefined in "anyOf" WITHOUT option errorDataPath (48ms) + undefined should include missing property in dataPath with option errorDataPath="property" (54ms) + undefined should NOT include missing property in dataPath WITHOUT option errorDataPath (49ms) + undefined large data/schemas with option errorDataPath="property" (71ms) + undefined large data/schemas WITHOUT option errorDataPath (63ms) + undefined with "properties" with option errorDataPath="property" (56ms) + undefined with "properties" WITHOUT option errorDataPath (61ms) + undefined in "anyOf" with option errorDataPath="property" (55ms) + undefined in "anyOf" WITHOUT option errorDataPath (49ms) undefined should not validate required twice in large schemas with loopRequired option - undefined should not validate required twice with $data ref (66ms) + undefined should not validate required twice with $data ref (76ms) "dependencies" errors - undefined should include missing property in dataPath with option errorDataPath="property" (130ms) - undefined should NOT include missing property in dataPath WITHOUT option errorDataPath (103ms) + undefined should include missing property in dataPath with option errorDataPath="property" (54ms) + undefined should NOT include missing property in dataPath WITHOUT option errorDataPath (47ms) "propertyNames" errors - undefined should add propertyName to errors (71ms) + undefined should add propertyName to errors (48ms) oneOf errors undefined should have errors from inner schemas undefined should return passing schemas in error params @@ -1658,11 +1699,11 @@ undefined should have only one error in {allErrors: false} mode undefined should return all errors in {allErrors: true} mode exclusiveMaximum/Minimum errors - undefined should include limits in error message - undefined should include limits in error message with $data (116ms) + undefined should include limits in error message (65ms) + undefined should include limits in error message with $data (115ms) if/then/else errors - undefined if/then/else should include failing keyword in message and params - undefined if/then should include failing keyword in message and params (43ms) + undefined if/then/else should include failing keyword in message and params (60ms) + undefined if/then should include failing keyword in message and params undefined if/else should include failing keyword in message and params uniqueItems errors undefined should not return uniqueItems error when non-unique items are of a different type than required @@ -1670,47 +1711,47 @@ Custom keywords custom rules rule with "interpreted" keyword validation - undefined should add and validate rule (275ms) - undefined should add, validate keyword schema and validate rule (221ms) - undefined should pass parent schema to "interpreted" keyword validation (207ms) - undefined should validate meta schema and pass parent schema to "interpreted" keyword validation (237ms) - undefined should allow defining custom errors for "interpreted" keyword (193ms) + undefined should add and validate rule (187ms) + undefined should add, validate keyword schema and validate rule (194ms) + undefined should pass parent schema to "interpreted" keyword validation (188ms) + undefined should validate meta schema and pass parent schema to "interpreted" keyword validation (225ms) + undefined should allow defining custom errors for "interpreted" keyword (183ms) rule with "compiled" keyword validation - undefined should add and validate rule (190ms) - undefined should add, validate keyword schema and validate rule (152ms) - undefined should compile keyword validating function only once per schema (161ms) - undefined should allow multiple schemas for the same keyword (194ms) - undefined should pass parent schema to "compiled" keyword validation (211ms) - undefined should allow multiple parent schemas for the same keyword (214ms) + undefined should add and validate rule (182ms) + undefined should add, validate keyword schema and validate rule (148ms) + undefined should compile keyword validating function only once per schema (155ms) + undefined should allow multiple schemas for the same keyword (212ms) + undefined should pass parent schema to "compiled" keyword validation (232ms) + undefined should allow multiple parent schemas for the same keyword (193ms) macro rules - undefined should add and validate rule with "macro" keyword (183ms) - undefined should add and expand macro rule (164ms) - undefined should allow multiple schemas for the same macro keyword (174ms) - undefined should pass parent schema to "macro" keyword (177ms) - undefined should allow multiple parent schemas for the same macro keyword (193ms) - undefined should support resolving $ref without id or $id (163ms) - undefined should recursively expand macro keywords (187ms) - undefined should correctly expand multiple macros on the same level (173ms) - undefined should validate macro keyword when it resolves to the same keyword as exists (145ms) - undefined should correctly expand macros in subschemas (218ms) - undefined should correctly expand macros in macro expansions (264ms) + undefined should add and validate rule with "macro" keyword (160ms) + undefined should add and expand macro rule (159ms) + undefined should allow multiple schemas for the same macro keyword (201ms) + undefined should pass parent schema to "macro" keyword (188ms) + undefined should allow multiple parent schemas for the same macro keyword (186ms) + undefined should support resolving $ref without id or $id (187ms) + undefined should recursively expand macro keywords (233ms) + undefined should correctly expand multiple macros on the same level (195ms) + undefined should validate macro keyword when it resolves to the same keyword as exists (183ms) + undefined should correctly expand macros in subschemas (330ms) + undefined should correctly expand macros in macro expansions (241ms) undefined should throw exception if macro expansion is an invalid schema inline rules - undefined should add and validate rule with "inline" code keyword (157ms) - undefined should pass parent schema to "inline" keyword (300ms) - undefined should define "inline" keyword as template (255ms) - undefined should define "inline" keyword without errors (173ms) - undefined should allow defining optional errors (192ms) - undefined should allow defining required errors (309ms) + undefined should add and validate rule with "inline" code keyword (176ms) + undefined should pass parent schema to "inline" keyword (203ms) + undefined should define "inline" keyword as template (155ms) + undefined should define "inline" keyword without errors (175ms) + undefined should allow defining optional errors (200ms) + undefined should allow defining required errors (187ms) $data reference support with custom keywords (with $data option) - undefined should validate "interpreted" rule (468ms) - undefined should validate rule with "compile" and "validate" funcs (444ms) - undefined should validate with "compile" and "validate" funcs with meta-schema (327ms) - undefined should validate rule with "macro" and "validate" funcs (278ms) - undefined should validate with "macro" and "validate" funcs with meta-schema (363ms) - undefined should validate rule with "inline" and "validate" funcs (272ms) - undefined should validate with "inline" and "validate" funcs with meta-schema (323ms) - undefined should fail if keyword definition has "$data" but no "validate" (60ms) + undefined should validate "interpreted" rule (454ms) + undefined should validate rule with "compile" and "validate" funcs (439ms) + undefined should validate with "compile" and "validate" funcs with meta-schema (315ms) + undefined should validate rule with "macro" and "validate" funcs (257ms) + undefined should validate with "macro" and "validate" funcs with meta-schema (351ms) + undefined should validate rule with "inline" and "validate" funcs (264ms) + undefined should validate with "inline" and "validate" funcs with meta-schema (303ms) + undefined should fail if keyword definition has "$data" but no "validate" (83ms) addKeyword method undefined should throw if defined keyword is passed undefined should throw if keyword is not a valid name @@ -1735,20 +1776,20 @@ Type coercion undefined should coerce scalar values (92ms) - undefined should coerce scalar values (coerceTypes = array) (123ms) - undefined should coerce values in objects/arrays and update properties/items (333ms) - undefined should coerce to multiple types in order with number type - undefined should coerce to multiple types in order with integer type + undefined should coerce scalar values (coerceTypes = array) (121ms) + undefined should coerce values in objects/arrays and update properties/items (344ms) + undefined should coerce to multiple types in order with number type (40ms) + undefined should coerce to multiple types in order with integer type (40ms) undefined should fail to coerce non-number if multiple properties/items are coerced (issue #152) - undefined should update data if the schema is in ref that is not inlined (83ms) - undefined should generate one error for type with coerceTypes option (issue #469) (91ms) + undefined should update data if the schema is in ref that is not inlined (103ms) + undefined should generate one error for type with coerceTypes option (issue #469) (50ms) undefined should check "uniqueItems" after coercion undefined should check "contains" after coercion boolean schemas top level schema schema = true - undefined should validate any data as valid (60ms) + undefined should validate any data as valid (55ms) schema = false undefined should validate any data as invalid in properties / sub-properties @@ -1808,42 +1849,42 @@ undefined should be invalid with any data compileAsync method - undefined should compile schemas loading missing schemas with options.loadSchema function (55ms) + undefined should compile schemas loading missing schemas with options.loadSchema function (57ms) undefined should compile schemas loading missing schemas and return function via callback (46ms) - undefined should correctly load schemas when missing reference has JSON path (50ms) - undefined should correctly compile with remote schemas that have mutual references (53ms) - undefined should correctly compile with remote schemas that reference the compiled schema - undefined should resolve reference containing "properties" segment with the same property (issue #220) (53ms) + undefined should correctly load schemas when missing reference has JSON path (47ms) + undefined should correctly compile with remote schemas that have mutual references (49ms) + undefined should correctly compile with remote schemas that reference the compiled schema (38ms) + undefined should resolve reference containing "properties" segment with the same property (issue #220) (47ms) undefined should return compiled schema on the next tick if there are no references (#51) undefined should queue calls so only one compileAsync executes at a time (#52) (51ms) undefined should throw exception if loadSchema is not passed loading metaschemas (#334) - undefined should load metaschema if not available (46ms) - undefined should load metaschema of referenced schema if not available (49ms) + undefined should load metaschema if not available (45ms) + undefined should load metaschema of referenced schema if not available (55ms) should return error via callback undefined if passed schema is invalid undefined if loaded schema is invalid - undefined if required schema is loaded but the reference cannot be resolved (46ms) + undefined if required schema is loaded but the reference cannot be resolved (45ms) undefined if loadSchema returned error undefined if schema compilation throws some other exception should return error via promise undefined if passed schema is invalid undefined if loaded schema is invalid - undefined if required schema is loaded but the reference cannot be resolved (45ms) - undefined if loadSchema returned error (41ms) - undefined if schema compilation throws some other exception (57ms) + undefined if required schema is loaded but the reference cannot be resolved (49ms) + undefined if loadSchema returned error + undefined if schema compilation throws some other exception (47ms) schema with multiple remote properties, the first is recursive schema (#801) - undefined should validate data (82ms) + undefined should validate data (84ms) Ajv undefined should create instance compile method undefined should compile schema and return validating function undefined should cache compiled functions for the same schema - undefined should throw if different schema has the same id (42ms) - undefined should throw if invalid schema is compiled (41ms) + undefined should throw if different schema has the same id + undefined should throw if invalid schema is compiled Error compiling schema, function code: var customRule0 = customRules[0]; var validate = function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; var vErrors = null; var errors = 0; if (rootData === undefined) rootData = data; var errs__0 = errors;var valid0; valid0 = data % 2 !=== 0; if ( !valid0) { if (errs__0 == errors) { validate.errors = [ { keyword: 'even' , dataPath: (dataPath || '') + "" , schemaPath: '#/even' , params: { keyword: 'even' } , message: 'should pass "even" keyword validation' } ]; return false; } else { for (var i0=errs__0; i0