1*1b1b728bSAndrew Jeffery#!/usr/bin/sh 2*1b1b728bSAndrew Jefferyset -eu 3*1b1b728bSAndrew Jeffery 4*1b1b728bSAndrew JefferyBUILD="$(mktemp --directory --tmpdir=.)" 5*1b1b728bSAndrew Jefferytrap 'rm -rf "$BUILD"' EXIT 6*1b1b728bSAndrew Jeffery 7*1b1b728bSAndrew Jeffery# Ensure the test suite passes in the default configuration. Note 8*1b1b728bSAndrew Jeffery# that we don't specify -Dabi=... - the default is equivalent to 9*1b1b728bSAndrew Jeffery# -Dabi=deprecated,stable,testing. 10*1b1b728bSAndrew Jefferymeson setup -Dabi-compliance-check=disabled "$BUILD" 11*1b1b728bSAndrew Jefferymeson compile -C "$BUILD" 12*1b1b728bSAndrew Jefferymeson test -C "$BUILD" 13*1b1b728bSAndrew Jeffery 14*1b1b728bSAndrew Jeffery# Ensure the test suite passes in release mode. libpldm specifies 15*1b1b728bSAndrew Jeffery# -Db_ndebug=if-release by default, so building with --buildtype=release passes 16*1b1b728bSAndrew Jeffery# -DNDEBUG to the compiler for the library implementation. This build 17*1b1b728bSAndrew Jeffery# configuration will catch any unexpected changes in the library implementation 18*1b1b728bSAndrew Jeffery# and incorrect test case implementations. 19*1b1b728bSAndrew Jefferymeson configure --buildtype=release "$BUILD" 20*1b1b728bSAndrew Jefferymeson compile -C "$BUILD" 21*1b1b728bSAndrew Jefferymeson test -C "$BUILD" 22*1b1b728bSAndrew Jeffery 23*1b1b728bSAndrew Jeffery# Ensure the test suite links when testing symbols are removed from the ABI 24*1b1b728bSAndrew Jefferymeson configure --buildtype=debug "$BUILD" 25*1b1b728bSAndrew Jefferymeson configure -Dabi=deprecated,stable "$BUILD" 26*1b1b728bSAndrew Jefferymeson compile -C "$BUILD" 27*1b1b728bSAndrew Jefferymeson test -C "$BUILD" 28