From c3502680c632eecf4404787965443ad9d911c9d4 Mon Sep 17 00:00:00 2001 From: Ke Zhiming Date: Tue, 5 Jan 2021 10:31:08 +0800 Subject: [PATCH 1/2] virttest: testcase support running in qemu with sanitizers If qemu_san=enable, replace the qemu rpm that complied with sanitizers before test_run Signed-off-by: Ke Zhiming --- tests/virttest | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/virttest b/tests/virttest index be0e421..8c0d588 100755 --- a/tests/virttest +++ b/tests/virttest @@ -202,6 +202,24 @@ config_virttest() { sed -i 's/^# \(migrate_dest_pwd = "${remote_pwd}"\)/\1/' $libvirt_base_cfg } +# config qemu san +config_qemu_san() { + if [ x$qemu_san == x"enable" ] && [ ! -d /virttest_san_rpm_bak ]; then + [ -d /virttest_san_rpm ] || die "Makepkg is short of san packages and needs to be remakepkg with qemu_san/libvirt_san enable" + rpm -Uvh /virttest_san_rpm/*.rpm --force || exit $? + # config qemu asan + profile=/etc/profile + echo "export LSAN_OPTIONS=suppressions=/home/suppfile" >> $profile + echo "export ASAN_OPTIONS=detect_leaks=1:halt_on_error=0:log_path=/home/sanlog/:log_exe_name=1:disable_coredump=0:fast_unwind_on_malloc=0" >> $profile + source $profile + mkdir -p /home/sanlog + chmod 777 /home/sanlog/ + mv /virttest_san_rpm /virttest_san_rpm_bak + fi +} + +config_qemu_san + # config bash prompt. The shell prompt that indicates a successfull login bash_prompt="/root/.shell/bash_prompt" if [ -f $bash_prompt -a ! -e $bash_prompt.bak_by_CI ]; then -- Gitee From f2e0720422cf022094e8a6cdefacc5d91816d0cc Mon Sep 17 00:00:00 2001 From: Ke Zhiming Date: Tue, 5 Jan 2021 10:44:03 +0800 Subject: [PATCH 2/2] virttest: upload qemu_san log Upload qemu san log if qemu_san=enable Signed-off-by: Ke Zhiming --- tests/virttest | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/virttest b/tests/virttest index 8c0d588..1f51766 100755 --- a/tests/virttest +++ b/tests/virttest @@ -218,6 +218,15 @@ config_qemu_san() { fi } +# upload sanlog +upload_sanlog() { + if [ x$qemu_san == x"enable" ]; then + echo "$vt_reference" > "/home/sanlog/date.log" + upload_files -t results "/home/sanlog" + rm -rf /home/sanlog/* + fi +} + config_qemu_san # config bash prompt. The shell prompt that indicates a successfull login @@ -336,4 +345,6 @@ mv ${logs_dir}/* /home/$vt_reference upload_files -t results /home/$vt_reference rm -rf /home/${vt_reference:?} +upload_sanlog + run_target_stats $(basename $0) -- Gitee