11b1b728bSAndrew Jeffery#!/usr/bin/sh 21b1b728bSAndrew Jefferyset -eu 31b1b728bSAndrew Jeffery 41b1b728bSAndrew JefferyBUILD="$(mktemp --directory --tmpdir=.)" 51b1b728bSAndrew Jefferytrap 'rm -rf "$BUILD"' EXIT 61b1b728bSAndrew Jeffery 7e984a461SAndrew Jefferymeson format --recursive --inplace || true 8e984a461SAndrew Jefferygit diff --quiet 9e984a461SAndrew Jeffery 101b1b728bSAndrew Jeffery# Ensure the test suite passes in the default configuration. Note 111b1b728bSAndrew Jeffery# that we don't specify -Dabi=... - the default is equivalent to 121b1b728bSAndrew Jeffery# -Dabi=deprecated,stable,testing. 131b1b728bSAndrew Jefferymeson setup -Dabi-compliance-check=disabled "$BUILD" 141b1b728bSAndrew Jefferymeson compile -C "$BUILD" 151b1b728bSAndrew Jefferymeson test -C "$BUILD" 161b1b728bSAndrew Jeffery 171b1b728bSAndrew Jeffery# Ensure the test suite passes in release mode. libpldm specifies 181b1b728bSAndrew Jeffery# -Db_ndebug=if-release by default, so building with --buildtype=release passes 191b1b728bSAndrew Jeffery# -DNDEBUG to the compiler for the library implementation. This build 201b1b728bSAndrew Jeffery# configuration will catch any unexpected changes in the library implementation 211b1b728bSAndrew Jeffery# and incorrect test case implementations. 221b1b728bSAndrew Jefferymeson configure --buildtype=release "$BUILD" 231b1b728bSAndrew Jefferymeson compile -C "$BUILD" 24*0129c53dSAndrew Jefferymeson test -C "$BUILD" --timeout-multiplier 10 --wrapper 'valgrind --error-exitcode=1' 251b1b728bSAndrew Jeffery 261b1b728bSAndrew Jeffery# Ensure the test suite links when testing symbols are removed from the ABI 271b1b728bSAndrew Jefferymeson configure --buildtype=debug "$BUILD" 281b1b728bSAndrew Jefferymeson configure -Dabi=deprecated,stable "$BUILD" 291b1b728bSAndrew Jefferymeson compile -C "$BUILD" 301b1b728bSAndrew Jefferymeson test -C "$BUILD" 31