mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
feat: wcsc-ll test
This commit is contained in:
parent
6bfcc7c0d3
commit
f74f4d6819
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
test/**/*.json
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "test/examples/miniprogram-demo"]
|
||||||
|
path = test/examples/miniprogram-demo
|
||||||
|
url = https://github.com/wechat-miniprogram/miniprogram-demo.git
|
@ -1,5 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
require: ["@babel/register"],
|
require: ["@babel/register"],
|
||||||
recursive: true,
|
recursive: true,
|
||||||
spec: "test/**/*.test.js"
|
spec: "test/**/*.test.js",
|
||||||
|
timeout: 20000
|
||||||
}
|
}
|
@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
按照规律,将 Linux 版本代码修改为符合 windows 版本结构的代码。
|
按照规律,将 Linux 版本代码修改为符合 windows 版本结构的代码。
|
||||||
|
|
||||||
|
## 目录结构
|
||||||
|
|
||||||
```
|
```
|
||||||
.
|
.
|
||||||
├── generatemd5.js
|
├── generatemd5.js
|
||||||
@ -28,7 +30,7 @@
|
|||||||
├── package.json
|
├── package.json
|
||||||
├── package-lock.json
|
├── package-lock.json
|
||||||
├── README.md
|
├── README.md
|
||||||
├── test
|
├── test --- 测试用例
|
||||||
├── wcc_node --- 可视化编译器
|
├── wcc_node --- 可视化编译器
|
||||||
├── wcc_node_old --- 可视化编译器 - 旧
|
├── wcc_node_old --- 可视化编译器 - 旧
|
||||||
├── wcsc_node_old --- 可视化编译器 - 旧
|
├── wcsc_node_old --- 可视化编译器 - 旧
|
||||||
|
1
test/examples/miniprogram-demo
Submodule
1
test/examples/miniprogram-demo
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 0e7f0b50cad2165eb796915bd9010bf2aa06fe81
|
85
test/runner/node.js
Normal file
85
test/runner/node.js
Normal file
@ -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
|
||||||
|
}
|
79
test/runner/wine.js
Normal file
79
test/runner/wine.js
Normal file
@ -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
|
||||||
|
}
|
79
test/wcsc/ll.test.js
Normal file
79
test/wcsc/ll.test.js
Normal file
@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@ -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])
|
|
||||||
}
|
|
||||||
})()
|
|
Loading…
x
Reference in New Issue
Block a user