Skip to content

Commit fdf6d51

Browse files
committed
tests: move the pkg-config test to a separate script
1 parent 5465283 commit fdf6d51

File tree

4 files changed

+78
-13
lines changed

4 files changed

+78
-13
lines changed

project.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ targets=tests
99
#targets
1010
[tests]
1111
type=command
12-
command=cd tests && (if [ -n "$(OBJDIR)" ]; then $(MAKE) OBJDIR="$(OBJDIR)tests/" "$(OBJDIR)tests/fixme.log" "$(OBJDIR)tests/shlint.log" "$(OBJDIR)tests/tests.log"; else $(MAKE) fixme.log shlint.log tests.log; fi)
12+
command=cd tests && (if [ -n "$(OBJDIR)" ]; then $(MAKE) OBJDIR="$(OBJDIR)tests/" "$(OBJDIR)tests/fixme.log" "$(OBJDIR)tests/pkgconfig.log" "$(OBJDIR)tests/shlint.log" "$(OBJDIR)tests/tests.log"; else $(MAKE) fixme.log pkgconfig.log shlint.log tests.log; fi)
1313
depends=all
1414
enabled=0
1515
phony=1

tests/pkgconfig.sh

Lines changed: 69 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,39 @@
2323
#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2424

2525

26+
2627
#variables
27-
PACKAGE="libApp"
28+
CONFIGSH="${0%/pkgconfig.sh}/../config.sh"
2829
PKG_CONFIG_PATH="$OBJDIR../data:$PKG_CONFIG_PATH"
2930
PKG_CONFIG_PATH="${PKG_CONFIG_PATH%:}"
31+
PROGNAME="pkgconfig.sh"
3032
#executables
3133
ECHO="echo"
3234
PKGCONFIG="pkg-config"
3335
UNAME="uname"
3436
[ "$($UNAME -s)" != "Darwin" ] || ECHO="/bin/echo"
3537

38+
[ -f "$CONFIGSH" ] && . "$CONFIGSH"
39+
40+
41+
#functions
42+
#pkgconfig
3643
_pkgconfig()
37-
{
44+
{(
45+
ret=0
46+
47+
_pkgconfig_do "EXISTS:" --exists "$PACKAGE" || return 2
48+
49+
_pkgconfig_do "VERSION:" --modversion "$PACKAGE" || ret=3
50+
_pkgconfig_do "CFLAGS: " --cflags "$PACKAGE" || ret=4
51+
_pkgconfig_do "LIBS: " --libs "$PACKAGE" || ret=5
52+
_pkgconfig_do "PROVIDES:" --print-provides "$PACKAGE" || ret=6
53+
_pkgconfig_do "REQUIRES:" --print-requires "$PACKAGE" || ret=7
54+
return $ret
55+
)}
56+
57+
_pkgconfig_do()
58+
{(
3859
ret=0
3960
caption="$1"
4061
options="$2"
@@ -45,16 +66,55 @@ _pkgconfig()
4566
ret=$?
4667
echo "$output"
4768
return $ret
69+
)}
70+
71+
72+
#usage
73+
_usage()
74+
{
75+
echo "Usage: $PROGNAME [-c] target..." 1>&2
76+
return 1
4877
}
4978

50-
_pkgconfig "EXISTS:" --exists "$PACKAGE" || exit 2
5179

52-
ret=0
80+
#main
81+
clean=0
82+
while getopts "cO:P:" name; do
83+
case "$name" in
84+
c)
85+
clean=1
86+
;;
87+
O)
88+
export "${OPTARG%%=*}"="${OPTARG#*=}"
89+
;;
90+
P)
91+
#XXX ignored for compatibility
92+
;;
93+
?)
94+
_usage
95+
exit $?
96+
;;
97+
esac
98+
done
99+
shift $((OPTIND - 1))
100+
if [ $# -lt 1 ]; then
101+
_usage
102+
exit $?
103+
fi
104+
105+
#clean
106+
[ $clean -ne 0 ] && exit 0
53107

54-
_pkgconfig "VERSION:" --modversion "$PACKAGE" || ret=3
55-
_pkgconfig "CFLAGS: " --cflags "$PACKAGE" || ret=4
56-
_pkgconfig "LIBS: " --libs "$PACKAGE" || ret=5
57-
_pkgconfig "PROVIDES:" --print-provides "$PACKAGE" || ret=6
58-
_pkgconfig "REQUIRES:" --print-requires "$PACKAGE" || ret=7
108+
exec 3>&1
109+
ret=0
110+
while [ $# -gt 0 ]; do
111+
target="$1"
112+
dirname="${target%/*}"
113+
shift
59114

115+
if [ -n "$dirname" -a "$dirname" != "$target" ]; then
116+
$MKDIR -- "$dirname" || ret=$?
117+
fi
118+
_pkgconfig > "$target" || ret=$?
119+
done
60120
exit $ret

tests/project.conf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
targets=AppBroker,Dummy.h,appclient,appinterface,appmessage,appserver,fixme.log,includes,lookup,shlint.log,tests.log,transport
1+
targets=AppBroker,Dummy.h,appclient,appinterface,appmessage,appserver,fixme.log,includes,lookup,pkgconfig.log,shlint.log,tests.log,transport
22
cppflags_force=-I../include -I. -I$(OBJDIR).
33
cflags_force=`pkg-config --cflags libSystem`
44
cflags=-W -Wall -g -O2 -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector
@@ -52,6 +52,12 @@ sources=includes.c
5252
type=binary
5353
sources=lookup.c
5454

55+
[pkgconfig.log]
56+
type=script
57+
script=./pkgconfig.sh
58+
depends=$(OBJDIR)../data/libApp.pc,pkgconfig.sh
59+
enabled=0
60+
5561
[shlint.log]
5662
type=script
5763
script=./shlint.sh
@@ -61,7 +67,7 @@ enabled=0
6167
[tests.log]
6268
type=script
6369
script=./tests.sh
64-
depends=Test.expected,Test.interface,$(OBJDIR)AppBroker$(EXEEXT),appbroker.sh,$(OBJDIR)appclient$(EXEEXT),$(OBJDIR)appmessage$(EXEEXT),$(OBJDIR)appserver$(EXEEXT),$(OBJDIR)includes$(EXEEXT),$(OBJDIR)lookup$(EXEEXT),pkgconfig.sh,tests.sh,$(OBJDIR)transport$(EXEEXT),../src/transport/tcp.c,../src/transport/udp.c
70+
depends=Test.expected,Test.interface,$(OBJDIR)AppBroker$(EXEEXT),appbroker.sh,$(OBJDIR)appclient$(EXEEXT),$(OBJDIR)appmessage$(EXEEXT),$(OBJDIR)appserver$(EXEEXT),$(OBJDIR)includes$(EXEEXT),$(OBJDIR)lookup$(EXEEXT),tests.sh,$(OBJDIR)transport$(EXEEXT),../src/transport/tcp.c,../src/transport/udp.c
6571
enabled=0
6672

6773
[transport]

tests/tests.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ while [ $# -ne 0 ]; do
162162
-n "tcp4:localhost:4242"
163163
APPSERVER_Session="tcp:localhost:4242" _test "lookup" \
164164
"lookup Session" -a "Session"
165-
_test "pkgconfig.sh" "pkg-config"
166165
_test "transport" "tcp4 127.0.0.1:4242" -p tcp4 127.0.0.1:4242
167166
_test "transport" "tcp4 localhost:4242" -p tcp4 localhost:4242
168167
_test "transport" "tcp6 ::1.4242" -p tcp6 ::1.4242

0 commit comments

Comments
 (0)