From d74e4a7c9c6241fc4b35128a7c5d615bfc364956 Mon Sep 17 00:00:00 2001 From: yhirose Date: Fri, 14 Feb 2025 14:10:06 -0500 Subject: [PATCH] Removed incomplete API compatibility check scripts. --- test/check-abi-compatibility.sh | 59 ------------------- .../check-shared-library-abi-compatibility.sh | 58 ------------------ 2 files changed, 117 deletions(-) delete mode 100755 test/check-abi-compatibility.sh delete mode 100755 test/check-shared-library-abi-compatibility.sh diff --git a/test/check-abi-compatibility.sh b/test/check-abi-compatibility.sh deleted file mode 100755 index ec3b211..0000000 --- a/test/check-abi-compatibility.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -if [ "$#" -ne 2 ]; then - echo "Usage: $0 old_library.so new_library.so" - exit 1 -fi - -OLD_LIB=$1 -NEW_LIB=$2 - -OLD_FUNCS=_old_funcs.txt -NEW_FUNCS=_new_funcs.txt -OLD_VARS=_old_vars.txt -NEW_VARS=_new_vars.txt - -# Extract function symbols from the old and new libraries -nm -C --defined-only $OLD_LIB | c++filt | awk '$2 ~ /[TWt]/ {print substr($0, index($0,$3))}' | sort > $OLD_FUNCS -nm -C --defined-only $NEW_LIB | c++filt | awk '$2 ~ /[TWt]/ {print substr($0, index($0,$3))}' | sort > $NEW_FUNCS - -# Extract variable symbols from the old and new libraries -nm -C --defined-only $OLD_LIB | c++filt | awk '$2 ~ /[BDGVs]/ {print substr($0, index($0,$3))}' | sort > $OLD_VARS -nm -C --defined-only $NEW_LIB | c++filt | awk '$2 ~ /[BDGVs]/ {print substr($0, index($0,$3))}' | sort > $NEW_VARS - -# Initialize error flag and message -error_flag=0 -error_message="" - -# Check for removed function symbols -removed_funcs=$(comm -23 $OLD_FUNCS $NEW_FUNCS) -if [ -n "$removed_funcs" ]; then - error_flag=1 - error_message+="[Removed Functions]\n$removed_funcs\n\n" -fi - -# Check for removed variable symbols -removed_vars=$(comm -23 $OLD_VARS $NEW_VARS) -if [ -n "$removed_vars" ]; then - error_flag=1 - error_message+="[Removed Variables]\n$removed_vars\n\n" -fi - -# Check for added variable symbols -added_vars=$(comm -13 $OLD_VARS $NEW_VARS) -if [ -n "$added_vars" ]; then - error_flag=1 - error_message+="[Added Variables]\n$added_vars\n\n" -fi - -# Remove temporary files -rm -f $NEW_FUNCS $OLD_FUNCS $OLD_VARS $NEW_VARS - -# Display error messages if any -if [ "$error_flag" -eq 1 ]; then - echo -en "$error_message" - echo "ABI compatibility check failed." - exit 1 -fi - -echo "ABI compatibility check passed: No variable symbols were removed or added, and no function symbols were removed." -exit 0 diff --git a/test/check-shared-library-abi-compatibility.sh b/test/check-shared-library-abi-compatibility.sh deleted file mode 100755 index 18eb43f..0000000 --- a/test/check-shared-library-abi-compatibility.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -PREVIOUS_VERSION=$(git describe --tags --abbrev=0 master) -BUILD_DIR=_build_for_abi_compatibility_check - -# Make the build directory -rm -rf $BUILD_DIR -mkdir -p $BUILD_DIR/new -mkdir -p $BUILD_DIR/old - -cd $BUILD_DIR - -# Build the current commit -cd new - -cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_CXX_FLAGS="-g -Og" \ - -DBUILD_SHARED_LIBS=ON \ - -DHTTPLIB_COMPILE=ON \ - -DCMAKE_INSTALL_PREFIX=./out \ - ../../.. > /dev/null - -cmake --build . --target install > /dev/null -cmake --build . --target clean > /dev/null - -cd .. - -# Build the nearest vesion -cd old - -cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_CXX_FLAGS="-g -Og" \ - -DBUILD_SHARED_LIBS=ON \ - -DHTTPLIB_COMPILE=ON \ - -DCMAKE_INSTALL_PREFIX=./out \ - ../../.. > /dev/null - -git checkout -q "${PREVIOUS_VERSION}" -cmake --build . --target install > /dev/null -cmake --build . --target clean > /dev/null - -cd .. - -# Checkout the original commit -git checkout -q master - -# ABI compatibility check -if [[ "$OSTYPE" == "linux-gnu"* ]]; then - ../check-abi-compatibility.sh ./old/out/lib/libcpp-httplib.so ./new/out/lib/libcpp-httplib.so - exit $? -elif [[ "$OSTYPE" == "darwin"* ]]; then - ../check-abi-compatibility.sh ./old/out/lib/libcpp-httplib.dylib ./new/out/lib/libcpp-httplib.dylib - exit $? -else - echo "Unknown OS..." - exit 1 -fi