diff --git a/packages/install-metering-and-ses/package.json b/packages/install-metering-and-ses/package.json index 2e591a96318..62f34e772aa 100644 --- a/packages/install-metering-and-ses/package.json +++ b/packages/install-metering-and-ses/package.json @@ -5,16 +5,15 @@ "main": "install-metering-and-ses.js", "scripts": { "build": "exit 0", - "test": "tap --no-coverage --jobs=1 'test*.js'", + "test": "ava", "lint-fix": "eslint --fix '**/*.js'", "lint-check": "eslint '**/*.js'" }, "devDependencies": { "@agoric/eventual-send": "^0.9.3", "@agoric/transform-metering": "^1.3.0", - "esm": "^3.2.5", - "tap": "^14.10.5", - "tape": "^4.13.2" + "ava": "^3.11.1", + "esm": "^3.2.5" }, "dependencies": { "@agoric/eventual-send": "^0.9.3", @@ -78,5 +77,14 @@ }, "publishConfig": { "access": "public" + }, + "ava": { + "files": [ + "test/**/test-*.js" + ], + "require": [ + "esm" + ], + "timeout": "2m" } } diff --git a/packages/install-metering-and-ses/test-install-metering-and-ses.js b/packages/install-metering-and-ses/test/test-install-metering-and-ses.js similarity index 84% rename from packages/install-metering-and-ses/test-install-metering-and-ses.js rename to packages/install-metering-and-ses/test/test-install-metering-and-ses.js index 43d3e294612..e528478eb90 100644 --- a/packages/install-metering-and-ses/test-install-metering-and-ses.js +++ b/packages/install-metering-and-ses/test/test-install-metering-and-ses.js @@ -1,6 +1,6 @@ /* global Compartment harden */ -import './install-metering-and-ses'; -import test from 'tape'; +import '../install-metering-and-ses'; +import test from 'ava'; import { makeMeter } from '@agoric/transform-metering'; // I don't know how to test that replaceGlobalMeter already exists, because @@ -16,15 +16,14 @@ import { tameMetering } from '@agoric/tame-metering'; const replaceGlobalMeter = tameMetering(); test('SES globals are present', t => { - t.equal(typeof Compartment, 'function'); - t.equal(typeof harden, 'function'); - t.end(); + t.is(typeof Compartment, 'function'); + t.is(typeof harden, 'function'); }); test('can replaceGlobalMeter', t => { const { meter } = makeMeter(); const oldMeter = replaceGlobalMeter(meter); - t.isNot(meter, oldMeter); + t.not(meter, oldMeter); // provoke some globals const a = []; a.length = 10; @@ -33,5 +32,4 @@ test('can replaceGlobalMeter', t => { t.is(meter, newMeter); // TODO: once meters provide an API to read out their value, assert that // the value changed at all - t.end(); }); diff --git a/packages/registrar/package.json b/packages/registrar/package.json index 2943390b98a..db62eb9e93f 100644 --- a/packages/registrar/package.json +++ b/packages/registrar/package.json @@ -8,7 +8,7 @@ }, "scripts": { "build": "exit 0", - "test": "tape -r esm 'test/**/test*.js' | tap-spec", + "test": "ava", "lint-fix": "eslint --fix '**/*.js'", "lint-check": "eslint '**/*.js'", "lint-fix-jessie": "eslint -c '.eslintrc-jessie.js' --fix '**/*.js'", @@ -31,10 +31,8 @@ }, "devDependencies": { "@agoric/install-ses": "^0.2.0", - "esm": "^3.2.25", - "tap-spec": "^5.0.0", - "tape": "^4.11.0", - "tape-promise": "^4.0.0" + "ava": "^3.11.1", + "esm": "^3.2.25" }, "files": [ "src/", @@ -84,5 +82,14 @@ }, "publishConfig": { "access": "public" + }, + "ava": { + "files": [ + "test/**/test-*.js" + ], + "require": [ + "esm" + ], + "timeout": "2m" } } diff --git a/packages/registrar/test/unitTests/test-registrar.js b/packages/registrar/test/unitTests/test-registrar.js index 6ec5764ae22..371f2bfb2e0 100644 --- a/packages/registrar/test/unitTests/test-registrar.js +++ b/packages/registrar/test/unitTests/test-registrar.js @@ -1,61 +1,49 @@ import '@agoric/install-ses'; -import { test } from 'tape-promise/tape'; +import test from 'ava'; import { makeRegistrar } from '../../src/registrar'; test('Registrar operations', async t => { - try { - const registrarService = makeRegistrar('testnet'); - const obj1 = {}; - const obj2 = {}; - const id1 = registrarService.register('myname', obj1); - t.assert(id1.match(/^myname_\d{4,}$/), 'id1 is correct format'); - const id2 = registrarService.register('myname', obj2); - t.assert(id2.match(/^myname_\d{4,}$/), 'id2 is correct format'); - t.isNot(id2, id1, 'ids for different objects are different'); - const id1a = registrarService.register('myname', obj1); - t.assert(id1a.match(/^myname_\d{4,}$/), 'id1a is correct format'); - t.isNot(id1a, id1, 'ids for same object are different'); - const id1b = registrarService.register('othername', obj1); - t.assert(id1b.match(/^othername_\d{4,}$/), 'id1b is correct format'); - const ret1 = registrarService.get(id1); - t.equals(ret1, obj1, 'returned obj1 is equal'); - const ret2 = registrarService.get(id2); - t.equals(ret2, obj2, 'returned obj2 is equal'); - const ret1a = registrarService.get(id1a); - t.equals(ret1a, obj1, 'returned obj1a is equal'); - const ret1b = registrarService.get(id1b); - t.equals(ret1b, obj1, 'returned obj1b is equal'); + const registrarService = makeRegistrar('testnet'); + const obj1 = {}; + const obj2 = {}; + const id1 = registrarService.register('myname', obj1); + t.assert(id1.match(/^myname_\d{4,}$/), 'id1 is correct format'); + const id2 = registrarService.register('myname', obj2); + t.assert(id2.match(/^myname_\d{4,}$/), 'id2 is correct format'); + t.not(id2, id1, 'ids for different objects are different'); + const id1a = registrarService.register('myname', obj1); + t.assert(id1a.match(/^myname_\d{4,}$/), 'id1a is correct format'); + t.not(id1a, id1, 'ids for same object are different'); + const id1b = registrarService.register('othername', obj1); + t.assert(id1b.match(/^othername_\d{4,}$/), 'id1b is correct format'); + const ret1 = registrarService.get(id1); + t.is(ret1, obj1, 'returned obj1 is equal'); + const ret2 = registrarService.get(id2); + t.is(ret2, obj2, 'returned obj2 is equal'); + const ret1a = registrarService.get(id1a); + t.is(ret1a, obj1, 'returned obj1a is equal'); + const ret1b = registrarService.get(id1b); + t.is(ret1b, obj1, 'returned obj1b is equal'); - t.equals(registrarService.keys().length, 4, 'number of keys is expected'); - } catch (e) { - t.isNot(e, e, 'unexpected exception'); - } finally { - t.end(); - } + t.is(registrarService.keys().length, 4, 'number of keys is expected'); }); test('Registrar collisions', async t => { - try { - const registrarService = makeRegistrar('collide'); - const iterations = 3000; - const myobj = {}; - let maxlength = Number.NEGATIVE_INFINITY; - for (let i = 0; i < iterations; i += 1) { - const id = registrarService.register('a', myobj); - maxlength = Math.max(maxlength, id.length); - } - t.equals(maxlength, 7, 'expected maximum key length'); - - const keys = registrarService.keys(); - t.equals(keys.length, iterations, 'expected number of keys'); - t.equals( - keys.filter(key => registrarService.get(key) !== myobj).length, - 0, - 'expected no deviations', - ); - } catch (e) { - t.isNot(e, e, 'unexpected exception'); - } finally { - t.end(); + const registrarService = makeRegistrar('collide'); + const iterations = 3000; + const myobj = {}; + let maxlength = Number.NEGATIVE_INFINITY; + for (let i = 0; i < iterations; i += 1) { + const id = registrarService.register('a', myobj); + maxlength = Math.max(maxlength, id.length); } + t.is(maxlength, 7, 'expected maximum key length'); + + const keys = registrarService.keys(); + t.is(keys.length, iterations, 'expected number of keys'); + t.is( + keys.filter(key => registrarService.get(key) !== myobj).length, + 0, + 'expected no deviations', + ); }); diff --git a/packages/same-structure/package.json b/packages/same-structure/package.json index ef8ca4e3623..78e9e2a036f 100644 --- a/packages/same-structure/package.json +++ b/packages/same-structure/package.json @@ -33,10 +33,8 @@ "@agoric/marshal": "^0.2.3" }, "devDependencies": { - "esm": "^3.2.25", - "tap-spec": "^5.0.0", - "tape": "^4.11.0", - "tape-promise": "^4.0.0" + "ava": "^3.11.1", + "esm": "^3.2.25" }, "files": [ "src/", @@ -86,5 +84,14 @@ }, "publishConfig": { "access": "public" + }, + "ava": { + "files": [ + "test/**/test-*.js" + ], + "require": [ + "esm" + ], + "timeout": "2m" } } diff --git a/packages/stat-logger/package.json b/packages/stat-logger/package.json index 14c3049069f..b2feedd9be3 100644 --- a/packages/stat-logger/package.json +++ b/packages/stat-logger/package.json @@ -18,12 +18,19 @@ "vega-canvas": "^1.2.1" }, "devDependencies": { - "esm": "^3.2.25", - "tap-spec": "^5.0.0", - "tape": "^4.10.2", - "tape-promise": "^4.0.0" + "ava": "^3.11.1", + "esm": "^3.2.25" }, "publishConfig": { "access": "public" + }, + "ava": { + "files": [ + "test/**/test-*.js" + ], + "require": [ + "esm" + ], + "timeout": "2m" } } diff --git a/yarn.lock b/yarn.lock index 656da40e969..87522239cb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3563,18 +3563,6 @@ deep-equal@~1.0.1: resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= -deep-equal@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -3817,13 +3805,6 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -3954,7 +3935,7 @@ es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.7.0: string.prototype.trimleft "^2.1.0" string.prototype.trimright "^2.1.0" -es-abstract@^1.17.0, es-abstract@^1.17.2, es-abstract@^1.17.5: +es-abstract@^1.17.0, es-abstract@^1.17.2: version "1.17.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== @@ -5016,7 +4997,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.4, glob@~7.1.6: +glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5618,11 +5599,6 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5889,7 +5865,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-regex@^1.0.5, is-regex@~1.0.5: +is-regex@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== @@ -6876,7 +6852,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.1, minimist@^1.2.5, minimist@~1.2.5: +minimist@^1.1.1, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -7412,7 +7388,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.7.0, object-inspect@~1.7.0: +object-inspect@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== @@ -7422,14 +7398,6 @@ object-inspect@~1.6.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== -object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -9014,14 +8982,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -9152,7 +9112,7 @@ resolve@^1.1.10: dependencies: path-parse "^1.0.6" -resolve@^1.1.7, resolve@^1.13.1, resolve@^1.16.0, resolve@^1.17.0, resolve@~1.17.0: +resolve@^1.1.7, resolve@^1.13.1, resolve@^1.16.0, resolve@^1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -9993,15 +9953,6 @@ string.prototype.trim@~1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" -string.prototype.trim@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz#141233dff32c82bfad80684d7e5f0869ee0fb782" - integrity sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - string.prototype.trimleft@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" @@ -10429,27 +10380,6 @@ tape@^4.10.2, tape@^4.11.0: string.prototype.trim "~1.1.2" through "~2.3.8" -tape@^4.13.2: - version "4.13.3" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.3.tgz#51b3d91c83668c7a45b1a594b607dee0a0b46278" - integrity sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw== - dependencies: - deep-equal "~1.1.1" - defined "~1.0.0" - dotignore "~0.1.2" - for-each "~0.3.3" - function-bind "~1.1.1" - glob "~7.1.6" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.0.5" - minimist "~1.2.5" - object-inspect "~1.7.0" - resolve "~1.17.0" - resumer "~0.0.0" - string.prototype.trim "~1.2.1" - through "~2.3.8" - tar-fs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"