From 6a25154a039681e98bb21ddabc29447fd5f9bdfb Mon Sep 17 00:00:00 2001 From: duwenbo Date: Tue, 1 Mar 2022 17:22:59 +0800 Subject: [PATCH] Modify the XTS use case about worker Describe:Replace the worker use cases of the master branch and delete the second worker use cases. In the end, disable all worker use case Signed-off-by: duwenbo --- compileruntime/BUILD.gn | 2 +- compileruntime/worker_lib_standard/Test.json | 4 +- .../worker_lib_standard/src/main/config.json | 1 + .../src/main/js/default/workers/worker.js | 86 +++++++--------- .../src/main/js/default/workers/worker_002.js | 23 ++--- .../src/main/js/default/workers/worker_003.js | 20 ++-- .../src/main/js/default/workers/worker_004.js | 22 ++--- .../src/main/js/default/workers/worker_005.js | 18 +--- .../src/main/js/default/workers/worker_006.js | 18 +--- .../src/main/js/default/workers/worker_007.js | 18 +--- .../src/main/js/default/workers/worker_008.js | 18 +--- .../src/main/js/test/ExampleJsunit.test.js | 25 ----- .../src/main/js/test/List.test.js | 1 - .../src/main/js/test/Worker.test.js | 99 +++++-------------- 14 files changed, 109 insertions(+), 246 deletions(-) delete mode 100644 compileruntime/worker_lib_standard/src/main/js/test/ExampleJsunit.test.js diff --git a/compileruntime/BUILD.gn b/compileruntime/BUILD.gn index 5fbd3642b..9f73100a2 100644 --- a/compileruntime/BUILD.gn +++ b/compileruntime/BUILD.gn @@ -19,7 +19,7 @@ group("compileruntime") { "process_lib_standard:process_js_test", "url_lib_standard:url_js_test", "util_lib_standard:util_js_test", - "worker_lib_standard:worker_js_hap", +# "worker_lib_standard:worker_js_hap", ] } } diff --git a/compileruntime/worker_lib_standard/Test.json b/compileruntime/worker_lib_standard/Test.json index b1b4bbe00..b1ff162f3 100644 --- a/compileruntime/worker_lib_standard/Test.json +++ b/compileruntime/worker_lib_standard/Test.json @@ -2,9 +2,9 @@ "description": "Configuration for startup worker js api Tests", "driver": { "type": "JSUnitTest", - "test-timeout": "60000", + "test-timeout": "800000", "package": "com.example.workerxts", - "shell-timeout": "60000" + "shell-timeout": "90000" }, "kits": [ { diff --git a/compileruntime/worker_lib_standard/src/main/config.json b/compileruntime/worker_lib_standard/src/main/config.json index bcb6c0fff..fab848438 100644 --- a/compileruntime/worker_lib_standard/src/main/config.json +++ b/compileruntime/worker_lib_standard/src/main/config.json @@ -37,6 +37,7 @@ ] } ], + "visible": true, "orientation": "unspecified", "name": "com.example.workerxts.MainAbility", "icon": "$media:icon", diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker.js index 461c65677..4af785c45 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker.js @@ -13,54 +13,44 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - function foo(x) {return x} - - var worker = globalThis.requireNapi('worker'); - - const parentPort = worker.parentPort; - - console.info("worker:: new version") - - parentPort.onclose = function() { - console.info("worker::worker.js onclose"); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; + +console.info("worker:: new version") + +parentPort.onclose = function() { + console.info("worker::worker.js onclose"); +} + +parentPort.onmessage = function(e) { + var data = e.data; + console.info("worker:: worker thread worker data is " + data.data); + switch(data.type) { + case "normal": + console.info("worker:: worker thread receive data " + data.data); + parentPort.postMessage(data); + console.info("worker:: worker thread post back"); + break; + case "error": + throw new Error("123"); + break; + case "buffer": + console.info("worker:: worker.js receive buffer length is " + data.data.byteLength); + parentPort.postMessage(data, [data.data]); + console.info("worker:: worker.js post buffer length is " + data.data.byteLength); + break; + default: + console.info("worker:: worker.js receive unknow type"); + break } +} - parentPort.onmessage = function(e) { - var data = e.data; - console.info("worker:: worker thread worker data is " + data.data); - switch(data.type) { - case "normal": - console.info("worker:: worker thread receive data " + data.data); - parentPort.postMessage(data); - console.info("worker:: worker thread post back"); - break; - case "error": - throw new Error("123"); - break; - case "buffer": - console.info("worker:: worker.js receive buffer length is " + data.data.byteLength); - parentPort.postMessage(data, [data.data]); - console.info("worker:: worker.js post buffer length is " + data.data.byteLength); - break; - default: - console.info("worker:: worker.js receive unknow type"); - break - } - } - - // 反序列错误 - parentPort.onmessageerror = function() { - console.info("worker:: worker.js onmessageerror"); - } +// 反序列错误 +parentPort.onmessageerror = function() { + console.info("worker:: worker.js onmessageerror"); +} - // js执行异常 - parentPort.onerror = function(data) { - console.info("worker:: worker.js onerror " + data.lineno + ", msg = " + data.message + ", filename = " + data.filename + ", colno = " + data.colno); - } - /******/ })() -; \ No newline at end of file +// js执行异常 +parentPort.onerror = function(data) { + console.info("worker:: worker.js onerror " + data.lineno + ", msg = " + data.message + ", filename = " + data.filename + ", colno = " + data.colno); +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_002.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_002.js index 5914eea6d..a5e4b564e 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_002.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_002.js @@ -13,20 +13,11 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - console.log("worker:: run script"); - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - console.log("worker:: worker receive data " + e.data); - var data = e.data + " worker"; - parentPort.postMessage(data) - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + console.log("worker:: worker receive data " + e.data); + var data = e.data + " worker"; + parentPort.postMessage(data) +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_003.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_003.js index a680ac178..f44ebffb7 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_003.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_003.js @@ -13,18 +13,10 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - var data = e.data * 2 + 1 - parentPort.postMessage(data) - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + var data = e.data * 2 + 1 + parentPort.postMessage(data) +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_004.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_004.js index 49e442384..9fbddd463 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_004.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_004.js @@ -13,19 +13,11 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - var data = e.data; - data.message = "hello world " + "worker" - parentPort.postMessage(data) - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + var data = e.data; + data.message = "hello world " + "worker" + parentPort.postMessage(data) +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_005.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_005.js index cc1cbaaad..5a49ddb30 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_005.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_005.js @@ -13,17 +13,9 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - parentPort.postMessage(name) - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + parentPort.postMessage(name) +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_006.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_006.js index 6b9ce1e02..206092efc 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_006.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_006.js @@ -13,17 +13,9 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - parentPort.postMessage("hello world") - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + parentPort.postMessage("hello world") +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_007.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_007.js index 9d5790347..ac834e8ed 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_007.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_007.js @@ -13,17 +13,9 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - throw new Error(123) - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + throw new Error(123) +} \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_008.js b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_008.js index 02d4825b9..1f7996cf9 100644 --- a/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_008.js +++ b/compileruntime/worker_lib_standard/src/main/js/default/workers/worker_008.js @@ -13,17 +13,9 @@ * limitations under the License. */ -/******/ (() => { // webpackBootstrap - var __webpack_exports__ = {}; - /*!********************************************************************************************!*\ - !*** d:\workspace\my_works\MyApplication\entry\src\main\ets\default\workers\WorkerDemo.js ***! - \********************************************************************************************/ - var worker = globalThis.requireNapi('worker'); +import worker from '@ohos.worker'; +const parentPort = worker.parentPort; - const parentPort = worker.parentPort; - - parentPort.onmessage = function(e) { - parentPort.close() - } - /******/ })() -; \ No newline at end of file +parentPort.onmessage = function(e) { + parentPort.close() +} diff --git a/compileruntime/worker_lib_standard/src/main/js/test/ExampleJsunit.test.js b/compileruntime/worker_lib_standard/src/main/js/test/ExampleJsunit.test.js deleted file mode 100644 index d289d77a0..000000000 --- a/compileruntime/worker_lib_standard/src/main/js/test/ExampleJsunit.test.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import app from '@system.app' -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe('appInfoTest', function () { - it('app_info_test_001', 0, function () { - var info = app.getInfo() - expect(info.versionName).assertEqual('1.0.0') - expect(info.versionCode).assertEqual('1000000') - }) -}) \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/test/List.test.js b/compileruntime/worker_lib_standard/src/main/js/test/List.test.js index f0714ab28..0265650c6 100644 --- a/compileruntime/worker_lib_standard/src/main/js/test/List.test.js +++ b/compileruntime/worker_lib_standard/src/main/js/test/List.test.js @@ -13,5 +13,4 @@ * limitations under the License. */ -require('./ExampleJsunit.test.js') require("./Worker.test.js") \ No newline at end of file diff --git a/compileruntime/worker_lib_standard/src/main/js/test/Worker.test.js b/compileruntime/worker_lib_standard/src/main/js/test/Worker.test.js index e8cbc6124..a6b786f2c 100644 --- a/compileruntime/worker_lib_standard/src/main/js/test/Worker.test.js +++ b/compileruntime/worker_lib_standard/src/main/js/test/Worker.test.js @@ -1,13 +1,13 @@ /* * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); + * Licensed under the Apache License, Version 2.0 (the 'License') * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the License is distributed on an 'AS IS' BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. @@ -16,7 +16,7 @@ // @ts-nocheck import app from '@system.app' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' -import worker from '@ohos.worker' +import worker from "@ohos.worker"; describe('workerTest', function () { @@ -145,7 +145,22 @@ describe('workerTest', function () { const buffer = new ArrayBuffer(8) expect(buffer.byteLength).assertEqual(8) ss.postMessage(buffer, [buffer]) - expect(buffer.byteLength).assertEqual(0) + var length = undefined; + var exception = undefined; + try { + length = buffer.byteLength; + } catch (e) { + exception = e.message; + } + + console.log("worker:: length is " + length) + console.log("worker:: exception is " + exception) + + if (typeof exception == "undefined") { + expect(length).assertEqual(0) + } else { + expect(exception).assertEqual("IsDetachedBuffer") + } }) // check worker handle error is ok @@ -463,6 +478,7 @@ describe('workerTest', function () { ss.dispatchEvent({type: "zhangsan"}) expect(zhangsanTimes).assertEqual(2) + }) // check worker removeAllListener function is ok @@ -501,65 +517,23 @@ describe('workerTest', function () { it('worker_parentPortClose_test_001', 0, async function (done) { var ss = new worker.Worker("workers/worker_008.js"); var res = 0 + var flag = false; - ss.onmessage = function (e) { + ss.onexit = function (e) { res++; + flag = true; } ss.postMessage("abc") - await promiseCase() - expect(res).assertEqual(0) - done() - }) - - // check parentPort.close is ok - it('worker_parentPortClose_test_002', 0, async function (done) { - var ss1 = new worker.Worker("workers/worker_008.js"); - var ss2 = new worker.Worker("workers/worker_008.js"); - var res = 0 - var times = 0 - - ss1.onmessage = function (e) { - res++; - } - - ss1.postMessage("abc") - await promiseCase() - expect(res).assertEqual(0) - - ss2.postMessage("hello world") - await promiseCase() - expect(res).assertEqual(0) - - done() - }) - - // check parentPort.close is ok - it('worker_parentPortClose_test_003', 0, async function (done) { - var ss1 = new worker.Worker("workers/worker_008.js"); - var ss2 = new worker.Worker("workers/worker_008.js"); - var res = 0 - var times = 0 - - ss1.onmessage = function (e) { - res++; + while (!flag) { + await promiseCase() } - - ss1.postMessage("abc") - await promiseCase() - expect(res).assertEqual(0) - - ss2.addEventListener("zhangsan", ()=>{ - times++; - }) - - ss2.dispatchEvent({type: "zhangsan"}) - expect(times).assertEqual(1) + expect(res).assertEqual(1) done() }) // check parentPort.close is ok - it('worker_parentPortClose_test_004', 0, async function (done) { + it('worker_parentPortClose_test_002', 0, async function (done) { var ss = new worker.Worker("workers/worker_008.js"); var res = 0 var flag = false; @@ -605,23 +579,4 @@ describe('workerTest', function () { done() }) - // check onmessageerror is ok - it('worker_onmessageerror_test_002', 0, async function (done) { - var ss = new worker.Worker("workers/worker_008.js"); - var res = 0 - var flag = false; - - ss.onmessageerror = function (e) { - flag = true; - res++; - } - function foo() { - } - ss.postMessage(foo) - while (!flag) { - await promiseCase() - } - expect(res).assertEqual(1) - done() - }) }) \ No newline at end of file -- GitLab