Skip to content

Commit

Permalink
tests: add a test for pkg-config files
Browse files Browse the repository at this point in the history
Add a test that does some basic validation of the pkg-config files.

Example run:
./tests/scripts/all.sh test_cmake_as_package
******************************************************************
* test_cmake_as_package: build: cmake 'as-package' build
* Mon Apr 29 12:33:32 PM CDT 2024
******************************************************************
cmake .
make
Built against Mbed TLS 3.5.2
testing: mbedtls ... passed
testing: mbedx509 ... passed
testing: mbedcrypto ... passed
make clean

Signed-off-by: Bill Roberts <bill.roberts@arm.com>
  • Loading branch information
billatarm committed Apr 30, 2024
1 parent 611f899 commit 3d696c2
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
2 changes: 2 additions & 0 deletions tests/scripts/all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6222,10 +6222,12 @@ component_test_cmake_as_package () {
make neat
msg "build: cmake 'as-package' build"
root_dir="$(pwd)"
cd programs/test/cmake_package
cmake .
make
./cmake_package
PKG_CONFIG_PATH="${root_dir}/pkgconfig" ${root_dir}/tests/scripts/pkgconfig.sh
}
support_test_cmake_as_package () {
support_test_cmake_out_of_source
Expand Down
35 changes: 35 additions & 0 deletions tests/scripts/pkgconfig.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/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,
# ie. 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

all_pcs=("mbedtls" "mbedx509" "mbedcrypto")

for pc in "${all_pcs[@]}"; do
echo -n "testing: ${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"
echo "passed"
done

exit 0

0 comments on commit 3d696c2

Please sign in to comment.