提交 50d6e99e 编写于 作者: C chenxuihui

hidebug、hichecker、faultlogger新增api接口测试用例

Signed-off-by: Nchenxuihui <chenxuhui2@huawei.com>
上级 4a98579b
......@@ -145,5 +145,122 @@ describe('HiCheckerTest', function () {
expect(hichecker.getRule() == tmp).assertTrue();
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2200
* @tc.name addCheckRule with normal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2200', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2200 start');
try {
hichecker.addCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS | hichecker.RULE_CHECK_SLOW_EVENT);
hichecker.addCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK | hichecker.RULE_CAUTION_PRINT_LOG);
console.log('add rule success!');
expect(hichecker.containsCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CHECK_SLOW_EVENT)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CAUTION_PRINT_LOG)).assertTrue();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2300
* @tc.name removeCheckRule with normal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2300', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2300 start');
try {
hichecker.addCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS | hichecker.RULE_CHECK_SLOW_EVENT);
hichecker.addCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK | hichecker.RULE_CAUTION_PRINT_LOG);
console.log('add rule success!');
let tmp = (hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK | hichecker.RULE_CAUTION_PRINT_LOG);
hichecker.removeCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS | hichecker.RULE_CHECK_SLOW_EVENT);
expect(hichecker.getRule() == tmp).assertTrue();
hichecker.removeCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK | hichecker.RULE_CAUTION_PRINT_LOG);
expect(hichecker.getRule() == 0).assertTrue();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2400
* @tc.name containsCheckRule with normal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2400', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2400 start');
try {
hichecker.addCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS | hichecker.RULE_CHECK_SLOW_EVENT);
hichecker.addCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK | hichecker.RULE_CAUTION_PRINT_LOG);
console.log('add rule success!');
expect(hichecker.containsCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CHECK_SLOW_EVENT)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CHECK_ABILITY_CONNECTION_LEAK)).assertTrue();
expect(hichecker.containsCheckRule(hichecker.RULE_CAUTION_PRINT_LOG)).assertTrue();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2500
* @tc.name addCheckRule with abnormal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2500', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2500 start');
try {
hichecker.addCheckRule();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2600
* @tc.name removeCheckRule with abnormal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2600', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2600 start');
try {
hichecker.removeCheckRule();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
/**
* @tc.number DFX_DFR_Hichecker_Interface_2700
* @tc.name containsCheckRule with abnormal parameter
* @tc.desc
*/
it('DFX_DFR_Hichecker_Interface_2700', 0, function () {
console.info('DFX_DFR_Hichecker_Interface_2700 start');
try {
hichecker.addCheckRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS | hichecker.RULE_CHECK_SLOW_EVENT);
console.log('add rule success!');
hichecker.containsCheckRule();
} catch (error) {
console.info(error.code)
console.info(error.message)
expect(error.code == 401).assertTrue();
}
})
})
}
......@@ -14,6 +14,7 @@
*/
import hidebug from '@ohos.hidebug'
import fileio from '@ohos.fileio'
import process from '@ohos.process'
import featureAbility from '@ohos.ability.featureAbility'
import {describe, it, expect} from '@ohos/hypium'
......@@ -409,5 +410,90 @@ describe('HidebugJsTest', function () {
console.log('************* DFX_DFR_Hiprofiler_Interface_1000 Test end*************');
});
/*
* @tc.number : DFX_DFR_Hiprofiler_Interface_1800
* @tc.name : startJsCpuProfiling/stopJsCpuProfiling with normal parameter
* @tc.desc : startJsCpuProfiling/stopJsCpuProfiling
*/
it('DFX_DFR_Hiprofiler_Interface_1800', 0, function() {
console.log('************* DFX_DFR_Hiprofiler_Interface_1800 Test start*************');
try {
let timestamp = Date.now();
let filename = "cpuprofiler_" + timestamp.toString();
hidebug.startJsCpuProfiling(filename);
for (var i = 0; i < 3; i++) {
hidebug.getSharedDirty();
}
hidebug.stopJsCpuProfiling();
var pid = process.pid;
let path = "/proc/" + pid + "/root/data/storage/el2/base/files/" + filename + ".json";
let data = fileio.readTextSync(path);
if (data.includes("napi")) {
expect(true).assertTrue();
} else {
expect(false).assertTrue();
}
} catch (err) {
console.error('DFX_DFR_Hiprofiler_Interface_1800 has failed for ' + err);
expect(false).assertTrue();
}
console.log('************* DFX_DFR_Hiprofiler_Interface_1800 Test end*************');
});
/*
* @tc.number : DFX_DFR_Hiprofiler_Interface_1900
* @tc.name : startJsCpuProfiling/stopJsCpuProfiling with abnormal parameter
* @tc.desc : startJsCpuProfiling/stopJsCpuProfiling
*/
it('DFX_DFR_Hiprofiler_Interface_1900', 0, function() {
console.log('************* DFX_DFR_Hiprofiler_Interface_1900 Test start*************');
try {
hidebug.startJsCpuProfiling();
for (var i = 0; i < 3; i++) {
hidebug.getSharedDirty();
}
hidebug.stopJsCpuProfiling();
} catch (error) {
console.info(error.code);
console.info(error.message);
expect(error.code == 401).assertTrue();
}
console.log('************* DFX_DFR_Hiprofiler_Interface_1900 Test end*************');
});
/*
* @tc.number : DFX_DFR_Hiprofiler_Interface_2000
* @tc.name : dumpJsHeapData with normal parameter
* @tc.desc : dumpJsHeapData
*/
it('DFX_DFR_Hiprofiler_Interface_2000', 0, function() {
console.log('************* DFX_DFR_Hiprofiler_Interface_2000 Test start*************');
try {
hidebug.dumpJsHeapData("heapData");
expect(true).assertTrue();
} catch (error) {
console.info(error.code);
console.info(error.message);
}
console.log('************* DFX_DFR_Hiprofiler_Interface_2000 Test end*************');
});
/*
* @tc.number : DFX_DFR_Hiprofiler_Interface_2100
* @tc.name : dumpJsHeapData with abnormal parameter
* @tc.desc : dumpJsHeapData
*/
it('DFX_DFR_Hiprofiler_Interface_2100', 0, function() {
console.log('************* DFX_DFR_Hiprofiler_Interface_2100 Test start*************');
try {
hidebug.dumpJsHeapData();
} catch (error) {
console.info(error.code);
console.info(error.message);
expect(error.code == 401).assertTrue();
}
console.log('************* DFX_DFR_Hiprofiler_Interface_2100 Test end*************');
});
})
}
......@@ -197,7 +197,7 @@ describe("FaultlogJsTest", function () {
const loopTimes = 10;
for (let i = 0; i < loopTimes; i++) {
console.info("--------DFX_DFR_Faultlogger_Interface_0300 3 + " + i + "----------");
faultlogger.addFaultLog(i - 200,
faultlogger.addFaultLog(i - 400,
faultlogger.FaultType.APP_FREEZE, module, "faultloggertestsummary04 " + i);
await msleep(300);
}
......@@ -242,7 +242,7 @@ describe("FaultlogJsTest", function () {
const loopTimes = 10;
for (let i = 0; i < loopTimes; i++) {
console.info("--------DFX_DFR_Faultlogger_Interface_0100 + " + i + "----------");
faultlogger.addFaultLog(i - 100,
faultlogger.addFaultLog(i - 300,
faultlogger.FaultType.CPP_CRASH, module, "faultloggertestsummary05 " + i);
await msleep(300);
}
......@@ -276,5 +276,207 @@ describe("FaultlogJsTest", function () {
expect(false).assertTrue();
done();
})
/**
*
* @tc.name: DFX_DFR_Faultlogger_Interface_0600
* @tc.desc: 检验函数参数输入错误时程序是否会崩溃
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_0600', 0, function () {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_0600----------------------------------");
try {
let ret = faultlogger.query("faultloggertestsummary06");
console.info("DFX_DFR_Faultlogger_Interface_0600 ret == " + ret);
return;
} catch(err) {
console.info(err.code);
console.info(err.message);
expect(err.code == 401).assertTrue();
}
})
/**
*
* @tc.name: DFX_DFR_Faultlogger_Interface_0700
* @tc.desc: 检验函数参数输入错误时程序是否会崩溃
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_0700', 0, function () {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_0700----------------------------------");
try {
let ret = faultlogger.query(faultlogger.FaultType.JS_CRASH, "faultloggertestsummary07");
console.info("DFX_DFR_Faultlogger_Interface_0700 ret == " + ret);
return;
} catch(err) {
console.info(err.code);
console.info(err.message);
expect(err.code == 401).assertTrue();
}
})
/**
*
* @tc.name: DFX_DFR_Faultlogger_Interface_0800
* @tc.desc: 检验函数参数输入错误时程序是否会崩溃
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_0800', 0, function () {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_0800----------------------------------");
try {
let ret = faultlogger.query();
console.info("DFX_DFR_Faultlogger_Interface_0800 ret == " + ret);
return;
} catch(err) {
console.info(err.code);
console.info(err.message);
expect(err.code == 401).assertTrue();
}
})
/**
*
* @tc.name: DFX_DFR_Faultlogger_Interface_0900
* @tc.desc: 检验promise同步方式获取faultlog JS_CRASH日志
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_0900', 0, async function (done) {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_0900----------------------------------");
try {
let now = Date.now();
console.info("DFX_DFR_Faultlogger_Interface_0900 2 + " + now);
hiSysEvent.write({
domain: "ACE",
name: "JS_ERROR",
eventType: hiSysEvent.EventType.FAULT,
params: {
PID: 487,
UID:103,
PACKAGE_NAME: "com.ohos.faultlogger.test",
PROCESS_NAME: "com.ohos.faultlogger.test",
MSG: "faultlogger testcase test.",
REASON: "faultlogger testcase test."
}
}).then(
(value) => {
console.log(`HiSysEvent json-callback-success value=${value}`);
})
await msleep(1000);
console.info("--------DFX_DFR_Faultlogger_Interface_0900 4" + "----------");
let ret = await faultlogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH);
console.info("DFX_DFR_Faultlogger_Interface_0900 ret == " + ret.length);
if (ret.length > 0) {
expect(true).assertTrue();
} else {
expect(false).assertTrue();
}
for (let i = 0; i < ret.length; i++) {
console.info("faultloggertestsummary08 " + i + " fullLog.length " + ret[i].fullLog.length);
}
done();
return;
} catch (err) {
console.info("catch (err) == " + err);
}
console.info("DFX_DFR_Faultlogger_Interface_0900 error");
expect(false).assertTrue();
done();
})
/**
*
* @tc.name: DFX_DFR_Faultlogger_Interface_1000
* @tc.desc: 检验promise同步方式获取faultlog APP_FREEZE日志
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_1000', 0, async function (done) {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_1000----------------------------------");
try {
let now = Date.now();
console.info("DFX_DFR_Faultlogger_Interface_1000 2 + " + now);
let module = "ohos.faultloggerjs.test";
const loopTimes = 10;
for (let i = 0; i < loopTimes; i++) {
console.info("--------DFX_DFR_Faultlogger_Interface_1000 3 + " + i + "----------");
faultlogger.addFaultLog(i - 200,
faultlogger.FaultType.APP_FREEZE, module, "faultloggertestsummary09 " + i);
await msleep(300);
}
await msleep(1000);
console.info("--------DFX_DFR_Faultlogger_Interface_1000 4" + "----------");
let ret = await faultlogger.querySelfFaultLog(faultlogger.FaultType.APP_FREEZE);
console.info("DFX_DFR_Faultlogger_Interface_1000 ret == " + ret.length);
expect(ret.length).assertEqual(loopTimes);
for (let i = 0; i < loopTimes; i++) {
console.info("faultloggertestsummary09 " + i + " fullLog.length " + ret[i].fullLog.length);
if (ret[i].fullLog.indexOf("faultloggertestsummary09 " + (loopTimes - 1 - i)) != -1) {
console.info("DFX_DFR_Faultlogger_Interface_1000 " + ret[i].fullLog.length);
expect(true).assertTrue();
} else {
expect(false).assertTrue();
}
}
done();
return;
} catch (err) {
console.info("catch (err) == " + err);
}
console.info("DFX_DFR_Faultlogger_Interface_1000 error");
expect(false).assertTrue();
done();
})
/**
* test
*
* @tc.name: DFX_DFR_Faultlogger_Interface_1100
* @tc.desc: 检验通过回调方式获取faultlog日志
* @tc.require: AR000GICT2
*/
it('DFX_DFR_Faultlogger_Interface_1100', 0, async function (done) {
console.info("---------------------------DFX_DFR_Faultlogger_Interface_1100----------------------------------");
try {
let now = Date.now();
console.info("DFX_DFR_Faultlogger_Interface_1100 start + " + now);
let module = "ohos.faultloggerjs.test";
const loopTimes = 10;
for (let i = 0; i < loopTimes; i++) {
console.info("--------DFX_DFR_Faultlogger_Interface_1100 + " + i + "----------");
faultlogger.addFaultLog(i - 100,
faultlogger.FaultType.CPP_CRASH, module, "faultloggertestsummary10 " + i);
await msleep(300);
}
await msleep(1000);
console.info("--------DFX_DFR_Faultlogger_Interface_1100 4----------");
function queryFaultLogCallback(error, ret) {
if (error) {
console.info('DFX_DFR_Faultlogger_Interface_1100 once error is ' + error);
} else {
console.info("DFX_DFR_Faultlogger_Interface_1100 ret == " + ret.length);
expect(ret.length).assertEqual(loopTimes);
for (let i = 0; i < loopTimes; i++) {
console.info("faultloggertestsummary10 " + i + " fullLog.length " + ret[i].fullLog.length);
if (ret[i].fullLog.indexOf("faultloggertestsummary10 " + (loopTimes - 1 - i)) != -1) {
console.info("DFX_DFR_Faultlogger_Interface_1100 " + ret[i].fullLog.length);
expect(true).assertTrue();
} else {
expect(false).assertTrue();
}
}
}
done();
}
faultlogger.querySelfFaultLog(faultlogger.FaultType.CPP_CRASH, queryFaultLogCallback);
return;
} catch (err) {
console.info(err);
}
console.info("DFX_DFR_Faultlogger_Interface_1100 error");
expect(false).assertTrue();
done();
})
})
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册