修改bug和优化用例

(cherry picked from commit cea434bf15e535988b2fdf034fea85069ab2aab6)
This commit is contained in:
Alwill Xiao(肖传楠) 2024-06-04 16:59:56 +08:00 committed by openeuler-sync-bot
parent 2f72f0f41c
commit 3638dd0cf3
2 changed files with 97 additions and 1 deletions

View File

@ -0,0 +1,82 @@
diff -Naur rpm/tests/compatible/kabi/kabi.py oech/tests/compatible/kabi/kabi.py
--- rpm/tests/compatible/kabi/kabi.py 2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabi/kabi.py 2024-06-04 15:30:53.001506902 +0800
@@ -121,8 +121,8 @@
if product == "openEuler":
standard_kernel_version = getoutput(
"dnf list --repo=source | grep '^kernel.src' | awk '{print $2}'")
- self.command.run_cmd("dnf download --source kernel-%s"
- % standard_kernel_version)
+ self.command.run_cmd("dnf download --source kernel-%s --downloaddir %s"
+ % (standard_kernel_version, rpmpath))
elif product == "KylinSec":
kylinsec_version = getoutput("cat /etc/dnf/vars/osversion | sed 's/[^0-9]//g'")
kernel_dict = Document(CertEnv.kernelinfo, self.logger)
@@ -138,7 +138,7 @@
self.logger.info("Currently, this system is not supported to test kabi,"
" Please add the corresponding system in kernelrelease.json.")
- rpm = os.path.join("kernel-" + standard_kernel_version + ".src.rpm")
+ rpm = os.path.join(rpmpath, "kernel-" + standard_kernel_version + ".src.rpm")
getoutput("rpm -ivh %s" % rpm)
os.remove(rpm)
return standard_symvers
diff -Naur rpm/tests/compatible/kabiwhitelist/kabi_check.sh oech/tests/compatible/kabiwhitelist/kabi_check.sh
--- rpm/tests/compatible/kabiwhitelist/kabi_check.sh 2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabiwhitelist/kabi_check.sh 2024-06-04 15:29:30.189447349 +0800
@@ -19,6 +19,10 @@
arch=`uname -m`
url="https://gitee.com/src-openeuler/kernel/raw/$os_version/kabi_whitelist_$arch"
wget $url
+# if get kabi_whitelist failed because of internet or other
+if [ ! -f $testdir"/kabi_whitelist_"$arch ]; then
+ cp /root/kabi_whitelist_$arch $testdir/
+fi
kernel_version=`uname -r`
symvers_gz="symvers-"$kernel_version".gz"
cp /boot/$symvers_gz /usr/share/oech/lib/tests/compatible/kabiwhitelist/test_log
@@ -103,6 +107,9 @@
if [ -f /root/$line ]; then
cp /root/$line ./
echo $line >> dirth
+ else
+ echo "no ko or rpm file" >> nofile.txt
+ exit 0
fi
done
cat dirth|while read line;
diff -Naur rpm/tests/compatible/kabiwhitelist/kabiwhitelist.py oech/tests/compatible/kabiwhitelist/kabiwhitelist.py
--- rpm/tests/compatible/kabiwhitelist/kabiwhitelist.py 2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabiwhitelist/kabiwhitelist.py 2024-06-04 15:30:38.354496369 +0800
@@ -46,6 +46,10 @@
if ko_result[2] == 0:
self.logger.error("Please configure the board information in the configuration file")
return False
+ ko_file_result = self.command.run_cmd("ls %s/test_log/ | grep nofile" % kabi_whitelist_dir)
+ if ko_file_result[2] == 0:
+ self.logger.error("Please put ko or rpm file configured in the configuration file into the /root")
+ return False
self.logger.info("Ko or rpm check complete")
test_result = self.command.run_cmd("ls %s/test_log | grep change" % kabi_whitelist_dir)
diff -Naur rpm/tests/compatible/system/system.py oech/tests/compatible/system/system.py
--- rpm/tests/compatible/system/system.py 2024-06-04 15:27:10.019346555 +0800
+++ oech/tests/compatible/system/system.py 2024-06-04 15:32:25.527573326 +0800
@@ -94,6 +94,8 @@
os_version = getoutput("cat /etc/os-release | grep -i version_id | awk -F = '{print $2}' | sed 's/[\"]//g'")
elif product == "UOS":
os_version = getoutput("cat /etc/os-release | grep -i version_id | awk -F = '{print $2}' | sed 's/[\"]//g'")
+ elif self.sysinfo.product is not None and self.sysinfo.get_version() is not None:
+ os_version = self.sysinfo.product + " " + self.sysinfo.get_version()
else:
self.logger.error("Failed to get os version info.")
self.logger.info("OS Version: %s" % os_version, terminal_print=False)
@@ -115,6 +117,8 @@
kernel_release = kernel_dict.document[product][os_version].split('/')[1].split('-')[0]
elif product == "UOS":
kernel_release = kernel_dict.document[product][os_version].split('/')[1].split('-')[0]
+ elif kernel_dict.document[product] is not None and kernel_dict.document[product][os_version] is not None:
+ kernel_release = kernel_dict.document[product][os_version]
try:
if kernel_release != self.sysinfo.kernel_version:
self.logger.error("Failed to check kernel %s GA status." %

View File

@ -1,10 +1,12 @@
%global _build_id_links none
%undefine __brp_mangle_shebangs
%define vendor %{?_vendor:%{_vendor}}%{!?_vendor:openEuler}
%define vendor_lowercase %{?_vendor:%(echo %{_vendor} | tr '[:upper:]' '[:lower:]')}%{!?_vendor:openeuler}
Name: oec-hardware
Summary: openEuler Hardware Compatibility Test Suite
Version: 1.1.5
Release: 2
Release: 3
Group: Development/Tools
License: Mulan PSL v2
URL: https://gitee.com/openeuler/oec-hardware
@ -13,6 +15,7 @@ Source0: https://gitee.com/openeuler/oec-hardware/repository/archive/v%{v
# patch fix issue
Patch0001: oec-hardware-1.1.5-1-add-virtual-branch-fix-bug.patch
Patch0002: oec-hardware-1.1.5-2-fix-bug.patch
Patch0003: oec-hardware-1.1.5-3-functional-optimization-fix-bug.patch
Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: gcc
@ -38,6 +41,7 @@ openEuler Hardware Compatibility Test Server
%setup -q -c
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%ifarch x86_64 aarch64
@ -51,6 +55,9 @@ DESTDIR=$RPM_BUILD_ROOT VERSION_RELEASE=%{version} make
%install
DESTDIR=$RPM_BUILD_ROOT make install
# Custom vendor
sed -i 's#grep openeulerversion /etc/openEuler-latest#grep %{vendor_lowercase}version /etc/%{vendor}-latest#g' %{buildroot}/usr/share/oech/lib/hwcompatible/cert_info.py
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
@ -82,6 +89,13 @@ DESTDIR=$RPM_BUILD_ROOT make install
rm -rf /var/lock/oech.lock
%changelog
* Tue Jun 4 2024 xiaochn <xiaochuannan@inspur.com> - 1.1.5-3
- Resolve the issue of different kernel source download locations in kabi test case
- Resolve the issue that kabiwhitelist still passes when the ko and rpm file does not exist
- Add the way for manually adding kabiwhitelist file
- For custom vendors, refer to the method of obtaining openEuler os information
- Supports custom vendor
* Wed Nov 29 2023 cuixucui <cuixucui@h-partner.com> - 1.1.5-1
- Resolve kdump\watchdog\cpufreq\kabiwhitelist\network test failure issue
- Add fio test cases:read,write,randread,randwrite