commit f0a581925ad4c948dc58cc8f9a55399ad8de351e Author: Mark Wielaard Date: Fri Mar 3 23:51:13 2017 +0100 tests/tpmbuild.at: Make file sed regexp more strict to extract BuildID. In some testcases we extract the BuildID with the file command. Unfortunately the file command output changed slightly between versions. Make the sed regexp more strict by only matching a hex-string. Also properly "escape" [ and ] which inside an AT_CHECK should be [[ and ]]. Tested against file versions 5.11, 5.29 and 5.30. Signed-off-by: Mark Wielaard diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at index a46822f..dcbdd2c 100644 --- a/tests/rpmbuild.at +++ b/tests/rpmbuild.at @@ -423,11 +423,11 @@ hello2_file=./usr/local/bin/hello2 test -f $hello_file || echo "no hello file: $hello_file" test -f $hello2_file || echo "no hello2 file: $hello2_file" -id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug" test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug" @@ -516,11 +516,11 @@ hello2_file=./usr/local/bin/hello2 test -f $hello_file || echo "no hello file: $hello_file" test -f $hello2_file || echo "no hello2 file: $hello2_file" -id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') -idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') +idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug" test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug" commit 09b5082f1073451423c6d5ebffed781e25472fd6 Author: Mark Wielaard Date: Mon Mar 20 09:27:05 2017 +0100 tests/rpmbuildid.at: Make file sed regexp more strict to extract BuildID. Like commit f0a5819 for rpmbuild.at. In the case of rpmbuildid.at the sed expression looked to work, but only matched by accident. Make the sed regexp more strict by only matching a hex-string. And properly "escape" [ and ] which inside an AT_CHECK should be [[ and ]]. Signed-off-by: Mark Wielaard diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at index 15c0620..1c06ca1 100644 --- a/tests/rpmbuildid.at +++ b/tests/rpmbuildid.at @@ -97,7 +97,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -120,7 +120,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello.debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -190,7 +190,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -213,7 +213,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -283,7 +283,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -306,7 +306,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello.debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -375,7 +375,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -398,7 +398,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -469,7 +469,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -492,7 +492,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello.debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -574,7 +574,7 @@ main_file=./usr/local/bin/hello test -f "${main_file}" || echo "No main file ${main_file}" # Extract the build-id from the main file -id_main=$(file $main_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}" test -L "$id_main_file" || echo "No build-id file $id_main_file" @@ -597,7 +597,7 @@ debug_file=./usr/lib/debug/usr/local/bin/hello-*debug test -f ${debug_file} || echo "No debug file ${debug_file}" # Extract the build-id from the .debug file -id_debug=$(file $debug_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') test ${id_main} = ${id_debug} || echo "unequal main and debug id" @@ -662,7 +662,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # alldebug not here... id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}" @@ -732,7 +732,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # alldebug not here... id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}" @@ -799,7 +799,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # separate build-ids split... id_file="./usr/lib/.build-id/${id:0:2}/${id:2}" @@ -866,7 +866,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # separate build-ids split... id_file="./usr/lib/.build-id/${id:0:2}/${id:2}" @@ -930,7 +930,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # compat build-ids split... id_file="./usr/lib/.build-id/${id:0:2}/${id:2}" @@ -1009,7 +1009,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \ hello_file=./usr/local/bin/hello # Extract the build-id from the main file -id=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # compat build-ids split... id_file="./usr/lib/.build-id/${id:0:2}/${id:2}" @@ -1084,7 +1084,7 @@ hello_file=./usr/local/bin/hello # Extract the build-id from the main file test -f $hello_file || echo "No $hello_file" -id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # Make sure we generate a new one rm $hello_file @@ -1101,7 +1101,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \ # Extract the build-id from the main file test -f $hello_file || echo "No $hello_file" -id2=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id2=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') if test "$id1" == "$id2"; then echo "equal $id1"; else echo "unequal"; fi ], @@ -1138,7 +1138,7 @@ hello_file=./usr/local/bin/hello # Extract the build-id from the main file test -f $hello_file || echo "No $hello_file" -id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') # Make sure we generate a new one rm $hello_file @@ -1157,7 +1157,7 @@ rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \ # Extract the build-id from the main file test -f $hello_file || echo "No $hello_file" -id2=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/') +id2=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/') if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi ],