diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml deleted file mode 100644 index af84ec01..00000000 --- a/.github/workflows/asan.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Asan Test - -# START OF COMMON SECTION -on: - push: - branches: [ '*' ] - pull_request: - branches: [ '*' ] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -# END OF COMMON SECTION - -jobs: - make_check: - name: asan test - runs-on: ubuntu-latest - # This should be a safe limit for the tests to run. - timeout-minutes: 10 - steps: - - uses: actions/checkout@v4 - name: Checkout wolfProvider - - - name: Test wolfProvider - run: | - WOLFPROV_CONFIG_CFLAGS="-static-libasan -fsanitize=address,undefined -g" ./scripts/build-wolfprovider.sh - - - name: Print errors - if: ${{ failure() }} - run: | - if [ -f test-suite.log ] ; then - cat test-suite.log - fi - diff --git a/.github/workflows/openssl-version.yml b/.github/workflows/openssl-version.yml index 42b1c10b..b9b96d1f 100644 --- a/.github/workflows/openssl-version.yml +++ b/.github/workflows/openssl-version.yml @@ -77,7 +77,9 @@ jobs: - name: Build and test wolfProvider run: | - WOLFPROV_CONFIG_CFLAGS="-static-libasan -fsanitize=address,undefined -g" \ + OPENSSL_CFLAGS="-static-libasan -fsanitize=address,undefined -g" \ + OPENSSL_CXXFLAGS="-static-libasan -fsanitize=address,undefined -g" \ + OPENSSL_LDFLAGS="-fsanitize=address,undefined -static-libasan" \ OPENSSL_TAG=${{ matrix.openssl_ref }} \ WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \ ./scripts/build-wolfprovider.sh diff --git a/scripts/env-setup b/scripts/env-setup index fff5c179..197122b9 100755 --- a/scripts/env-setup +++ b/scripts/env-setup @@ -67,7 +67,7 @@ fi export OPENSSL_CONF="${OPENSSL_CONF:=$DEFAULT_PROVIDER_CONF}" export OPENSSL_MODULES="${OPENSSL_MODULES:=$WOLFPROV_LIB_PATH}" -export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:=$OPENSSL_LIB_PATH/pkgconfig:$REPO_ROOT/libdefault-stub-install/lib}" +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:=$OPENSSL_LIB_PATH/pkgconfig}" # Other variables used by test scripts export WOLFPROV_PATH="${WOLFPROV_LIB_PATH}" diff --git a/scripts/utils-openssl.sh b/scripts/utils-openssl.sh index 918df3f9..9a878079 100755 --- a/scripts/utils-openssl.sh +++ b/scripts/utils-openssl.sh @@ -32,6 +32,9 @@ OPENSSL_INSTALL_DIR=${SCRIPT_DIR}/../openssl-install OPENSSL_BIN=${OPENSSL_INSTALL_DIR}/bin/openssl OPENSSL_TEST=${OPENSSL_SOURCE_DIR}/test OPENSSL_LIB_DIRS="${OPENSSL_INSTALL_DIR}/lib:${OPENSSL_INSTALL_DIR}/lib64" +OPENSSL_CFLAGS=${OPENSSL_CFLAGS:-""} +OPENSSL_CXXFLAGS=${OPENSSL_CXXFLAGS:-""} +OPENSSL_LDFLAGS=${OPENSSL_LDFLAGS:-""} NUMCPU=${NUMCPU:-8} WOLFPROV_DEBUG=${WOLFPROV_DEBUG:-0} @@ -227,6 +230,10 @@ install_openssl() { fi printf "Done.\n" + export CFLAGS="${OPENSSL_CFLAGS}" + export CXXFLAGS="${OPENSSL_CXXFLAGS}" + export LDFLAGS="${OPENSSL_LDFLAGS}" + printf "\tBuild OpenSSL ${OPENSSL_TAG} ... " make -j$NUMCPU >>$LOG_FILE 2>&1 if [ $? != 0 ]; then diff --git a/scripts/utils-wolfprovider.sh b/scripts/utils-wolfprovider.sh index 1d669640..98d19247 100644 --- a/scripts/utils-wolfprovider.sh +++ b/scripts/utils-wolfprovider.sh @@ -130,32 +130,42 @@ install_wolfprov() { fi printf "Done.\n" + # Install prior to test so that the library is present in the known location. + printf "\tInstall wolfProvider ... " + make install >>$LOG_FILE 2>&1 + if [ $? != 0 ]; then + printf "\n\n...\n" + tail -n 40 $LOG_FILE + do_cleanup + exit 1 + fi + printf "Done.\n" + # Build the replacement default library after wolfprov to avoid linker errors # but before testing so that the library is present if needed if [ "$WOLFPROV_REPLACE_DEFAULT" = "1" ]; then printf "\tWARNING: Skipping tests in replace mode...\n" else + # Setup the environment to ensure we use the local builds of wolfprov, wolfssl, and openssl. + if ! source ${SCRIPT_DIR}/env-setup >/dev/null 2>&1; then + printf "\n\nError: Failed to source env-setup\n" + do_cleanup + exit 1 + fi + printf "\tTest wolfProvider ... " make test >>$LOG_FILE 2>&1 if [ $? != 0 ]; then printf "\n\n...\n" tail -n 40 $LOG_FILE + # Clean up the install directory + make uninstall >>$LOG_FILE 2>&1 || true do_cleanup exit 1 fi printf "Done.\n" fi - printf "\tInstall wolfProvider ... " - make install >>$LOG_FILE 2>&1 - if [ $? != 0 ]; then - printf "\n\n...\n" - tail -n 40 $LOG_FILE - do_cleanup - exit 1 - fi - printf "Done.\n" - popd &> /dev/null } @@ -174,9 +184,6 @@ init_wolfprov() { install_wolfprov fi printf "\twolfProvider installed in: ${WOLFPROV_INSTALL_DIR}\n" - - export OPENSSL_MODULES=$WOLFPROV_PATH - export OPENSSL_CONF=${WOLFPROV_CONFIG} fi }