From a2ec9dc60a95f7137aded4bdd59d9396c5318526 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 16 May 2016 03:49:27 +0200 Subject: [PATCH] Add a test for Browser.pc --- tests/pkgconfig.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++++ tests/project.conf | 4 ++-- tests/tests.sh | 1 + 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100755 tests/pkgconfig.sh diff --git a/tests/pkgconfig.sh b/tests/pkgconfig.sh new file mode 100755 index 0000000..f24c115 --- /dev/null +++ b/tests/pkgconfig.sh @@ -0,0 +1,57 @@ +#!/bin/sh +#$Id$ +#Copyright (c) 2016 Pierre Pronchery +#This file is part of DeforaOS Desktop Browser +#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="Browser" +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 diff --git a/tests/project.conf b/tests/project.conf index 80a466f..3b7f792 100644 --- a/tests/project.conf +++ b/tests/project.conf @@ -4,7 +4,7 @@ cflags_force=`pkg-config --cflags libDesktop` cflags=-W -Wall -g -O2 -pedantic -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-all ldflags_force=`pkg-config --libs libDesktop` ldflags=-pie -Wl,-z,relro -Wl,-z,now -dist=Makefile,tests.sh +dist=Makefile,pkgconfig.sh,tests.sh [plugins] type=binary @@ -18,4 +18,4 @@ sources=vfs.c [tests.log] type=script script=./tests.sh -depends=$(OBJDIR)plugins$(EXEEXT),$(OBJDIR)vfs$(EXEEXT),tests.sh +depends=pkgconfig.sh,$(OBJDIR)plugins$(EXEEXT),$(OBJDIR)vfs$(EXEEXT),tests.sh diff --git a/tests/tests.sh b/tests/tests.sh index f252c3c..2fae87e 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -112,6 +112,7 @@ target="$1" $DATE > "$target" FAILED= echo "Performing tests:" 1>&2 +_test "pkgconfig.sh" _test "plugins" [ -z "$DISPLAY" ] || _test "vfs" #echo "Expected failures:" 1>&2