1fb726d48Sopenharmony_ci/*
2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd.
3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License.
5fb726d48Sopenharmony_ci * You may obtain a copy of the License at
6fb726d48Sopenharmony_ci *
7fb726d48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8fb726d48Sopenharmony_ci *
9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and
13fb726d48Sopenharmony_ci * limitations under the License.
14fb726d48Sopenharmony_ci */
15fb726d48Sopenharmony_ci
16fb726d48Sopenharmony_ciimport { PluginConvertUtils } from '../../../../../src/trace/component/setting/utils/PluginConvertUtils';
17fb726d48Sopenharmony_ciimport { ProfilerSessionConfigMode } from '../../../../../src/trace/component/setting/bean/ProfilerServiceTypes';
18fb726d48Sopenharmony_ci
19fb726d48Sopenharmony_ciimport {
20fb726d48Sopenharmony_ci  ProfilerSessionConfigBufferConfig,
21fb726d48Sopenharmony_ci  ProfilerSessionConfigBufferConfigPolicy,
22fb726d48Sopenharmony_ci  TracePluginConfig,
23fb726d48Sopenharmony_ci  // @ts-ignore
24fb726d48Sopenharmony_ci} from '../../../../../src/trace/component/setting/bean/ProfilerServiceTypes';
25fb726d48Sopenharmony_ciimport {
26fb726d48Sopenharmony_ci  HilogConfig,
27fb726d48Sopenharmony_ci  levelFromJSON,
28fb726d48Sopenharmony_ci  Type,
29fb726d48Sopenharmony_ci  // @ts-ignore
30fb726d48Sopenharmony_ci} from '../../../../../src/trace/component/setting/bean/ProfilerServiceTypes';
31fb726d48Sopenharmony_ciimport {
32fb726d48Sopenharmony_ci  MemoryConfig,
33fb726d48Sopenharmony_ci  sysMeminfoTypeFromJSON,
34fb726d48Sopenharmony_ci  sysVMeminfoTypeFromJSON,
35fb726d48Sopenharmony_ci  // @ts-ignore
36fb726d48Sopenharmony_ci} from '../../../../../src/trace/component/setting/bean/ProfilerServiceTypes';
37fb726d48Sopenharmony_ciimport { SpRecordTrace } from '../../../../../src/trace/component/SpRecordTrace';
38fb726d48Sopenharmony_ci
39fb726d48Sopenharmony_cidescribe('PlugConvertUtils Test', () => {
40fb726d48Sopenharmony_ci  let bufferConfig: ProfilerSessionConfigBufferConfig = {
41fb726d48Sopenharmony_ci    pages: 1000,
42fb726d48Sopenharmony_ci    policy: ProfilerSessionConfigBufferConfigPolicy.RECYCLE,
43fb726d48Sopenharmony_ci  };
44fb726d48Sopenharmony_ci  let sessionConfig = {
45fb726d48Sopenharmony_ci    buffers: [bufferConfig],
46fb726d48Sopenharmony_ci    sessionMode: ProfilerSessionConfigMode.OFFLINE,
47fb726d48Sopenharmony_ci    resultFile: '/data/local/tmp/hiprofiler_data.htrace',
48fb726d48Sopenharmony_ci    resultMaxSize: 0,
49fb726d48Sopenharmony_ci    sampleDuration: 1000,
50fb726d48Sopenharmony_ci    keepAliveTime: 0,
51fb726d48Sopenharmony_ci  };
52fb726d48Sopenharmony_ci  let tracePluginConfig: TracePluginConfig = {
53fb726d48Sopenharmony_ci    ftraceEvents: [],
54fb726d48Sopenharmony_ci    bytraceCategories: [],
55fb726d48Sopenharmony_ci    bytraceApps: [],
56fb726d48Sopenharmony_ci    bufferSizeKb: 1024,
57fb726d48Sopenharmony_ci    flushIntervalMs: 1000,
58fb726d48Sopenharmony_ci    flushThresholdKb: 4096,
59fb726d48Sopenharmony_ci    parseKsyms: true,
60fb726d48Sopenharmony_ci    clock: 'mono',
61fb726d48Sopenharmony_ci    tracePeriodMs: 200,
62fb726d48Sopenharmony_ci    rawDataPrefix: '',
63fb726d48Sopenharmony_ci    traceDurationMs: 0,
64fb726d48Sopenharmony_ci    debugOn: false,
65fb726d48Sopenharmony_ci  };
66fb726d48Sopenharmony_ci  let hilogConfig: HilogConfig = {
67fb726d48Sopenharmony_ci    deviceType: Type.HI3516,
68fb726d48Sopenharmony_ci    logLevel: levelFromJSON('Info'),
69fb726d48Sopenharmony_ci    needClear: true,
70fb726d48Sopenharmony_ci  };
71fb726d48Sopenharmony_ci  let memoryconfig: MemoryConfig = {
72fb726d48Sopenharmony_ci    reportProcessTree: true,
73fb726d48Sopenharmony_ci    reportSysmemMemInfo: true,
74fb726d48Sopenharmony_ci    sysMeminfoCounters: [],
75fb726d48Sopenharmony_ci    reportSysmemVmemInfo: true,
76fb726d48Sopenharmony_ci    sysVmeminfoCounters: [],
77fb726d48Sopenharmony_ci    reportProcessMemInfo: true,
78fb726d48Sopenharmony_ci    reportAppMemInfo: false,
79fb726d48Sopenharmony_ci    reportAppMemByMemoryService: false,
80fb726d48Sopenharmony_ci    pid: [],
81fb726d48Sopenharmony_ci  };
82fb726d48Sopenharmony_ci  let request = {
83fb726d48Sopenharmony_ci    requestId: 1,
84fb726d48Sopenharmony_ci    sessionConfig: sessionConfig,
85fb726d48Sopenharmony_ci    pluginConfigs: [tracePluginConfig, hilogConfig, memoryconfig],
86fb726d48Sopenharmony_ci  };
87fb726d48Sopenharmony_ci
88fb726d48Sopenharmony_ci  it('PlugConvertUtils01', function () {
89fb726d48Sopenharmony_ci    expect(PluginConvertUtils.createHdcCmd('aaaa', 11)).not.toBeNull();
90fb726d48Sopenharmony_ci  });
91fb726d48Sopenharmony_ci
92fb726d48Sopenharmony_ci  it('PlugConvertUtils02', function () {
93fb726d48Sopenharmony_ci    expect(PluginConvertUtils.BeanToCmdTxt(request, true)).not.toBeNull();
94fb726d48Sopenharmony_ci  });
95fb726d48Sopenharmony_ci
96fb726d48Sopenharmony_ci  it('PlugConvertUtils03', function () {
97fb726d48Sopenharmony_ci    expect(PluginConvertUtils.BeanToCmdTxtWithObjName(request, false, '', 1)).not.toBeNull();
98fb726d48Sopenharmony_ci  });
99fb726d48Sopenharmony_ci});
100