提交 7afa9063 编写于 作者: Q qiuxiangdong

fix: fix: Supports hibernation interfaces for three-party devices

Signed-off-by: Nqiuxiangdong <qiuxiangdong3@huawei.com>
Change-Id: Id0500996e1500cabe32fcad9e6900290e327853d
上级 7802e2c1
# Copyright (C) 2021 Huawei Device Co., Ltd.
# Copyright (C) 2021-2022 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
......@@ -13,19 +13,9 @@
import("//build/ohos_var.gni")
group("powermgr") {
testonly = true
if (device_name == "rk3568") {
if (is_standard_system) {
deps = [
"powermgrbattery_rk3568:powermgr_battery_test_rk3568",
"powermgrthermal:powermgr_thermal_test",
]
}
} else {
if (is_standard_system) {
deps = [
"powermgrbattery:powermgr_battery_test",
"powermgrthermal:powermgr_thermal_test",
]
}
}
deps = [
"powermgrbattery:powermgr_battery_test",
"powermgrpower:powermgr_power_test",
"powermgrthermal:powermgr_thermal_test",
]
}
+137/*
* 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 Context from '@ohos.napi_context'
import batteryInfo from '@ohos.batteryInfo';
import brightness from '@ohos.brightness';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
describe('appInfoTest', function () {
console.log("*************Battery Unit Test Begin*************");
/**
* @tc.number battery_manager_js_0100
* @tc.name battery_soc_test
* @tc.desc Battery acquisition kit
*/
it('battery_soc_test', 0, function () {
let batterySoc = batteryInfo.batterySOC;
console.info('batterySoc = ' + batterySoc);
expect(batterySoc >= -1 && batterySoc <= 100).assertTrue()
})
/**
* @tc.number battery_manager_js_0200
* @tc.name charging_status_test
* @tc.desc Battery charging kit
*/
it('charging_status_test', 0, function () {
let chargingStatus = batteryInfo.chargingStatus;
console.info('chargingStatus = ' + chargingStatus);
expect(chargingStatus >= 0 && chargingStatus <= 4).assertTrue()
})
/**
* @tc.number battery_manager_js_0300
* @tc.name health_status_test
* @tc.desc Get Battery Health Get KIT
*/
it('health_status_test', 0, function () {
let healthStatus = batteryInfo.healthStatus;
console.info('healthStatus = ' + healthStatus);
expect(healthStatus >= 0 && healthStatus <= 6).assertTrue()
})
/**
* @tc.number battery_manager_js_0400
* @tc.name plugged_type_test
* @tc.desc Obtaining the USB Connection Type KIT
*/
it('plugged_type_test', 0, function () {
let pluggedType = batteryInfo.pluggedType;
console.info('pluggedType = ' + pluggedType);
expect(pluggedType >= 0 && pluggedType <= 4).assertTrue()
})
/**
* @tc.number battery_manager_js_0500
* @tc.name voltage_test
* @tc.desc Obtaining the Voltage Interface KIT
*/
it('voltage_test', 0, function () {
let voltage = batteryInfo.voltage;
console.info('voltage = ' + voltage);
expect(voltage >= -1).assertTrue()
})
/**
* @tc.number battery_manager_js_0600
* @tc.name technology_test
* @tc.desc Obtaining the Battery Technology Interface KIT
*/
it('technology_test', 0, function () {
let technology = batteryInfo.technology;
console.info('technology = ' + technology);
expect(technology !== null).assertTrue()
})
/**
* @tc.number battery_manager_js_0700
* @tc.name battery_temperature_test
* @tc.desc BatteryTemperature values Interface Test
*/
it('battery_temperature_test', 0, function () {
let batteryTemperature = batteryInfo.batteryTemperature;
console.info('batteryTemperature = ' + batteryTemperature);
expect(batteryTemperature <= 700).assertTrue()
})
/**
* @tc.number battery_manager_js_0800
* @tc.name enum_health_state_test_unknown
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_unknown', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.UNKNOWN;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 0).assertTrue()
})
/**
* @tc.number battery_manager_js_0900
* @tc.name enum_health_state_test_good
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_good', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.GOOD;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 1).assertTrue()
})
/**
* @tc.number battery_manager_js_1000
* @tc.name enum_health_state_test_overheat
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_overheat', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.OVERHEAT;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 2).assertTrue()
})
/**
* @tc.number battery_manager_js_1100
* @tc.name enum_health_state_test_overvoltage
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_overvoltage', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.OVERVOLTAGE;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 3).assertTrue()
})
/**
* @tc.number battery_manager_js_1200
* @tc.name enum_health_state_test_cold
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_cold', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.COLD;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 4).assertTrue()
})
/**
* @tc.number battery_manager_js_1300
* @tc.name enum_health_state_test_dead
* @tc.desc BatteryHealthState values Interface Test
*/
it('enum_health_state_test_dead', 0, function () {
let batteryHealthState = batteryInfo.BatteryHealthState.DEAD;
console.info('batteryHealthState = ' + batteryHealthState);
expect(batteryHealthState == 5).assertTrue()
})
/**
* @tc.number battery_manager_js_1400
* @tc.name enum_charge_state_test_none
* @tc.desc BatteryChargeState values Interface Test
*/
it('enum_charge_state_test_none', 0, function () {
let batteryChargeState = batteryInfo.BatteryChargeState.NONE;
console.info('batteryChargeState = ' + batteryChargeState);
expect(batteryChargeState == 0).assertTrue()
})
/**
* @tc.number battery_manager_js_1500
* @tc.name enum_charge_state_test_enable
* @tc.desc BatteryChargeState values Interface Test
*/
it('enum_charge_state_test_enable', 0, function () {
let batteryChargeState = batteryInfo.BatteryChargeState.ENABLE;
console.info('batteryChargeState = ' + batteryChargeState);
expect(batteryChargeState == 1).assertTrue()
})
/**
* @tc.number battery_manager_js_1600
* @tc.name enum_charge_state_test_disable
* @tc.desc BatteryChargeState values Interface Test
*/
it('enum_charge_state_test_disable', 0, function () {
let batteryChargeState = batteryInfo.BatteryChargeState.DISABLE;
console.info('batteryChargeState = ' + batteryChargeState);
expect(batteryChargeState == 2).assertTrue()
})
/**
* @tc.number battery_manager_js_1700
* @tc.name enum_charge_state_test_full
* @tc.desc BatteryChargeState values Interface Test
*/
it('enum_charge_state_test_full', 0, function () {
let batteryChargeState = batteryInfo.BatteryChargeState.FULL;
console.info('batteryChargeState = ' + batteryChargeState);
expect(batteryChargeState == 3).assertTrue()
})
/**
* @tc.number battery_manager_js_1800
* @tc.name enum_plugged_type_test_none
* @tc.desc BatteryPluggedType values Interface Test
*/
it('enum_plugged_type_test_none', 0, function () {
let batteryPluggedType = batteryInfo.BatteryPluggedType.NONE;
console.info('batteryPluggedType = ' + batteryPluggedType);
expect(batteryPluggedType == 0).assertTrue()
})
/**
* @tc.number battery_manager_js_1900
* @tc.name enum_plugged_type_test_ac
* @tc.desc BatteryPluggedType values Interface Test
*/
it('enum_plugged_type_test_ac', 0, function () {
let batteryPluggedType = batteryInfo.BatteryPluggedType.AC;
console.info('batteryPluggedType = ' + batteryPluggedType);
expect(batteryPluggedType == 1).assertTrue()
})
/**
* @tc.number battery_manager_js_2000
* @tc.name enum_plugged_type_test_usb
* @tc.desc BatteryPluggedType values Interface Test
*/
it('enum_plugged_type_test_usb', 0, function () {
let batteryPluggedType = batteryInfo.BatteryPluggedType.USB;
console.info('batteryPluggedType = ' + batteryPluggedType);
expect(batteryPluggedType == 2).assertTrue()
})
/**
* @tc.number battery_manager_js_2100
* @tc.name enum_plugged_type_test_wireless
* @tc.desc BatteryPluggedType values Interface Test
*/
it('enum_plugged_type_test_wireless', 0, function () {
let batteryPluggedType = batteryInfo.BatteryPluggedType.WIRELESS;
console.info('batteryPluggedType = ' + batteryPluggedType);
expect(batteryPluggedType == 3).assertTrue()
})
/**
* @tc.number battery_manager_js_2200
* @tc.name brightness_test
* @tc.desc Set Value Interface Test
*/
it('brightness_test', 0, function () {
brightness.setValue(10);
brightness.setValue(0);
brightness.setValue(255);
expect(0 == 0).assertTrue();
})
/**
* @tc.number battery_manager_js_2300
* @tc.name is_battery_present_test
* @tc.desc Battry Present Interface Test
*/
it('is_battery_present_test', 0, function () {
let isBatteryPresent = batteryInfo.isBatteryPresent;
console.info('isBatteryPresent = ' + isBatteryPresent);
if (isBatteryPresent) {
expect(isBatteryPresent).assertTrue();
} else {
expect(isBatteryPresent).assertFalse();
}
})
})
\ No newline at end of file
......@@ -13,19 +13,19 @@
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("powermgr_battery_test_rk3568") {
ohos_js_hap_suite("powermgr_power_test") {
hap_profile = "./src/main/config.json"
deps = [
":powermgr_battery_js_assets",
":powermgr_battery_resources",
":powermgr_power_js_assets",
":powermgr_power_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsPowerMgrBatteryTest"
hap_name = "ActsPowerMgrPowerTest"
}
ohos_js_assets("powermgr_battery_js_assets") {
ohos_js_assets("powermgr_power_js_assets") {
source_dir = "./src/main/js/default"
}
ohos_resources("powermgr_battery_resources") {
ohos_resources("powermgr_power_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
{
"description": "Configuration for powermgr battery Tests",
"description": "Configuration for powermgr power Tests",
"driver": {
"type": "JSUnitTest",
"test-timeout": "60000",
"package": "com.example.mybatteryapp",
"package": "com.example.mypowerapp",
"shell-timeout": "60000"
},
"kits": [
......@@ -15,7 +15,7 @@
},
{
"test-file-name": [
"ActsPowerMgrBatteryTest.hap"
"ActsPowerMgrPowerTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
......
{
"app": {
"bundleName": "com.example.mybatteryapp",
"bundleName": "com.example.mypowerapp",
"vendor": "example",
"version": {
"code": 1,
......@@ -13,7 +13,7 @@
},
"deviceConfig": {},
"module": {
"package": "com.example.mybatteryapp",
"package": "com.example.mypowerapp",
"name": ".MyApplication",
"deviceType": [
"phone"
......@@ -36,7 +36,7 @@
]
}
],
"name": "com.example.mybatteryapp.MainAbility",
"name": "com.example.mypowerapp.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
......
......@@ -30,11 +30,7 @@ export default {
'id': 'extend'
})
core.addService('expect', expectExtend)
// core.addService('report', instrumentLog)
core.init()
// core.subscribeEvent('spec', instrumentLog)
// core.subscribeEvent('suite', instrumentLog)
// core.subscribeEvent('task', instrumentLog)
const configService = core.getDefaultService('config')
configService.setConfig(this)
......
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Copyright (C) 2021-2022 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
......@@ -12,5 +12,5 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require('./battery_unit.test.js')
require('./power_manager_running_lock.test.js')
\ No newline at end of file
require('./power_manager_running_lock.test.js')
require('./power_manager_power.test.js')
/*
* 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 power from '@ohos.power';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
describe('appInfoTest', function () {
console.log("*************Power Unit Test Begin*************");
/**
* @tc.number power_js_001
* @tc.name power_is_screen_on_promise_test
* @tc.desc Checks whether the screen of a device is on or off
*/
it('power_is_screen_on_promise_test', 0, async function (done) {
power.wakeupDevice("power_is_screen_on_promise_test");
power.isScreenOn()
.then(screenOn => {
console.info('power_is_screen_on_promise_test screenOn is ' + screenOn);
expect(screenOn).assertTrue();
console.info('power_is_screen_on_promise_test success');
done();
})
.catch(error => {
console.log('power_is_screen_on_promise_test error: ' + error);
expect().assertFail();
done();
})
})
/**
* @tc.number power_js_002
* @tc.name power_is_screen_on_callback_test
* @tc.desc Checks whether the screen of a device is on or off
*/
it('power_is_screen_on_callback_test', 0, async function (done) {
power.wakeupDevice("power_is_screen_on_callback_test");
power.isScreenOn((error, screenOn) => {
if (typeof error === "undefined") {
console.info('power_is_screen_on_callback_test screenOn is ' + screenOn);
expect(screenOn).assertTrue();
console.info('power_is_screen_on_callback_test success');
done();
} else {
console.log('power_is_screen_on_callback_test: ' + error);
expect().assertFail();
done();
}
})
})
/**
* @tc.number power_js_003
* @tc.name power_wakeupDevice_test_string
* @tc.desc Try to wakeup the device and let screen on
*/
it('power_wakeupDevice_test_string', 0, async function (done) {
power.isScreenOn()
.then(screenOn => {
console.info('power_wakeupDevice_test_string: The current screenOn is ' + screenOn);
if (screenOn) {
power.suspendDevice();
}
})
.catch(error => {
console.log('power_wakeupDevice_test_string error: ' + error);
expect().assertFail();
done();
})
setTimeout(function(){
power.wakeupDevice("power_wakeupDevice_test_string");
power.isScreenOn()
.then(screenOn => {
console.info('power_wakeupDevice_test_string: The current screenOn is ' + screenOn);
expect(screenOn).assertTrue();
console.info('power_wakeupDevice_test_string success');
done();
})
.catch(error => {
console.log('power_wakeupDevice_test_string error: ' + error);
expect().assertFail();
done();
})
}, 2000);
})
/**
* @tc.number power_js_004
* @tc.name power_suspendDevice_test
* @tc.desc Try to suspend the device and let screen off
*/
it('power_suspendDevice_test', 0, async function (done) {
power.isScreenOn()
.then(screenOn => {
console.info('power_suspendDevice_test: The current screenOn is ' + screenOn);
if (!screenOn) {
power.wakeupDevice("power_suspendDevice_test");
}
})
.catch(error => {
console.log('power_suspendDevice_test error: ' + error);
expect().assertFail();
done();
})
setTimeout(function(){
power.suspendDevice();
console.info('power_suspendDevice_test: SuspendDevice end');
power.isScreenOn()
.then(screenOn => {
console.info('power_suspendDevice_test: The current screenOn is ' + screenOn);
expect(screenOn).assertFalse();
console.info('power_suspendDevice_test success');
done();
})
.catch(error => {
console.log('power_suspendDevice_test error: ' + error);
expect().assertFail();
done();
})
}, 2000);
})
})
......@@ -13,17 +13,19 @@
* limitations under the License.
*/
import app from '@system.app'
import Context from '@ohos.napi_context'
import runningLock from '@ohos.runningLock';
import power from '@ohos.power';
import '@ohos.permission.RUNNING_LOCK'
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
describe('appInfoTest', function () {
console.log("*************Power Unit Test Begin*************");
//createRunningLock(name: string, type: RunningLockType): Promise<RunningLock>
console.log("*************RunningLock Unit Test Begin*************");
/**
* @tc.number running_lock_js_001
* @tc.name create_running_lock_promise_test
* @tc.desc Create running lock
*/
it('create_running_lock_promise_test', 0, async function (done) {
runningLock.createRunningLock("running_lock_test_1", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
......@@ -37,7 +39,12 @@ describe('appInfoTest', function () {
done();
})
})
//createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock>)
/**
* @tc.number running_lock_js_002
* @tc.name create_running_lock_callback_test
* @tc.desc Create running lock
*/
it('create_running_lock_callback_test', 0, async function (done) {
runningLock.createRunningLock("running_lock_test_2", runningLock.RunningLockType.BACKGROUND,
(error, runninglock) => {
......@@ -60,7 +67,12 @@ describe('appInfoTest', function () {
}
})
})
//lock(timeout: number)
/**
* @tc.number running_lock_js_003
* @tc.name running_lock_lock_test
* @tc.desc Prevents the system from hibernating and sets the lock duration
*/
it('running_lock_lock_test', 0, async function (done) {
runningLock.createRunningLock("running_lock_test_3", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
......@@ -81,7 +93,12 @@ describe('appInfoTest', function () {
done();
})
})
//isUsed()
/**
* @tc.number running_lock_js_004
* @tc.name running_lock_lock_test
* @tc.desc Checks whether a lock is held or in use
*/
it('running_lock_isused_test', 0, async function (done) {
runningLock.createRunningLock("running_lock_test_4", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
......@@ -98,7 +115,12 @@ describe('appInfoTest', function () {
done();
})
})
//unlock()
/**
* @tc.number running_lock_js_005
* @tc.name running_lock_unlock_test
* @tc.desc Release running lock
*/
it('running_lock_unlock_test', 0, async function (done) {
runningLock.createRunningLock("running_lock_test_5", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
......@@ -123,21 +145,36 @@ describe('appInfoTest', function () {
done();
})
})
//Runninglock锁的类型为BACKGROUND
/**
* @tc.number running_lock_js_006
* @tc.name enum_runningLock_type_background_test
* @tc.desc The lock type is BACKGROUND
*/
it('enum_runningLock_type_background_test', 0, function () {
let runningLockType = runningLock.RunningLockType.BACKGROUND;
console.info('runningLockType = ' + runningLockType);
expect(runningLockType == 1).assertTrue();
console.info('enum_runningLock_type_background_test success');
})
//Runninglock锁的类型为PROXIMITY_SCREEN_CONTROL
/**
* @tc.number running_lock_js_007
* @tc.name enum_runningLock_type_proximityscreencontrol_test
* @tc.desc The lock type is PROXIMITY_SCREEN_CONTROL
*/
it('enum_runningLock_type_proximityscreencontrol_test', 0, function () {
let runningLockType = runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL;
console.info('runningLockType = ' + runningLockType);
expect(runningLockType == 2).assertTrue();
console.info('enum_runningLock_type_proximityscreencontrol_test success');
})
//isRunningLockTypeSupported(type: RunningLockType): Promise<boolean>
/**
* @tc.number running_lock_js_008
* @tc.name is_runninglock_type_supported_promise_test_1
* @tc.desc Checks whether the specified RunningLockType is supported.
*/
it('is_runninglock_type_supported_promise_test_1', 0, async function (done) {
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL)
.then(supported => {
......@@ -152,7 +189,12 @@ describe('appInfoTest', function () {
done();
})
})
//isRunningLockTypeSupported(type: RunningLockType) 多余
/**
* @tc.number running_lock_js_009
* @tc.name is_runninglock_type_supported_promise_test_2
* @tc.desc Checks whether the specified RunningLockType is supported.
*/
it('is_runninglock_type_supported_promise_test_2', 0, async function (done) {
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND)
.then(supported => {
......@@ -167,7 +209,12 @@ describe('appInfoTest', function () {
done();
})
})
//isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback<boolean>)
/**
* @tc.number running_lock_js_010
* @tc.name is_runninglock_type_supported_callback_test_3
* @tc.desc Checks whether the specified RunningLockType is supported.
*/
it('is_runninglock_type_supported_callback_test_3', 0, async function (done) {
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => {
if (typeof error === "undefined") {
......@@ -182,32 +229,4 @@ describe('appInfoTest', function () {
}
})
})
it('power_is_screen_on_promise_test', 0, async function (done) {//isScreenOn(): Promise<boolean>
power.isScreenOn()
.then(screenOn => {
console.info('power_is_screen_on_promise_test screenOn is ' + screenOn);
expect(screenOn).assertTrue();
console.info('power_is_screen_on_promise_test success');
done();
})
.catch(error => {
console.log('power_is_screen_on_promise_test error: ' + error);
expect().assertFail();
done();
})
})
it('power_is_screen_on_callback_test', 0, async function (done) {//isScreenOn(callback: AsyncCallback<boolean>)
power.isScreenOn((error, screenOn) => {
if (typeof error === "undefined") {
console.info('power_is_screen_on_callback_test screenOn is ' + screenOn);
expect(screenOn).assertTrue();
console.info('power_is_screen_on_callback_test success');
done();
} else {
console.log('power_is_screen_on_callback_test: ' + error);
expect().assertFail();
done();
}
})
})
})
......@@ -2,7 +2,7 @@
"string": [
{
"name": "app_name",
"value": "MyBatteryApp"
"value": "MyPowerApp"
},
{
"name": "mainability_description",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册