Fetch the repository succeeded.
This action will force synchronization from openEuler/mugen, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
mugen是openEuler社区开放的测试框架,提供公共配置和方法以便社区开发者进行测试代码的编写和执行
bash dep_install.sh
bash mugen.sh -c --ip $ip --password $passwd --user $user --port $port
{
"NODE": [
{
"ID": 1,
"LOCALTION": "local",
"MACHINE": "physical",
"FRAME": "aarch64",
"NIC": "eth0",
"MAC": "55:54:00:c8:a9:21",
"IPV4": "192.168.0.10",
"USER": "root",
"PASSWORD": "openEuler12#$",
"SSH_PORT": 22,
"BMC_IP": "",
"BMC_USER": "",
"BMC_PASSWORD": ""
},
{
"ID": 2,
"LOCALTION": "remote",
"MACHINE": "kvm",
"FRAME": "aarch64",
"NIC": "eth0",
"MAC": "55:54:00:c8:a9:22",
"IPV4": "192.168.0.11",
"USER": "root",
"PASSWORD": "openEuler12#$",
"SSH_PORT": 22,
"HOST_IP": "",
"HOST_USER": "",
"HOST_PASSWORD": ""
"HOST_SSH_PORT": ""
}
]
}
bash mugen.sh -a
bash mugen.sh -f testsuite
bash mugen.sh -f testsuite -r testcase
bash mugen.sh -a -x
bash mugen.sh -f testsuite -x
bash mugen.sh -f testsuite -r testcase -x
source ${OET_PATH}/libs/locallibs/common_lib.sh
# 需要预加载的数据、参数配置
function config_params() {
LOG_INFO "Start to config params of the case."
LOG_INFO "No params need to config."
LOG_INFO "End to config params of the case."
}
# 测试对象、测试需要的工具等安装准备
function pre_test() {
LOG_INFO "Start to prepare the test environment."
LOG_INFO "No pkgs need to install."
LOG_INFO "End to prepare the test environment."
}
# 测试点的执行
function run_test() {
LOG_INFO "Start to run test."
# 测试命令:ls
ls -CZl -all
CHECK_RESULT 0
# 测试/目录下是否存在proc|usr|roor|var|sys|etc|boot|dev目录
CHECK_RESULT "$(ls / | grep -cE 'proc|usr|roor|var|sys|etc|boot|dev')" 7
LOG_INFO "End to run test."
}
# 后置处理,恢复测试环境
function post_test() {
LOG_INFO "Start to restore the test environment."
LOG_INFO "Nothing to do."
LOG_INFO "End to restore the test environment."
}
main "$@"
# bash
source ${OET_PATH}/libs/locallibs/common_lib.sh
# python
import os, sys, subprocess
LIBS_PATH = os.environ.get("OET_PATH") + "/libs/locallibs"
sys.path.append(LIBS_PATH)
import xxx
# bash
LOG_INFO "$message"
LOG_WARN "$message"
LOG_DEBUG "$message"
LOG_ERROR "$message"
# python
import mugen_log
mugen_log.logging(level, message) # level:INFO,WARN,DEBUG,ERROR;message:日志输出
# bash
CHECK_RESULT $1 $2 $3 $4 $5
# $1:测试点的返回结果
# $2:预期结果
# $3:对比模式,0:返回结果和预期结果相等;1:返回结果和预期结果不等
# $4:发现问题,日志输出
# $5:退出模式,0:不管问题继续执行后续程序;1:发现问题后中断并退出此代码块
# bash
## func 1
DNF_INSTALL "vim bc" "$node_id"
DNF_REMOVE "$node_id" "jq" "$mode"
# mode:默认为0,会删除用例中安装的包,当为非0时,则只卸载当软件包
# python
import rpm_manage
tpmfile = rpm_manage.rpm_install(pkgs, node, tmpfile)
rpm_manage.rpm_remove(node, pkgs, tmpfile)
# bash
## func 1
SSH_CMD "$cmd" $remote_ip $remote_password $remote_user $time_out $remote_port`
## func 2
P_SSH_CMD --cmd $cmd --node $node(远端节点号)
P_SSH_CMD --cmd $cmd --ip $remote_ip --password $remote_password --port $remote_port --user $remote_user --timeout $timeout
# python
conn = ssh_cmd.pssh_conn(remote_ip, remote_password,remote_port,remote_user,remote_timeout)
exitcode, output = ssh_cmd.pssh_cmd(conn, cmd)
# port:默认为22
# user:默认为root
# timeout: 默认不限制
# bash
## func 1
### 本地文件传输到远端
`SSH_SCP $local_path/$file $REMOTE_USER@$REMOTE_IP:$remote_path "$REMOTE_PASSWD"`
### 远端文件传输到本地
`SSH_SCP $REMOTE_USER@$REMOTE_IP:$remote_path/$file $local_path "$REMOTE_PASSWD"`
## func 2
### 目录传输
SFTP get/put --localdir $localdir --remotedir $remotedir
### 文件传输
SFTP get/put --localdir $localdir --remotedir $remotedir --localfile/remotefile $localfile/$remotefile
# python
### 目录传输
import ssh_cmd, sftp
conn = ssh_cmd.pssh_conn(remote_ip, remote_password,remote_port,remote_user,remote_timeout)
psftp_get(conn,remote_dir, local_dir)
psftp_put(local_dir=local_dir, remote_dir=remote_dir)
### 文件传输
import ssh_cmd, sftp
psftp_get(remote_dir, remote_file, local_dir)
psftp_put(local_dir=local_dir, local_file=local_file, remote_dir=remote_dir)
# get:从远端获取
# put:传输到远端
# localdir: 默认为当前目录
# remotedir:默认为远端根目录
# bash
GET_FREE_PORT $ip
# python
import free_port
free_port.find_free_port(ip)
# bash
IS_FREE_PORT $port $ip
# python
import free_port
free_port.is_free_port(port, ip)
# bash
TEST_NIC $node_id
# python
import get_test_device
get_test_nic(node_id)
# node_id:默认为1号节点
# bash
TEST_DISK $node_id
# python
import get_test_device
get_test_disk(node_id)
# node_id:默认为1号节点
# bash
SLEEP_WAIT $wait_time $cmd
# python
import sleep_wait
sleep_wait.sleep_wait(wait_time,cmd)
# bash
REMOTE_REBOOT_WAIT $node_id $wait_time
cmd > /dev/nul 2>&1 &
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。