From a37fbac89affdd1d9bac06c0d26626f25f55e975 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Mon, 28 Sep 2020 20:44:29 +0000 Subject: [PATCH] test: run verbose abidiff on abi failure This will make it easier to know what specifically changed that requires the version bump. Use --impacted-interfaces argument to add further verbosity. Signed-off-by: Jim Harris Change-Id: I547d29f65323683c4096b738514ed4ac85ecd4d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4448 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Aleksey Marchuk --- test/make/check_so_deps.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/make/check_so_deps.sh b/test/make/check_so_deps.sh index 344f26b2b..1e458792a 100755 --- a/test/make/check_so_deps.sh +++ b/test/make/check_so_deps.sh @@ -22,6 +22,7 @@ suppression_file="$HOME/abigail_suppressions.ini" function confirm_abi_deps() { local processed_so=0 + local abidiff_output if ! hash abidiff; then echo "Unable to check ABI compatibility. Please install abidiff." @@ -45,6 +46,8 @@ function confirm_abi_deps() { EOF for object in "$libdir"/libspdk_*.so; do + abidiff_output=0 + so_file=$(basename $object) if [ ! -f "$source_abi_dir/$so_file" ]; then echo "No corresponding object for $so_file in canonical directory. Skipping." @@ -88,6 +91,7 @@ EOF if ((changed_leaf_types != 0)); then if ((new_so_maj == old_so_maj)); then + abidiff_output=1 touch $fail_file echo "Please update the major SO version for $so_file. A header accesible type has been modified since last release." fi @@ -96,6 +100,7 @@ EOF if ((removed_functions != 0)) || ((removed_vars != 0)); then if ((new_so_maj == old_so_maj)); then + abidiff_output=1 touch $fail_file echo "Please update the major SO version for $so_file. API functions or variables have been removed since last release." fi @@ -104,6 +109,7 @@ EOF if ((changed_functions != 0)) || ((changed_vars != 0)); then if ((new_so_maj == old_so_maj)); then + abidiff_output=1 touch $fail_file echo "Please update the major SO version for $so_file. API functions or variables have been changed since last release." fi @@ -112,6 +118,7 @@ EOF if ((added_functions != 0)) || ((added_vars != 0)); then if ((new_so_min == old_so_min && new_so_maj == old_so_maj)) && ! $found_abi_change; then + abidiff_output=1 touch $fail_file echo "Please update the minor SO version for $so_file. API functions or variables have been added since last release." fi @@ -143,6 +150,10 @@ EOF fi fi + if ((abidiff_output == 1)); then + "${cmd_args[@]}" --impacted-interfaces + fi + continue fi processed_so=$((processed_so + 1))