# selfTestFrame **Repository Path**: robinhool/self-test-frame ## Basic Information - **Project Name**: selfTestFrame - **Description**: workload自测试框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-21 - **Last Updated**: 2024-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AOT workload 自测试框架 ## 目前仅支持linux平台执行,windows平台未经过测试 ### 使用方式 #### 1. 配置config.yaml文件 config.yaml 配置文件中需要配置hdc链接的参数 ```yaml # 设备连接命令,linux上可以映射windows电脑来执行命令 # 例如 hdc_cmd: "hdc -s 192.168.1.100:5555" # 具体使用方式请查询linux映射hdc教程 hdc_cmd:"" ``` #### 2. 配置用例及执行文件 2.1 case路径下请放置需要执行的用例(js/ts/文件夹),以文件夹形式放置,例如case/test/xxx.js 2.2 bin目录下请放置需要使用的二进制执行文件(x86平台的es2abc/ohos平台的ark_js_vm),同样以文件夹形式创建,例如 bin/oldexe/es2abc 2.3 目录结构示例 ``` . ├── README.md ├── bin │ └── old │ ├── ark_js_vm │ └── es2abc ├── case │ └── debug │ ├── testfold │ │ ├── fileInfo.txt │ │ ├── utils.js │ │ └── testfold.js │ └── x.js ``` 2.4 需要将执行的ohos平台的系统环境设置成你所编译ark_js_vm的版本,否则执行会出现不可预知的错误 主要是需要用你ark_js_vm所对应的代码节点版本的 libark_jsruntime.so/libark_jsoptimizer.so/ark_aot_compiler替换掉ohos系统版本中的对应文件 #### 3. 执行脚本 执行脚本请使用python3执行脚本,例如 python3 main.py 执行后会提示选择二进制所在的文件夹,使用相对于bin目录的文件夹名称即可,例如如果你的二进制目录 为 bin/old/es2abc bin/old/ark_js_vm 则输入old即可 执行的用例同理,例如你的用例目录为 case/debug/testfold case/debug/x.js则输入debug即可 然后输入执行次数 #### 4. 执行过程 4.1 脚本会自动生成用例文件夹里所有的用例的abc文件,如果有生成失败的会直接报错退出,请检查用例 4.2 脚本会在case_abc目录下创建本次执行用例的abc文件夹,命名规则为: 用例文件夹_年月日_时分,例如执行case/debug 则会生成 case_abc/debug_20241213_1629 4.3 脚本会将ark_js_vm放入生成的abc文件夹中,并将整个文件夹上传至ohos系统中的/data/local/tmp/目录中 4.4 脚本呢每次执行一个操作,会将对应的输出写入case_abc/执行用例的生成文件夹/run.log中 4.4 脚本进行ap采集,对于每个abc而言,脚本会按照一定的规则捕获输出,一定要求捕获到: [用例名 执行时间] 对于一个abc,如果他的执行结果无法捕获到任何符合规则的输出,那么脚本会将改用例的执行结果置为[abc文件名,-1]。 执行ap采集的同时,脚本会将捕获到的符合规则的执行结果写入case_abc/执行用例的生成文件夹/result.xlsx中 4.5 脚本进行AOT的编译 4.6 AOT编译结束后,脚本会提示进行锁频锁核操作,完成后输入回车 4.7 脚本进行AOT测试,每一轮测试脚本会将结果写入case_abc/执行用例的生成文件夹/result.xlsx中,规则同ap采集一致 4.7 执行完毕