
add resource and monitor group testcases for MPAM Signed-off-by: Wen Renjie <wenrenjie@huawei.com> --- testcases/feature-test/mpam/mpam_group_01.sh | 33 ++++++++++++++ testcases/feature-test/mpam/mpam_group_02.sh | 33 ++++++++++++++ testcases/feature-test/mpam/mpam_group_03.sh | 33 ++++++++++++++ testcases/feature-test/mpam/mpam_group_04.sh | 33 ++++++++++++++ testcases/feature-test/mpam/mpam_group_05.sh | 35 ++++++++++++++ testcases/feature-test/mpam/mpam_group_06.sh | 48 ++++++++++++++++++++ 6 files changed, 215 insertions(+) create mode 100755 testcases/feature-test/mpam/mpam_group_01.sh create mode 100755 testcases/feature-test/mpam/mpam_group_02.sh create mode 100755 testcases/feature-test/mpam/mpam_group_03.sh create mode 100755 testcases/feature-test/mpam/mpam_group_04.sh create mode 100755 testcases/feature-test/mpam/mpam_group_05.sh create mode 100755 testcases/feature-test/mpam/mpam_group_06.sh diff --git a/testcases/feature-test/mpam/mpam_group_01.sh b/testcases/feature-test/mpam/mpam_group_01.sh new file mode 100755 index 00000000..c82e4e32 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_01.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/01 +# 创建单个资源组并删除 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/p0 + if [ $? -eq 0 ]; then + tst_res TPASS "创建单个资源组成功" + else + tst_res TFAIL "创建单个资源组失败" + fi + + rmdir $mpam_dir/p0 + if [ $? -eq 0 ]; then + tst_res TPASS "删除单个资源组成功" + else + tst_res TFAIL "删除单个资源组失败" + fi + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_group_02.sh b/testcases/feature-test/mpam/mpam_group_02.sh new file mode 100755 index 00000000..d50addef --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_02.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/01 +# 创建多个资源组并删除 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/p0 $mpam_dir/p1 $mpam_dir/p2 + if [ $? -eq 0 ]; then + tst_res TPASS "创建多个资源组成功" + else + tst_res TFAIL "创建多个资源组失败" + fi + + rmdir $mpam_dir/p0 $mpam_dir/p1 $mpam_dir/p2 + if [ $? -eq 0 ]; then + tst_res TPASS "删除多个资源组成功" + else + tst_res TFAIL "删除多个资源组失败" + fi + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_group_03.sh b/testcases/feature-test/mpam/mpam_group_03.sh new file mode 100755 index 00000000..555b65be --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_03.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/01 +# 创建单个监控组并删除 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/mon_groups/m1 + if [ $? -eq 0 ]; then + tst_res TPASS "创建单个监控组成功" + else + tst_res TFAIL "创建单个监控组失败" + fi + + rmdir $mpam_dir/mon_groups/m1 + if [ $? -eq 0 ]; then + tst_res TPASS "删除单个监控组成功" + else + tst_res TFAIL "删除单个监控组失败" + fi + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_group_04.sh b/testcases/feature-test/mpam/mpam_group_04.sh new file mode 100755 index 00000000..11a10e68 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_04.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/01 +# 创建多个监控组并删除 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/mon_groups/m1 $mpam_dir/mon_groups/m2 $mpam_dir/mon_groups/m3 + if [ $? -eq 0 ]; then + tst_res TPASS "创建多个监控组成功" + else + tst_res TFAIL "创建多个监控组失败" + fi + + rmdir $mpam_dir/mon_groups/m1 $mpam_dir/mon_groups/m2 $mpam_dir/mon_groups/m3 + if [ $? -eq 0 ]; then + tst_res TPASS "删除多个监控组成功" + else + tst_res TFAIL "删除多个监控组失败" + fi + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_group_05.sh b/testcases/feature-test/mpam/mpam_group_05.sh new file mode 100755 index 00000000..fe35f039 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_05.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/02 +# 可创建最大资源组个数测试 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + res_group_num=`cat $mpam_dir/info/L3/num_closids` + + create_group_num=$(($res_group_num-1)) # 根分组占据一个closeid + + for i in $(seq 1 $create_group_num); do + mkdir $mpam_dir/p$i + if [ $? -ne 0 ]; then + tst_res TFAIL "创建资源组到最大数量失败" + tst_check_dmesg + tst_exit + fi + done + + tst_res TPASS "创建资源组到最大数量成功" + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_group_06.sh b/testcases/feature-test/mpam/mpam_group_06.sh new file mode 100755 index 00000000..d19c95d2 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_group_06.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/02 +# 可创建最大监控组个数测试 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + res_group_num=`cat $mpam_dir/info/L3/num_closids` + mon_group_num=`cat $mpam_dir/info/L3_MON/num_rmids` + + create_res_group_num=$(($res_group_num-1)) # 根分组占据一个closeid + create_mon_group_num=$(($mon_group_num/res_group_num-1)) # 资源组占据一个rmid + + for j in $(seq 1 $create_mon_group_num); do + mkdir $mpam_dir/mon_groups/m$j + if [ $? -ne 0 ]; then + tst_res TFAIL "创建监控组到最大数量失败" + tst_exit + fi + done + + for i in $(seq 1 $create_res_group_num); do + mkdir $mpam_dir/p$i + for j in $(seq 1 $create_mon_group_num); do + mkdir $mpam_dir/p$i/mon_groups/m$j + if [ $? -ne 0 ]; then + tst_res TINFO "$i $j" + tst_res TFAIL "创建监控组到最大数量失败" + tst_exit + fi + done + done + + tst_res TPASS "创建监控组到最大数量成功" + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file -- 2.25.1