[oe] [meta-networking][PATCH 1/1] geoip: add ptest functionality

Joe Slater jslater at windriver.com
Tue Jan 12 22:56:04 UTC 2016


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

Signed-off-by: Joe Slater <jslater at windriver.com>
---
 .../recipes-support/geoip/files/run-ptest          |   11 ++++++
 .../recipes-support/geoip/geoip_1.6.6.bb           |   38 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 meta-networking/recipes-support/geoip/files/run-ptest

diff --git a/meta-networking/recipes-support/geoip/files/run-ptest b/meta-networking/recipes-support/geoip/files/run-ptest
new file mode 100644
index 0000000..14e9619
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/files/run-ptest
@@ -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
diff --git a/meta-networking/recipes-support/geoip/geoip_1.6.6.bb b/meta-networking/recipes-support/geoip/geoip_1.6.6.bb
index 5037ae3..0605154 100644
--- a/meta-networking/recipes-support/geoip/geoip_1.6.6.bb
+++ b/meta-networking/recipes-support/geoip/geoip_1.6.6.bb
@@ -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
+}
+
+
+
-- 
1.7.9.5




More information about the Openembedded-devel mailing list