geoip: add ptest functionality

Also make geoip package rdepend on geoip-database and
add symbolic link to GeoIPCity.dat.

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Joe Slater 2016-01-12 14:56:04 -08:00 committed by Joe MacDonald
parent 514149c972
commit a9c2fe6cd1
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,11 @@
#!/bin/sh
pdir=`dirname $0`
cd ${pdir}/tests
for i in ./benchmark ./test-geoip-city ; do
${i} 1>/dev/null 2>&1;
if [ $? == 0 ]; then
echo PASS: $i;
else
echo FAIL: $i;
fi;
done

View File

@ -13,6 +13,7 @@ SRC_URI = "git://github.com/maxmind/geoip-api-c.git \
http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \
http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \
file://run-ptest \
"
SRCREV = "ed3f3e2b87fba05a8f2a5b9b1328e7d55be8bf30"
@ -47,9 +48,46 @@ do_install() {
install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/
install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/
install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/
ln -s GeoLiteCity.dat ${D}${datadir}/GeoIP/GeoIPCity.dat
}
PACKAGES =+ "${PN}-database"
FILES_${PN}-database = ""
FILES_${PN}-database += "${datadir}/GeoIP/*"
# We cannot do much looking up without databases.
#
RDEPENDS_${PN} += "${PN}-database"
inherit ptest
do_configure_ptest() {
sed -i -e "s/noinst_PROGRAMS = /test_PROGRAMS = /g" \
-e 's:SRCDIR=\\"$(top_srcdir)\\":SRCDIR=\\"$(testdir)\\":' \
${S}/test/Makefile.am
if ! grep "^testdir = " ${S}/test/Makefile.am ; then
sed -e '/EXTRA_PROGRAMS = /itestdir = ${PTEST_PATH}/tests' \
-i ${S}/test/Makefile.am
fi
sed -i -e "s:/usr/local/share:/usr/share:g" \
${S}/test/benchmark.c
sed -i -e 's:"../data/:"/usr/share/GeoIP/:g' \
${S}/test/test-geoip-city.c \
${S}/test/test-geoip-isp.c \
${S}/test/test-geoip-asnum.c \
${S}/test/test-geoip-netspeed.c \
${S}/test/test-geoip-org.c \
${S}/test/test-geoip-region.c
}
do_install_ptest() {
oe_runmake -C test DESTDIR=${D} install-testPROGRAMS
install ${S}/test/*.txt ${D}${PTEST_PATH}/tests
}