From f74f4d6819cc05c621009e09f8aed98d2c7ddb65 Mon Sep 17 00:00:00 2001 From: msojocs Date: Mon, 29 Aug 2022 22:54:02 +0800 Subject: [PATCH] feat: wcsc-ll test --- .gitignore | 1 + .gitmodules | 3 + .mocharc.js | 3 +- README.md | 4 +- test/examples/miniprogram-demo | 1 + test/runner/node.js | 85 ++++++++++++ test/runner/wine.js | 79 +++++++++++ test/wcsc/ll.test.js | 79 +++++++++++ test/wcsc/ll/ll.js | 238 --------------------------------- 9 files changed, 253 insertions(+), 240 deletions(-) create mode 100644 .gitmodules create mode 160000 test/examples/miniprogram-demo create mode 100644 test/runner/node.js create mode 100644 test/runner/wine.js create mode 100644 test/wcsc/ll.test.js delete mode 100644 test/wcsc/ll/ll.js diff --git a/.gitignore b/.gitignore index 3c3629e..e633ed9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +test/**/*.json \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..792d39a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "test/examples/miniprogram-demo"] + path = test/examples/miniprogram-demo + url = https://github.com/wechat-miniprogram/miniprogram-demo.git diff --git a/.mocharc.js b/.mocharc.js index a15aae0..1bbb66b 100644 --- a/.mocharc.js +++ b/.mocharc.js @@ -1,5 +1,6 @@ module.exports = { require: ["@babel/register"], recursive: true, - spec: "test/**/*.test.js" + spec: "test/**/*.test.js", + timeout: 20000 } \ No newline at end of file diff --git a/README.md b/README.md index 925f567..2a2df47 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ 按照规律,将 Linux 版本代码修改为符合 windows 版本结构的代码。 +## 目录结构 + ``` . ├── generatemd5.js @@ -28,7 +30,7 @@ ├── package.json ├── package-lock.json ├── README.md -├── test +├── test --- 测试用例 ├── wcc_node --- 可视化编译器 ├── wcc_node_old --- 可视化编译器 - 旧 ├── wcsc_node_old --- 可视化编译器 - 旧 diff --git a/test/examples/miniprogram-demo b/test/examples/miniprogram-demo new file mode 160000 index 0000000..0e7f0b5 --- /dev/null +++ b/test/examples/miniprogram-demo @@ -0,0 +1 @@ +Subproject commit 0e7f0b50cad2165eb796915bd9010bf2aa06fe81 diff --git a/test/runner/node.js b/test/runner/node.js new file mode 100644 index 0000000..3b5a61b --- /dev/null +++ b/test/runner/node.js @@ -0,0 +1,85 @@ + +const path = require("path"); +const fs = require("fs"); +const { spawn } = require("child_process"); + +const wcsc = (args, projectPath) => { + const node_exec = spawn( + path.resolve(__dirname, "../../nodejs/wcsc"), + args, + { + cwd: projectPath, + env: { + // WX_DEBUG_COMPILER_OUTPUT: path.resolve(__dirname, '' + id), + }, + // stdio: 'inherit' + } + ); + const spwanData = [], + errData = []; + node_exec.stdout.on("data", (e) => { + spwanData.push(e); + // console.log(e.toString()) + }); + node_exec.stderr.on("data", (e) => { + errData.push(e); + // console.log(e.toString()) + }); + return new Promise((resolve, reject) => { + node_exec.on("close", (n) => { + if (0 === n) { + let result = Buffer.concat(spwanData).toString(); + result = JSON.parse(result); + resolve(result); + } else { + // process.stderr.write(Buffer.concat(errData).toString()); + // process.stderr.write(Buffer.concat(spwanData).toString()); + reject(n); + } + }); + }); +}; +const wcc = (args, projectPath, id) => { + const node_exec = spawn( + path.resolve(__dirname, "../../nodejs/wcc"), + args, + { + cwd: projectPath, + env: { + // WX_DEBUG_COMPILER_OUTPUT: path.resolve(__dirname, '' + id), + }, + // stdio: 'inherit' + } + ); + const spwanData = [], + errData = []; + node_exec.stdout.on("data", (e) => { + spwanData.push(e); + // console.log(e.toString()) + }); + node_exec.stderr.on("data", (e) => { + errData.push(e); + // console.log(e.toString()) + }); + return new Promise((resolve, reject) => { + node_exec.on("close", (n) => { + // console.log("node n: ", n); + if (0 === n) { + let result = Buffer.concat(spwanData).toString(); + // require('fs').writeFileSync('/mnt/disk2/wechat-web-devtools-linux/tmp/llw2.json', result) + // process.stdout.write(result); + result = JSON.parse(result); + resolve(result); + } else { + process.stderr.write(Buffer.concat(errData).toString()); + // process.stderr.write(Buffer.concat(spwanData).toString()); + reject(n); + } + }); + }); +}; + +export { + wcsc, + wcc +} \ No newline at end of file diff --git a/test/runner/wine.js b/test/runner/wine.js new file mode 100644 index 0000000..8316215 --- /dev/null +++ b/test/runner/wine.js @@ -0,0 +1,79 @@ + +const path = require("path"); +const fs = require("fs"); +const { spawn } = require("child_process"); + + +const wcsc = (args, projectPath) => { + const wine = spawn( + path.resolve(__dirname, "../../wine/wcsc.exe"), + args, + { + cwd: projectPath, + } + ); + const spwanData = [], + errData = []; + wine.stdout.on("data", (e) => { + spwanData.push(e); + }); + wine.stderr.on("data", (e) => { + errData.push(e); + }); + return new Promise((resolve, reject) => { + wine.on("close", (n) => { + // console.log("wine n: ", n); + if (0 === n) { + let result = Buffer.concat(spwanData).toString(); + result = JSON.parse(result); + resolve(result); + } else { + process.stderr.write( + "wine error:", + Buffer.concat(errData).toString() + ); + // process.stderr.write(Buffer.concat(spwanData).toString()); + reject(n); + } + }); + }); +}; +const wcc = (args, projectPath) => { + const wine = spawn( + path.resolve(__dirname, "../../wine/wcc.exe"), + args, + { + cwd: projectPath, + } + ); + const spwanData = [], + errData = []; + wine.stdout.on("data", (e) => { + spwanData.push(e); + }); + wine.stderr.on("data", (e) => { + errData.push(e); + }); + return new Promise((resolve, reject) => { + wine.on("close", (n) => { + // console.log("wine n: ", n); + if (0 === n) { + let result = Buffer.concat(spwanData).toString(); + result = JSON.parse(result); + resolve(result); + } else { + process.stderr.write( + "wine error:", + Buffer.concat(errData).toString() + ); + // process.stderr.write(Buffer.concat(spwanData).toString()); + reject(n); + } + }); + }); +}; + +export { + wcsc, + wcc +} \ No newline at end of file diff --git a/test/wcsc/ll.test.js b/test/wcsc/ll.test.js new file mode 100644 index 0000000..e528291 --- /dev/null +++ b/test/wcsc/ll.test.js @@ -0,0 +1,79 @@ +const assert = require("assert"); +const node = require("../runner/node"); +const wine = require("../runner/wine"); +const path = require("path"); +const fs = require("fs"); + +describe("wcsc", function () { + describe("node output should deep equal with wine", function () { + // afterEach(function(){ + // if(this.currentTest.state === 'failed'){ + // console.error('failed', this.currentTest) + // } + // }) + it("主界面", async function () { + const projectPath = path.resolve( + __dirname, + "../examples/miniprogram-demo/miniprogram" + ); + const args = [ + "-db", + "-pc", + "12", + "./page/component/index.wxss", + "./page/API/index.wxss", + "./page/cloud/index.wxss", + "./page/extend/index.wxss", + "./component/navigation-bar/navigation-bar.wxss", + "./components/navigation-bar/index.wxss", + "./components/page-scroll/index.wxss", + "./page/API/components/set-tab-bar/set-tab-bar.wxss", + "./miniprogram_npm/miniprogram-barrage/index.wxss", + "./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss", + "./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss", + "./miniprogram_npm/wxml-to-canvas/index.wxss", + "./app.wxss", + "./common/common-skyline.wxss", + "./common/reset.wxss", + "./common/lib/weui.wxss", + "./page/common/index-skyline.wxss", + "-ll", + ]; + const w = await wine.wcsc(args, projectPath); + const n = await node.wcsc(args, projectPath); + try { + fs.mkdirSync(path.resolve(__dirname, this.test.title)); + } catch (error) {} + fs.writeFileSync( + path.resolve(__dirname, `${this.test.title}/wine.json`), + JSON.stringify(w, null, 4) + ); + fs.writeFileSync( + path.resolve(__dirname, `${this.test.title}/node.json`), + JSON.stringify(n, null, 4) + ); + assert.deepEqual(w, n); + }); + it("接口-设置界面标题", async function () { + const projectPath = path.resolve( + __dirname, + "../examples/miniprogram-demo/miniprogram/" + ); + const args = ["-db","-pc","74","./packageAPI/pages/api/login/login.wxss","./packageAPI/pages/api/get-user-info/get-user-info.wxss","./packageAPI/pages/api/request-payment/request-payment.wxss","./packageAPI/pages/api/jump/jump.wxss","./packageAPI/pages/api/share/share.wxss","./packageAPI/pages/api/share-button/share-button.wxss","./packageAPI/pages/api/custom-message/custom-message.wxss","./packageAPI/pages/api/subscribe-message/subscribe-message.wxss","./packageAPI/pages/api/choose-address/choose-address.wxss","./packageAPI/pages/api/choose-invoice-title/choose-invoice-title.wxss","./packageAPI/pages/api/soter-authentication/soter-authentication.wxss","./packageAPI/pages/api/setting/setting.wxss","./packageAPI/pages/ar/visionkit-basic/visionkit-basic.wxss","./packageAPI/pages/ar/plane-ar/plane-ar.wxss","./packageAPI/pages/ar/2dmarker-ar/2dmarker-ar.wxss","./packageAPI/pages/ar/osd-ar/osd-ar.wxss","./packageAPI/pages/page/set-navigation-bar-title/set-navigation-bar-title.wxss","./packageAPI/pages/page/navigation-bar-loading/navigation-bar-loading.wxss","./packageAPI/pages/page/navigator/navigator.wxss","./packageAPI/pages/page/pull-down-refresh/pull-down-refresh.wxss","./packageAPI/pages/page/animation/animation.wxss","./packageAPI/pages/page/action-sheet/action-sheet.wxss","./packageAPI/pages/page/modal/modal.wxss","./packageAPI/pages/page/toast/toast.wxss","./packageAPI/pages/page/canvas/canvas.wxss","./packageAPI/pages/page/get-wxml-node-info/get-wxml-node-info.wxss","./packageAPI/pages/page/page-scroll/page-scroll.wxss","./packageAPI/pages/page/intersection-observer/intersection-observer.wxss","./packageAPI/pages/device/clipboard-data/clipboard-data.wxss","./packageAPI/pages/device/bluetooth/bluetooth.wxss","./packageAPI/pages/device/bluetooth/slave/slave.wxss","./packageAPI/pages/device/screen-brightness/screen-brightness.wxss","./packageAPI/pages/device/vibrate/vibrate.wxss","./packageAPI/pages/device/add-contact/add-contact.wxss","./packageAPI/pages/device/wifi/wifi.wxss","./packageAPI/pages/device/get-network-type/get-network-type.wxss","./packageAPI/pages/device/on-network-status-change/on-network-status-change.wxss","./packageAPI/pages/device/get-system-info/get-system-info.wxss","./packageAPI/pages/device/on-compass-change/on-compass-change.wxss","./packageAPI/pages/device/make-phone-call/make-phone-call.wxss","./packageAPI/pages/device/scan-code/scan-code.wxss","./packageAPI/pages/device/on-accelerometer-change/on-accelerometer-change.wxss","./packageAPI/pages/device/capture-screen/capture-screen.wxss","./packageAPI/pages/device/ibeacon/ibeacon.wxss","./packageAPI/pages/device/get-battery-info/get-battery-info.wxss","./packageAPI/pages/media/image/image.wxss","./packageAPI/pages/media/voice/voice.wxss","./packageAPI/pages/media/file/file.wxss","./packageAPI/pages/media/load-font-face/load-font-face.wxss","./packageAPI/pages/media/background-audio/background-audio.wxss","./packageAPI/pages/media/video/video.wxss","./packageAPI/pages/media/audio/audio.wxss","./packageAPI/pages/media/media-container/media-container.wxss","./packageAPI/pages/location/get-location/get-location.wxss","./packageAPI/pages/location/open-location/open-location.wxss","./packageAPI/pages/location/choose-location/choose-location.wxss","./packageAPI/pages/network/request/request.wxss","./packageAPI/pages/network/web-socket/web-socket.wxss","./packageAPI/pages/network/upload-file/upload-file.wxss","./packageAPI/pages/network/download-file/download-file.wxss","./packageAPI/pages/network/mdns/mdns.wxss","./packageAPI/pages/network/udp-socket/udp-socket.wxss","./packageAPI/pages/storage/storage/storage.wxss","./packageAPI/pages/storage/get-background-fetch-data/get-background-fetch-data.wxss","./packageAPI/pages/storage/get-background-prefetch-data/get-background-prefetch-data.wxss","./packageAPI/pages/performance/get-performance/get-performance.wxss","./packageAPI/pages/worker/worker/worker.wxss","./packageAPI/pages/framework/two-way-bindings/two-way-bindings.wxss","./packageAPI/pages/framework/wxs/wxs.wxss","./packageAPI/pages/framework/resizable/resizable.wxss","./packageAPI/pages/framework/wxs/movable.wxss","./packageAPI/pages/framework/wxs/sidebar.wxss","./packageAPI/pages/framework/wxs/stick-top.wxss","./packageAPI/pages/framework/wxs/nearby.wxss","./app.wxss","./common/common-skyline.wxss","./common/reset.wxss","./common/lib/weui.wxss","./component/navigation-bar/navigation-bar.wxss","./components/navigation-bar/index.wxss","./components/page-scroll/index.wxss","./page/API/index.wxss","./page/API/components/set-tab-bar/set-tab-bar.wxss","./page/cloud/index.wxss","./page/common/index-skyline.wxss","./page/component/index.wxss","./page/extend/index.wxss","./miniprogram_npm/miniprogram-barrage/index.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss","./miniprogram_npm/wxml-to-canvas/index.wxss","--subpackage","packageAPI","-ll"] + const w = await wine.wcsc(args, projectPath); + const n = await node.wcsc(args, projectPath); + try { + fs.mkdirSync(path.resolve(__dirname, this.test.title)); + } catch (error) {} + fs.writeFileSync( + path.resolve(__dirname, `${this.test.title}/wine.json`), + JSON.stringify(w, null, 4) + ); + fs.writeFileSync( + path.resolve(__dirname, `${this.test.title}/node.json`), + JSON.stringify(n, null, 4) + ); + assert.deepEqual(w, n); + }); + }); +}); diff --git a/test/wcsc/ll/ll.js b/test/wcsc/ll/ll.js deleted file mode 100644 index 915b1a9..0000000 --- a/test/wcsc/ll/ll.js +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env node - -const { spawn, spawnSync } = require("child_process"); -const path = require("path"); -const fs = require("fs"); -const { exit } = require("process"); -const util = require('util') - -const samples = [] -const sample3 = { - projectPath: "/mnt/disk1/WeChatProjects/miniprogram-demo/miniprogram/", - args: [ - "-db", - "-pc", - "9", - "-ll", - "./page/component/index.wxss", - "./page/API/index.wxss", - "./page/cloud/index.wxss", - "./page/extend/index.wxss", - "./miniprogram_npm/miniprogram-barrage/index.wxss", - "./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss", - "./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss", - "./miniprogram_npm/wxml-to-canvas/index.wxss", - "./page/API/components/set-tab-bar/set-tab-bar.wxss", - "./app.wxss", - "./common/lib/weui.wxss", - "./page/common/common.wxss", - "./page/common/index.wxss", - "./page/common/lib/weui.wxss", - ] -} -const sample4 = { - projectPath: "/mnt/disk1/WeChatProjects/miniprogram-demo/miniprogram/", - args: [ - "-db", - "-pc", - "70", - "./packageAPI/pages/api/login/login.wxss", - "./packageAPI/pages/api/get-user-info/get-user-info.wxss", - "./packageAPI/pages/api/request-payment/request-payment.wxss", - "./packageAPI/pages/api/jump/jump.wxss", - "./packageAPI/pages/api/share/share.wxss", - "./packageAPI/pages/api/share-button/share-button.wxss", - "./packageAPI/pages/api/custom-message/custom-message.wxss", - "./packageAPI/pages/api/subscribe-message/subscribe-message.wxss", - "./packageAPI/pages/api/choose-address/choose-address.wxss", - "./packageAPI/pages/api/choose-invoice-title/choose-invoice-title.wxss", - "./packageAPI/pages/api/soter-authentication/soter-authentication.wxss", - "./packageAPI/pages/api/setting/setting.wxss", - "./packageAPI/pages/page/set-navigation-bar-title/set-navigation-bar-title.wxss", - "./packageAPI/pages/page/navigation-bar-loading/navigation-bar-loading.wxss", - "./packageAPI/pages/page/navigator/navigator.wxss", - "./packageAPI/pages/page/pull-down-refresh/pull-down-refresh.wxss", - "./packageAPI/pages/page/animation/animation.wxss", - "./packageAPI/pages/page/action-sheet/action-sheet.wxss", - "./packageAPI/pages/page/modal/modal.wxss", - "./packageAPI/pages/page/toast/toast.wxss", - "./packageAPI/pages/page/canvas/canvas.wxss", - "./packageAPI/pages/page/get-wxml-node-info/get-wxml-node-info.wxss", - "./packageAPI/pages/page/page-scroll/page-scroll.wxss", - "./packageAPI/pages/page/intersection-observer/intersection-observer.wxss", - "./packageAPI/pages/device/clipboard-data/clipboard-data.wxss", - "./packageAPI/pages/device/bluetooth/bluetooth.wxss", - "./packageAPI/pages/device/bluetooth/slave/slave.wxss", - "./packageAPI/pages/device/screen-brightness/screen-brightness.wxss", - "./packageAPI/pages/device/vibrate/vibrate.wxss", - "./packageAPI/pages/device/add-contact/add-contact.wxss", - "./packageAPI/pages/device/wifi/wifi.wxss", - "./packageAPI/pages/device/get-network-type/get-network-type.wxss", - "./packageAPI/pages/device/on-network-status-change/on-network-status-change.wxss", - "./packageAPI/pages/device/get-system-info/get-system-info.wxss", - "./packageAPI/pages/device/on-compass-change/on-compass-change.wxss", - "./packageAPI/pages/device/make-phone-call/make-phone-call.wxss", - "./packageAPI/pages/device/scan-code/scan-code.wxss", - "./packageAPI/pages/device/on-accelerometer-change/on-accelerometer-change.wxss", - "./packageAPI/pages/device/capture-screen/capture-screen.wxss", - "./packageAPI/pages/device/ibeacon/ibeacon.wxss", - "./packageAPI/pages/device/get-battery-info/get-battery-info.wxss", - "./packageAPI/pages/media/image/image.wxss", - "./packageAPI/pages/media/voice/voice.wxss", - "./packageAPI/pages/media/file/file.wxss", - "./packageAPI/pages/media/load-font-face/load-font-face.wxss", - "./packageAPI/pages/media/background-audio/background-audio.wxss", - "./packageAPI/pages/media/video/video.wxss", - "./packageAPI/pages/media/audio/audio.wxss", - "./packageAPI/pages/media/media-container/media-container.wxss", - "./packageAPI/pages/location/get-location/get-location.wxss", - "./packageAPI/pages/location/open-location/open-location.wxss", - "./packageAPI/pages/location/choose-location/choose-location.wxss", - "./packageAPI/pages/network/request/request.wxss", - "./packageAPI/pages/network/web-socket/web-socket.wxss", - "./packageAPI/pages/network/upload-file/upload-file.wxss", - "./packageAPI/pages/network/download-file/download-file.wxss", - "./packageAPI/pages/network/mdns/mdns.wxss", - "./packageAPI/pages/network/udp-socket/udp-socket.wxss", - "./packageAPI/pages/storage/storage/storage.wxss", - "./packageAPI/pages/storage/get-background-fetch-data/get-background-fetch-data.wxss", - "./packageAPI/pages/storage/get-background-prefetch-data/get-background-prefetch-data.wxss", - "./packageAPI/pages/performance/get-performance/get-performance.wxss", - "./packageAPI/pages/worker/worker/worker.wxss", - "./packageAPI/pages/framework/two-way-bindings/two-way-bindings.wxss", - "./packageAPI/pages/framework/wxs/wxs.wxss", - "./packageAPI/pages/framework/resizable/resizable.wxss", - "./packageAPI/pages/framework/wxs/movable.wxss", - "./packageAPI/pages/framework/wxs/sidebar.wxss", - "./packageAPI/pages/framework/wxs/stick-top.wxss", - "./packageAPI/pages/framework/wxs/nearby.wxss", - "./app.wxss", - "./common/lib/weui.wxss", - "./miniprogram_npm/miniprogram-barrage/index.wxss", - "./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss", - "./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss", - "./miniprogram_npm/wxml-to-canvas/index.wxss", - "./page/API/components/set-tab-bar/set-tab-bar.wxss", - "./page/API/index.wxss", - "./page/cloud/index.wxss", - "./page/common/common.wxss", - "./page/common/index.wxss", - "./page/common/lib/weui.wxss", - "./page/component/index.wxss", - "./page/extend/index.wxss", - "--subpackage", - "packageAPI", - "-ll", - ] -} -samples.push([sample4, 4]) -const test_wine = (config, id) => { - const wine = spawn( - path.resolve(__dirname, "../../../wine/wcsc.exe"), - config.args, - { - cwd: config.projectPath, - } - ); - const spwanData = [], - errData = []; - wine.stdout.on("data", (e) => { - spwanData.push(e); - }); - wine.stderr.on("data", (e) => { - errData.push(e); - }); - return new Promise((resolve, reject) => { - wine.on("close", (n) => { - console.log("wine n: ", n); - if (0 === n) { - let result = Buffer.concat(spwanData).toString(); - result = JSON.parse(result); - // delete result.generateFunctionContent["__COMMON__"]; - result = JSON.stringify(result, null, 4); - // result = result.common; - fs.writeFileSync( - path.resolve(__dirname, `./${id}/wine_output.json`), - result - ); - // process.stdout.write(result); - resolve(result); - } else { - process.stderr.write( - "wine error:", - Buffer.concat(errData).toString() - ); - // process.stderr.write(Buffer.concat(spwanData).toString()); - reject(n); - } - }); - }); -}; -const test_node = (config, id) => { - const node_exec = spawn( - path.resolve(__dirname, "../../../../nodejs/wcsc"), - config.args, - { - cwd: config.projectPath, - env: { - WX_DEBUG_COMPILER_OUTPUT: path.resolve(__dirname, '' + id), - }, - // stdio: 'inherit' - } - ); - const spwanData = [], - errData = []; - node_exec.stdout.on("data", (e) => { - spwanData.push(e); - // console.log(e.toString()) - }); - node_exec.stderr.on("data", (e) => { - errData.push(e); - // console.log(e.toString()) - }); - return new Promise((resolve, reject) => { - node_exec.on("close", (n) => { - console.log("node n: ", n); - if (0 === n) { - let result = Buffer.concat(spwanData).toString(); - // require('fs').writeFileSync('/mnt/disk2/wechat-web-devtools-linux/tmp/llw2.json', result) - // process.stdout.write(result); - result = JSON.parse(result); - // delete result.generateFunctionContent["__COMMON__"]; - result = JSON.stringify(result, null, 4); - // result = result.common; - fs.writeFileSync( - path.resolve(__dirname, `./${id}/node_output.json`), - result - ); - fs.writeFileSync( - path.resolve(__dirname, `./${id}/node_stderr.json`), - Buffer.concat(errData) - ); - resolve(result); - } else { - console.error("错误"); - process.stderr.write(Buffer.concat(errData).toString()); - // process.stderr.write(Buffer.concat(spwanData).toString()); - reject(n); - } - }); - }); -}; - -const test = async (config, id) => { - try { - const node_result = await test_node(config, id); - const wine_result = await test_wine(config, id); - const t1 = JSON.parse(node_result); - const t2 = JSON.parse(wine_result); - console.log(util.isDeepStrictEqual(t1, t2)) - } catch (err) { - console.error("错误:", err); - } -}; -(async ()=>{ - for (const sample of samples) { - await test(sample[0], sample[1]) - } -})()