diff --git a/tools/wltests/test_series b/tools/wltests/test_series index 4890bddc9c88f6a80a74a556b1f5a767c38b589d..1690998eb133c5131bee48012af8def196259687 100755 --- a/tools/wltests/test_series +++ b/tools/wltests/test_series @@ -786,12 +786,20 @@ match_sha1() { COMMIT_SHA1=$1 c_info "Current kernel: " - CURRENT=$($ADB shell 'uname -a') - c_info " $CURRENT" + c_info " $($ADB shell 'uname -a')" - [[ $CURRENT = *$COMMIT_SHA1* ]] || return $EAGAIN + CURRENT=$($ADB shell 'uname -r' | awk -F "-g" '{print $NF}') + [[ $COMMIT_SHA1 =~ $CURRENT* ]] && return $OK - return $OK + # It may happen that a tag pointing to a given commit has + # a different SHA1 (signed tag), so check if this this is + # the case. + TAG_NAME=$(git -C $KERNEL_SRC describe --exact-match $COMMIT_SHA1 2>/dev/null) || return $EAGAIN + TAG_SHA1=$(git -C $KERNEL_SRC show-ref --hash $TAG_NAME) + c_info " CommitID of local repo corresponds to tag: $TAG_NAME" + [[ $TAG_SHA1 =~ $CURRENT* ]] && return $OK + + return $EAGAIN } build_sha1() {