Add a test for the pkg-config file

This commit is contained in:
Pierre Pronchery 2016-05-16 17:22:39 +02:00
parent b907cee23e
commit 047d677cc3
3 changed files with 60 additions and 3 deletions

57
tests/pkgconfig.sh Executable file
View File

@ -0,0 +1,57 @@
#!/bin/sh
#$Id$
#Copyright (c) 2016 Pierre Pronchery <khorben@defora.org>
#This file is part of DeforaOS Desktop libDesktop
#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
#DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
#FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
#DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
#SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
#OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#variables
PACKAGE="libSystem"
PKG_CONFIG_PATH="$OBJDIR../data:$PKG_CONFIG_PATH"
PKG_CONFIG_PATH="${PKG_CONFIG_PATH%:}"
#executables
PKGCONFIG="pkg-config"
_pkgconfig()
{
ret=0
caption="$1"
options="$2"
packages="$3"
echo -n "$caption"
output=$($PKGCONFIG $options "$packages")
ret=$?
echo "$output"
return $ret
}
_pkgconfig "EXISTS:" --exists "$PACKAGE" || exit 2
ret=0
_pkgconfig "VERSION:" --modversion "$PACKAGE" || ret=3
_pkgconfig "CFLAGS: " --cflags "$PACKAGE" || ret=4
_pkgconfig "LIBS: " --libs "$PACKAGE" || ret=5
_pkgconfig "PROVIDES:" --print-provides "$PACKAGE" || ret=6
_pkgconfig "REQUIRES:" --print-requires "$PACKAGE" || ret=7
exit $ret

View File

@ -3,7 +3,7 @@ cppflags_force=-I ../include
cflags=-W -Wall -g -O2 -pedantic -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-all
ldflags_force=-L$(OBJDIR)../src -Wl,-rpath,$(OBJDIR)../src -lSystem
ldflags=-L$(PREFIX)/lib -Wl,-rpath,"$(PWD)/../src" -pie -Wl,-z,relro -Wl,-z,now
dist=COPYING,Makefile,config.conf,config-noeol.conf,pylint.sh,python.sh,tests.sh
dist=COPYING,Makefile,config.conf,config-noeol.conf,pkgconfig.sh,pylint.sh,python.sh,tests.sh
[array]
type=binary
@ -52,7 +52,7 @@ depends=../src/string.c
[tests.log]
type=script
script=./tests.sh
depends=$(OBJDIR)array$(EXEEXT),$(OBJDIR)config$(EXEEXT),config.conf,config-noeol.conf,$(OBJDIR)error$(EXEEXT),$(OBJDIR)event$(EXEEXT),$(OBJDIR)includes$(EXEEXT),python.sh,$(OBJDIR)string$(EXEEXT),tests.sh,$(OBJDIR)variable$(EXEEXT),$(OBJDIR)../src/libSystem.a
depends=$(OBJDIR)array$(EXEEXT),$(OBJDIR)config$(EXEEXT),config.conf,config-noeol.conf,$(OBJDIR)error$(EXEEXT),$(OBJDIR)event$(EXEEXT),$(OBJDIR)includes$(EXEEXT),pkgconfig.sh,python.sh,$(OBJDIR)string$(EXEEXT),tests.sh,$(OBJDIR)variable$(EXEEXT),$(OBJDIR)../src/libSystem.a
[variable]
type=binary

View File

@ -100,7 +100,7 @@ target="$1"
[ "$clean" -ne 0 ] && exit 0
tests="array config error event includes string variable"
tests="array config error event includes pkgconfig.sh string variable"
failures=
if $PKGCONFIG --exists python-2.7; then