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 <james.r.harris@intel.com> Change-Id: I547d29f65323683c4096b738514ed4ac85ecd4d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4448 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
3e159ecf8e
commit
a37fbac89a
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user