1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Merge pull request #9174 from billatarm/3.6-add-pc-test

[BACKPORT 3.6] tests: add a test for pkg-config files
This commit is contained in:
Paul Elliott
2024-09-11 21:14:29 +00:00
committed by GitHub
2 changed files with 42 additions and 0 deletions

View File

@ -108,10 +108,15 @@ component_test_cmake_as_package () {
make neat
msg "build: cmake 'as-package' build"
root_dir="$(pwd)"
cd programs/test/cmake_package
build_variant_dir="$(pwd)"
cmake .
make
./cmake_package
if [[ "$OSTYPE" == linux* ]]; then
PKG_CONFIG_PATH="${build_variant_dir}/mbedtls/pkgconfig" ${root_dir}/tests/scripts/pkgconfig.sh
fi
}
support_test_cmake_as_package () {

37
tests/scripts/pkgconfig.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
#
# Copyright The Mbed TLS Contributors
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
#
# Purpose
#
# Test pkgconfig files.
#
# For each of the build pkg-config files, .pc files, check that
# they validate and do some basic sanity testing on the output,
# i.e. that the strings are non-empty.
#
# NOTE: This requires the built pc files to be on the pkg-config
# search path, this can be controlled with env variable
# PKG_CONFIG_PATH. See man(1) pkg-config for details.
#
set -e -u
# These are the EXPECTED package names. Renaming these could break
# consumers of pkg-config, consider carefully.
all_pcs="mbedtls mbedx509 mbedcrypto"
for pc in $all_pcs; do
printf "testing package config file: ${pc} ... "
pkg-config --validate "${pc}"
version="$(pkg-config --modversion "${pc}")"
test -n "$version"
cflags="$(pkg-config --cflags "${pc}")"
test -n "$cflags"
libs="$(pkg-config --libs "${pc}")"
test -n "$libs"
printf "passed\n"
done
exit 0