From e89b8c4ec477e2f44ea38e42452d8b91ba6d6e4a Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Fri, 19 Jul 2019 16:01:56 -0400 Subject: [PATCH 1/6] [Implement] isBuffer(value: T) --- assembly/buffer/index.ts | 4 ++++ assembly/node.d.ts | 2 ++ tests/buffer.spec.ts | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/assembly/buffer/index.ts b/assembly/buffer/index.ts index 66866bf..1c97aa1 100644 --- a/assembly/buffer/index.ts +++ b/assembly/buffer/index.ts @@ -22,4 +22,8 @@ export class Buffer extends Uint8Array { result.dataLength = size; return result; } + + public static isBuffer(value: T): bool { + return value instanceof Buffer; + } } diff --git a/assembly/node.d.ts b/assembly/node.d.ts index 80075a8..55ee124 100644 --- a/assembly/node.d.ts +++ b/assembly/node.d.ts @@ -3,4 +3,6 @@ declare class Buffer extends Uint8Array { static alloc(size: i32): Buffer; /** This method allocates a new Buffer of indicated size. This is unsafe because the data is not zeroed. */ static allocUnsafe(size: i32): Buffer; + /** This method asserts a value is a Buffer object via `value instanceof Buffer`. */ + static isBuffer(value: T): bool; } diff --git a/tests/buffer.spec.ts b/tests/buffer.spec.ts index 1596845..3c78cc6 100644 --- a/tests/buffer.spec.ts +++ b/tests/buffer.spec.ts @@ -42,4 +42,17 @@ describe("buffer", () => { // TODO: expectFn(() => { Buffer.allocUnsafe(-1); }).toThrow(); // TODO: expectFn(() => { Buffer.allocUnsafe(BLOCK_MAXSIZE + 1); }).toThrow(); }); + + test("#isBuffer", () => { + let a = ""; + let b = new Uint8Array(0); + let c = 0; + let d = 1.1; + let e = new Buffer(0); + expect(Buffer.isBuffer(a)).toBeFalsy(); + expect(Buffer.isBuffer(b)).toBeFalsy(); + expect(Buffer.isBuffer(c)).toBeFalsy(); + expect(Buffer.isBuffer(d)).toBeFalsy(); + expect(Buffer.isBuffer(e)).toBeTruthy(); + }); }); From 1dd14e24dd94b423ec2e55385617fd2b5736dd84 Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Mon, 22 Jul 2019 10:17:48 -0400 Subject: [PATCH 2/6] [Fix] Null expectation, remove diff --- assembly/buffer/index.ts | 4 ++-- package-lock.json | 6 ------ package.json | 1 - tests/node.js | 18 +++++++++++++++++- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/assembly/buffer/index.ts b/assembly/buffer/index.ts index a056ebf..3ec224f 100644 --- a/assembly/buffer/index.ts +++ b/assembly/buffer/index.ts @@ -24,7 +24,7 @@ export class Buffer extends Uint8Array { } public static isBuffer(value: T): bool { - return value instanceof Buffer; + return value instanceof Buffer && value != null; } readUInt8(offset: i32 = 0): u8 { @@ -43,7 +43,7 @@ export class Buffer extends Uint8Array { store(this.dataStart + offset, value); return offset + 1; } - + readInt8(offset: i32 = 0): i8 { if(offset >= this.dataLength) throw new RangeError(E_INDEXOUTOFRANGE); return load(this.dataStart + usize(offset)); diff --git a/package-lock.json b/package-lock.json index 039989d..17a02cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -129,12 +129,6 @@ "lodash.get": "~4.4.2" } }, - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", diff --git a/package.json b/package.json index 831c9c0..2aff581 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "devDependencies": { "@as-pect/core": "^2.2.0", "assemblyscript": "github:assemblyscript/assemblyscript#7c775d1bccbe08fec5d820b9d53ae44ff6bd1e49", - "diff": "^4.0.1", "glob": "^7.1.4", "wasi": "github:devsnek/node-wasi" }, diff --git a/tests/node.js b/tests/node.js index 5cb4a58..77ed794 100644 --- a/tests/node.js +++ b/tests/node.js @@ -7,7 +7,7 @@ const path = require("path"); const fs = require("fs"); const Wasi = require("wasi"); const wasi = new Wasi({}); -const diff = require("diff"); +let pass = true; const options = parse(process.argv.slice(2), { "help": { @@ -160,4 +160,20 @@ function runTest(file, type, binary, wat) { wasi.setMemory(wasm.memory); wasi.view = new DataView(wasm.memory.buffer); context.run(wasm); + // TODO: when @as-pect/cli 2.2.1 is approved, just check context.pass + for (const group of context.testGroups) { + if (!pass) break; + if (!group.pass) { + pass = false; + break; + } + for (const test of group.tests) { + if (!test.pass) { + pass = false; + break; + } + } + } } + +process.exit(pass ? 0 : 1); From 4b0f3192848d945b86f18a9f32a9dd0f0b44d46c Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Tue, 23 Jul 2019 10:09:16 -0400 Subject: [PATCH 3/6] [Cleanup] remove null check --- assembly/buffer/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assembly/buffer/index.ts b/assembly/buffer/index.ts index a012060..2d43385 100644 --- a/assembly/buffer/index.ts +++ b/assembly/buffer/index.ts @@ -24,7 +24,7 @@ export class Buffer extends Uint8Array { } public static isBuffer(value: T): bool { - return value instanceof Buffer && value != null; + return value instanceof Buffer; } readUInt8(offset: i32 = 0): u8 { From 2379089a6168efc6713dd0353d331b730789b6a6 Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Tue, 23 Jul 2019 10:26:39 -0400 Subject: [PATCH 4/6] [Cleanup] Update assemblyscript, fix null assertions, wait for as-pect bug fix in 2.2.0 --- package-lock.json | 47 +++++++++++++------------------------------- package.json | 5 +++-- tests/buffer.spec.ts | 15 +++++++------- tests/node.js | 38 ++--------------------------------- 4 files changed, 27 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index 17a02cb..96fc179 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,8 +25,7 @@ "@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", - "dev": true + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "ansi-styles": { "version": "3.2.1", @@ -38,9 +37,8 @@ } }, "assemblyscript": { - "version": "github:assemblyscript/assemblyscript#7c775d1bccbe08fec5d820b9d53ae44ff6bd1e49", - "from": "github:assemblyscript/assemblyscript#7c775d1bccbe08fec5d820b9d53ae44ff6bd1e49", - "dev": true, + "version": "github:assemblyscript/assemblyscript#4c938f7689c39e3a1ad813356781e2689fd4ec70", + "from": "github:assemblyscript/assemblyscript", "requires": { "@protobufjs/utf8": "^1.1.0", "binaryen": "87.0.0-nightly.20190716", @@ -53,14 +51,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binaryen": { "version": "87.0.0-nightly.20190716", "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-87.0.0-nightly.20190716.tgz", - "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==", - "dev": true + "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==" }, "bindings": { "version": "1.5.0", @@ -75,7 +71,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -84,8 +79,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "chalk": { "version": "2.4.2", @@ -116,8 +110,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "csv-stringify": { "version": "5.3.0", @@ -144,14 +137,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -171,7 +162,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -180,8 +170,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "lodash.get": { "version": "4.4.2", @@ -193,14 +182,12 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -209,7 +196,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -217,26 +203,22 @@ "opencollective-postinstall": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", - "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", - "dev": true + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.12", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -262,8 +244,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } diff --git a/package.json b/package.json index 2aff581..b00319f 100644 --- a/package.json +++ b/package.json @@ -13,12 +13,13 @@ }, "devDependencies": { "@as-pect/core": "^2.2.0", - "assemblyscript": "github:assemblyscript/assemblyscript#7c775d1bccbe08fec5d820b9d53ae44ff6bd1e49", "glob": "^7.1.4", "wasi": "github:devsnek/node-wasi" }, "scripts": { "test": "node tests/node" }, - "dependencies": {} + "dependencies": { + "assemblyscript": "github:assemblyscript/assemblyscript" + } } diff --git a/tests/buffer.spec.ts b/tests/buffer.spec.ts index 5bfea19..8645074 100644 --- a/tests/buffer.spec.ts +++ b/tests/buffer.spec.ts @@ -27,7 +27,7 @@ describe("buffer", () => { expect(Buffer.alloc(10)).toHaveLength(10); let buff = Buffer.alloc(100); for (let i = 0; i < buff.length; i++) expect(buff[i]).toBe(0); - expect(buff.buffer).not.toBeNull(); + expect(buff.buffer).not.toBeNull(); expect(buff.byteLength).toBe(100); // TODO: expectFn(() => { Buffer.alloc(-1); }).toThrow(); // TODO: expectFn(() => { Buffer.alloc(BLOCK_MAXSIZE + 1); }).toThrow(); @@ -37,7 +37,7 @@ describe("buffer", () => { expect(Buffer.allocUnsafe(10)).toBeTruthy(); expect(Buffer.allocUnsafe(10)).toHaveLength(10); let buff = Buffer.allocUnsafe(100); - expect(buff.buffer).not.toBeNull(); + expect(buff.buffer).not.toBeNull(); expect(buff.byteLength).toBe(100); // TODO: expectFn(() => { Buffer.allocUnsafe(-1); }).toThrow(); // TODO: expectFn(() => { Buffer.allocUnsafe(BLOCK_MAXSIZE + 1); }).toThrow(); @@ -54,7 +54,8 @@ describe("buffer", () => { expect(Buffer.isBuffer(c)).toBeFalsy(); expect(Buffer.isBuffer(d)).toBeFalsy(); expect(Buffer.isBuffer(e)).toBeTruthy(); - expect(Buffer.isBuffer(null)).toBeFalsy(); + // null checks are done by the compiler explicitly at runtime + expect(Buffer.isBuffer(null)).toBeFalsy(); }); test("#readUInt8", () => { @@ -67,10 +68,10 @@ describe("buffer", () => { // Testing offset expect(buff.readUInt8(9)).toBe(47); // TODO: - // expectFn(() => { + // expectFn(() => { // let newBuff = new Buffer(1); // newBuff.readUInt8(5); - // }).toThrow(); + // }).toThrow(); }); test("#writeUInt8", () => { @@ -79,7 +80,7 @@ describe("buffer", () => { expect(buff.writeUInt8(252,4)).toBe(5); expect(buff[0]).toBe(4); expect(buff[4]).toBe(252); - }); + }); test("#writeInt8", () => { let buff = new Buffer(5); @@ -98,7 +99,7 @@ describe("buffer", () => { // Testing offset, and casting between u8 and i8. expect(buff.readInt8(9)).toBe(-1); // TODO: - // expectFn(() => { + // expectFn(() => { // let newBuff = new Buffer(1); // newBuff.readInt8(5); // }).toThrow(); diff --git a/tests/node.js b/tests/node.js index 77ed794..91a8251 100644 --- a/tests/node.js +++ b/tests/node.js @@ -1,4 +1,4 @@ -const { TestContext, EmptyReporter } = require("@as-pect/core"); +const { TestContext, VerboseReporter } = require("@as-pect/core"); const { instantiateBuffer } = require("assemblyscript/lib/loader"); const glob = require("glob"); const { main } = require("assemblyscript/cli/asc"); @@ -27,41 +27,7 @@ if (options.unknown.length > 1) { process.exit(1); } -class Reporter extends EmptyReporter { - onGroupFinish(group) { - if (group.name) { - if (group.pass) process.stdout.write("Group : " + group.name + " -> ✔ PASS"); - else process.stdout.write("Group : " + group.name + " -> ❌ FAIL"); - process.stdout.write("\n"); - } - } - - onTestFinish(group, test) { - if (test.pass) process.stdout.write("Test : " + group.name + " -> " + test.name + " ✔ PASS\n"); - else process.stdout.write("Test : " + group.name + " -> " + test.name + " ❌ FAIL\n"); - - if (!test.pass) { - process.stdout.write("Actual : " + test.actual.message + "\n"); - process.stdout.write("Expected : " + test.expected.message + "\n"); - } - - if (test.logs.length > 0) { - test.logs.forEach((e, i) => { - if (i > 0) process.stdout.write("\n"); - process.stdout.write("Log : " + e.value); - }); - process.stdout.write("\n"); - } - } - onFinish(context) { - const passed = context.testGroups.filter(e => !e.pass).length === 0; - if (passed) process.stdout.write("Suite : ✔ PASS"); - else process.stdout.write("Suite : ❌ FAIL"); - process.stdout.write("\n"); - } -} - -const reporter = new Reporter(); +const reporter = new VerboseReporter(); function relativeFromCwd(location) { return path.relative(process.cwd(), location); From ecadff7254f429e7f66823ebfeb20bd73447fe8a Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Tue, 23 Jul 2019 13:31:59 -0400 Subject: [PATCH 5/6] [Chore] update package versions --- package-lock.json | 57 +++++++++++++++++++++++++++++++---------------- package.json | 7 +++--- 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96fc179..1d4efe9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,18 +5,18 @@ "requires": true, "dependencies": { "@as-pect/assembly": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@as-pect/assembly/-/assembly-2.2.0.tgz", - "integrity": "sha512-Md50OTJRH6uTCqNJpcJu8/W9qNGZixzIHLktTeK5Ot5UEiWqd/JoQlTAM5V5+Bp1cI5fCqmUld6Dpq+ixDraPA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@as-pect/assembly/-/assembly-2.3.1.tgz", + "integrity": "sha512-KYBhyTEnaVcJjN/1EpzLhpbUHKT3pJjCPxm+Mdc7obnZ9EdVz6vN/lw+BQjeL4cUi1YLsnvgl8ftXcup5jVbQA==", "dev": true }, "@as-pect/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@as-pect/core/-/core-2.2.0.tgz", - "integrity": "sha512-a1I142/J1JOa4mLeRI0tKT9KrGlHgLNHn7ZkLlkp9v/n9pE4Zuh9rGYzGuUZg285ze+0yGQfYVmRqBLJkS+IlQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@as-pect/core/-/core-2.3.1.tgz", + "integrity": "sha512-iwd4MkGuO1wZqo9/sPlT567XYK0PkMLzBvwfkXOM2zq1wwuc5GZQrKoofgYorA40KI0edJW39djtOmPwIhx2vA==", "dev": true, "requires": { - "@as-pect/assembly": "^2.2.0", + "@as-pect/assembly": "^2.3.1", "chalk": "^2.4.2", "csv-stringify": "^5.3.0", "long": "^4.0.0" @@ -25,7 +25,8 @@ "@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -39,6 +40,7 @@ "assemblyscript": { "version": "github:assemblyscript/assemblyscript#4c938f7689c39e3a1ad813356781e2689fd4ec70", "from": "github:assemblyscript/assemblyscript", + "dev": true, "requires": { "@protobufjs/utf8": "^1.1.0", "binaryen": "87.0.0-nightly.20190716", @@ -51,12 +53,14 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "binaryen": { "version": "87.0.0-nightly.20190716", "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-87.0.0-nightly.20190716.tgz", - "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==" + "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==", + "dev": true }, "bindings": { "version": "1.5.0", @@ -71,6 +75,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -79,7 +84,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "chalk": { "version": "2.4.2", @@ -110,7 +116,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "csv-stringify": { "version": "5.3.0", @@ -137,12 +144,14 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -162,6 +171,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -170,7 +180,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "lodash.get": { "version": "4.4.2", @@ -182,12 +193,14 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -196,6 +209,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -203,22 +217,26 @@ "opencollective-postinstall": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", - "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-support": { "version": "0.5.12", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -244,7 +262,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true } } } diff --git a/package.json b/package.json index b00319f..ff4bc6b 100644 --- a/package.json +++ b/package.json @@ -12,14 +12,13 @@ "url": "https://github.com/AssemblyScript/node/issues" }, "devDependencies": { - "@as-pect/core": "^2.2.0", + "@as-pect/core": "^2.3.1", + "assemblyscript": "github:assemblyscript/assemblyscript", "glob": "^7.1.4", "wasi": "github:devsnek/node-wasi" }, "scripts": { "test": "node tests/node" }, - "dependencies": { - "assemblyscript": "github:assemblyscript/assemblyscript" - } + "dependencies": {} } From 5a0d4a4be2bf43f4d5423699c9256c774e5bb17c Mon Sep 17 00:00:00 2001 From: Joshua Tenner Date: Tue, 23 Jul 2019 13:35:43 -0400 Subject: [PATCH 6/6] [Fix] update pass check --- tests/node.js | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/tests/node.js b/tests/node.js index 91a8251..c652c1e 100644 --- a/tests/node.js +++ b/tests/node.js @@ -126,20 +126,8 @@ function runTest(file, type, binary, wat) { wasi.setMemory(wasm.memory); wasi.view = new DataView(wasm.memory.buffer); context.run(wasm); - // TODO: when @as-pect/cli 2.2.1 is approved, just check context.pass - for (const group of context.testGroups) { - if (!pass) break; - if (!group.pass) { - pass = false; - break; - } - for (const test of group.tests) { - if (!test.pass) { - pass = false; - break; - } - } - } + + if (!context.pass) pass = false; } process.exit(pass ? 0 : 1);