diff --git a/test/tracepointtest/tracepoint.sh b/test/tracepointtest/tracepoint.sh index 1d8c5529067556d01ebf894af7c3c7573b90f3ad..7bccfbdb2f0f19f786af9961ded0728661c1ed95 100755 --- a/test/tracepointtest/tracepoint.sh +++ b/test/tracepointtest/tracepoint.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash ################################################################################ # # Copyright (C) 2022 Huawei Device Co., Ltd. @@ -25,6 +25,8 @@ # ################################################################################ +set -e + CURRENT_DIR=$(pwd) ROOT_DIR=$(cd ${CURRENT_DIR}/../../ && pwd) ROOT_FILE_DIR=${ROOT_DIR}/kernel/linux/build/test/tracepointtest @@ -36,16 +38,16 @@ DRIVERS_TRACEPOINT_DIR=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10/drivers/tracepo CONFIG_DIR=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10/arch/arm64/configs copy() { - SOURCE_PATH=$1 - TARGET_PATH=$2 + local SOURCE_PATH=$1 + local TARGET_PATH=$2 echo "copy ${SOURCE_PATH} to ${TARGET_PATH}" cp -rf ${SOURCE_PATH} ${TARGET_PATH} } modify_config() { - SOURCE_FILE=$1 - TARGET_FILE=$2 - if [ -e ${CONFIG_DIR}/tmp ]; then + local SOURCE_FILE=$1 + local TARGET_FILE=$2 + if [ -e "${CONFIG_DIR}/tmp" ]; then rm -f ${CONFIG_DIR}/tmp fi @@ -65,16 +67,16 @@ modify_config() { } modify_files() { - KCONFIG=${DRIVERS_DIR}/Kconfig - MAKEFILE=${DRIVERS_DIR}/Makefile - VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c - TMPFILE=${DRIVERS_DIR}/tmp + local KCONFIG=${DRIVERS_DIR}/Kconfig + local MAKEFILE=${DRIVERS_DIR}/Makefile + local VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c + local TMPFILE=${DRIVERS_DIR}/tmp cp -f ${KCONFIG} ${KCONFIG}_tmpfile cp -f ${MAKEFILE} ${MAKEFILE}_tmpfile cp -f ${VENDOR_HOOKS} ${VENDOR_HOOKS}_tmpfile - if [ -e ${TMPFILE} ]; then + if [ -e "${TMPFILE}" ]; then rm -f ${TMPFILE} fi @@ -118,7 +120,7 @@ compile() { } collect_ko() { - if [ -e ${OBJ_DIR}/kofiles ]; then + if [ -e "${OBJ_DIR}/kofiles" ]; then rm -f ${OBJ_DIR}/kofiles mkdir -p ${OBJ_DIR}/kofiles else @@ -129,43 +131,50 @@ collect_ko() { } restore() { - CONFIGNAME=rockchip_linux_defconfig - KCONFIG=${DRIVERS_DIR}/Kconfig - MAKEFILE=${DRIVERS_DIR}/Makefile - HEADERFILE=${TRACEPOINT_INCLUDE_DIR}/emmc.h - VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c - - rm -rf ${DRIVERS_TRACEPOINT_DIR} - rm -rf ${HEADERFILE} + local CONFIGNAME=rockchip_linux_defconfig + local KCONFIG=${DRIVERS_DIR}/Kconfig + local MAKEFILE=${DRIVERS_DIR}/Makefile + local HEADERFILE=${TRACEPOINT_INCLUDE_DIR}/emmc.h + local VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c + + if [ -d "${DRIVERS_TRACEPOINT_DIR}" ]; then + rm -rf ${DRIVERS_TRACEPOINT_DIR} + fi + + if [ -e "${HEADERFILE}" ]; then + rm -rf ${HEADERFILE} + fi mv -f ${CONFIG_DIR}/${CONFIGNAME}_tmpfile ${CONFIG_DIR}/${CONFIGNAME} mv -f ${KCONFIG}_tmpfile ${KCONFIG} mv -f ${MAKEFILE}_tmpfile ${MAKEFILE} mv -f ${VENDOR_HOOKS}_tmpfile ${VENDOR_HOOKS} - rm -rf ${COMPILE_DIR}/.lock + if [ -e "${COMPILE_DIR}/.lock" ]; then + rm -rf ${COMPILE_DIR}/.lock + fi } main() { - if [ -e ${COMPILE_DIR}/.lock ]; then + if [ -e "${COMPILE_DIR}/.lock" ]; then restore fi echo "" >${COMPILE_DIR}/.lock - if [ -d ${DRIVERS_DIR}/tracepointtest ]; then + if [ -d "${DRIVERS_DIR}/tracepointtest" ]; then rm -rf ${DRIVERS_DIR}/tracepointtest mkdir -p ${DRIVERS_DIR}/tracepointtest else mkdir -p ${DRIVERS_DIR}/tracepointtest fi - for dir in $(ls ${ROOT_FILE_DIR}); do - if [ -d ${ROOT_FILE_DIR}/${dir} ]; then + for dir in $(ls "${ROOT_FILE_DIR}"); do + if [ -d "${ROOT_FILE_DIR}/${dir}" ]; then copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir} elif [[ "${dir}" == "Makefile" ]]; then copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir} elif [[ "${dir}" == "Kconfig" ]]; then copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir} - elif [[ ${dir} == *.h ]]; then + elif [[ "${dir}" == *.h ]]; then copy ${ROOT_FILE_DIR}/${dir} ${TRACEPOINT_INCLUDE_DIR}/${dir} elif [[ "${dir}" == "rockchip_linux_defconfig" ]]; then modify_config ${ROOT_FILE_DIR}/${dir} ${dir} diff --git a/test/tracepointtest/tracepointtestko.sh b/test/tracepointtest/tracepointtestko.sh index ebe8c0d0e51e965d8c12a38c816299b6de323e63..653c74704ae10b1c0662bea5dee42329fb883d26 100755 --- a/test/tracepointtest/tracepointtestko.sh +++ b/test/tracepointtest/tracepointtestko.sh @@ -25,6 +25,8 @@ # ################################################################################ +set -e + CURRENT_DIR=$(pwd) KO_DIR=${CURRENT_DIR}/kofile @@ -36,7 +38,7 @@ insmod_ko() { fi done - if [ -e ${KO_DIR}/tracepoint_test.ko ]; then + if [ -e "${KO_DIR}/tracepoint_test.ko" ]; then insmod ${KO_DIR}/tracepoint_test.ko else echo "no such file tracepoint_test.ko" @@ -44,6 +46,7 @@ insmod_ko() { fi arr=(vendor_do_mmap vendor_do_mprotect_pkey vendor_aml_emmc_partition vendor_fake_boot_partition) + set +e for i in ${arr[@]}; do dmesg | grep $i >/dev/null if [ $? -eq 0 ]; then @@ -52,6 +55,7 @@ insmod_ko() { echo "tracepoint $i failed" fi done + set -e } rmmod_ko() { @@ -62,7 +66,7 @@ rmmod_ko() { } main() { - if [[ $1 == "rmmod_ko" ]]; then + if [[ "$1" == "rmmod_ko" ]]; then rmmod_ko else insmod_ko