summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2010-05-02 22:30:19 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2010-05-02 22:30:19 +0000
commit41f7933e91030cdd6c4af562cbce2ea34ebb59a1 (patch)
tree7432244e8201b09fdc41cce15e5e10664678dba2 /dev-db
parentPunt xfce4-volstatus-icon, unported to latest exo API and still using HAL. Ca... (diff)
downloadhistorical-41f7933e91030cdd6c4af562cbce2ea34ebb59a1.tar.gz
historical-41f7933e91030cdd6c4af562cbce2ea34ebb59a1.tar.bz2
historical-41f7933e91030cdd6c4af562cbce2ea34ebb59a1.zip
Bug #316767: implement a full src_test that does server setup first.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/redis/ChangeLog5
-rw-r--r--dev-db/redis/Manifest4
-rw-r--r--dev-db/redis/redis-1.2.5.ebuild44
3 files changed, 47 insertions, 6 deletions
diff --git a/dev-db/redis/ChangeLog b/dev-db/redis/ChangeLog
index 388427df926a..14aac6afbff7 100644
--- a/dev-db/redis/ChangeLog
+++ b/dev-db/redis/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for dev-db/redis
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.3 2010/03/25 19:01:03 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.4 2010/05/02 22:30:19 robbat2 Exp $
+
+ 02 May 2010; Robin H. Johnson <robbat2@gentoo.org> redis-1.2.5.ebuild:
+ Bug #316767: implement a full src_test that does server setup first.
25 Mar 2010; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
Add lu_zero as another maintainer.
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 81e2abd91fcb..838cab8c8285 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -3,6 +3,6 @@ AUX configure.ac-1.02 1496 RMD160 41e3f453f993020ce6477392fed18261c199a9a5 SHA1
AUX redis.confd 450 RMD160 237a72f30b3ba5c77e7dd31d2dfebc2db2cea2ad SHA1 4c298810900f0e627cd3f7bf480feb639b6cc2d5 SHA256 8c68e29dc88c8ad99b9212a448d313d1406ef02c7638398b2e48ea1ca8aa937b
AUX redis.initd 859 RMD160 a5718f3b4eab11450223c21bc98ab75d408e932e SHA1 ba3237364dba1da920ec4f14c13ff2cd45062144 SHA256 8b25b60bca695a8393e381078b2a42330c1b6cc2953bbe3c1b7cbd41ca36fe5d
DIST redis-1.2.5.tar.gz 204039 RMD160 c2c6606a4d4607f897f673cf0e32f76e51794571 SHA1 f28d840d8100586796cab02ccd8e91545a92179d SHA256 43bbb937b530cf736c19110dae8cd71d3369b2a6129654396956e62683902025
-EBUILD redis-1.2.5.ebuild 2183 RMD160 81c9de387c1aa300a2296224cc5011797a237e74 SHA1 26b7ba671a3dfebca07985e3d7ba1487d3016086 SHA256 fca827362e25ed5fa6571815cf16aa5a31e688f16b1f262d37febeb3aa315ac1
-MISC ChangeLog 792 RMD160 8bc31a8c6400e3ea22103e64b60de5bbdc68b13e SHA1 4df3bcf5ba30a5b606c37cb377aa1132bafca0f0 SHA256 23bee8d3f0cf69d6be75275f29b0d8f104518151956994a2182b34e537eb9ba6
+EBUILD redis-1.2.5.ebuild 3382 RMD160 59ad60e5b95b488d2e603993817d1aef4e9d8d15 SHA1 8d707e999466e15c3f6c39cb6c59a248b12161d4 SHA256 aad2446c8b9cb4bf66cc995f87de30783c8b5e6e6d6dca949cf293318beb8b17
+MISC ChangeLog 937 RMD160 0426eaebdffe6e0d607041e009d7050b25f7c79b SHA1 b093aa366f910320494a55269f4644b859e41741 SHA256 44fc045607fd49fa0f8ee91ac07dbf999167d9b97293d8be1646d5172667b04a
MISC metadata.xml 286 RMD160 796347dd794b46c810de136066b1c310e84e5c73 SHA1 8044d4fb86e7f0172aefb8ae554632a1a1a22210 SHA256 b32cc88172bf73d4e6d06b599b5f6cfde057fe487e5f285c081bd772711352d4
diff --git a/dev-db/redis/redis-1.2.5.ebuild b/dev-db/redis/redis-1.2.5.ebuild
index 909addc3a48c..2950a0fe64e0 100644
--- a/dev-db/redis/redis-1.2.5.ebuild
+++ b/dev-db/redis/redis-1.2.5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-1.2.5.ebuild,v 1.2 2010/03/25 07:36:36 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-1.2.5.ebuild,v 1.3 2010/05/02 22:30:19 robbat2 Exp $
EAPI=2
@@ -12,11 +12,11 @@ SRC_URI="http://redis.googlecode.com/files/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="test"
SLOT="0"
RDEPEND=""
-DEPEND=""
+DEPEND="test? ( dev-lang/tcl )"
REDIS_PIDDIR=/var/run/redis/
REDIS_PIDFILE=${REDIS_PIDDIR}/redis.pid
@@ -79,3 +79,41 @@ src_install() {
diropts -m0750 -o redis -g redis
keepdir ${REDIS_DATAPATH} ${REDIS_LOGFILE} ${REDIS_PIDDIR}
}
+
+src_test() {
+ local PORT=$(((RANDOM % 32767)+32768))
+ local PIDFILE=redis-test.pid
+ einfo "Preparing redis test config"
+ # The port number is hardcoded in lots of places
+ sed -r <redis.conf >redis-test.conf \
+ -e "/^pidfile/s~ .*~ ${PIDFILE}~" \
+ -e '/^daemonize/s~ no~ yes~' \
+ -e "/^port/s~ [0-9]+~ ${PORT}~" \
+ -e '/^(# )?bind/s,^,#,g' \
+ -e '/\<bind\>/abind 127.0.0.1' \
+ || die "Failed to build test server config"
+ # The port number is hardcoded in lots of places
+ for i in test-redis.tcl redis.tcl ; do
+ sed -r <$i >${i/.tcl/-${PORT}.tcl} \
+ -e "/^source redis.tcl/s,redis.tcl,redis-${PORT}.tcl,g" \
+ -e "/6379/s~6379~${PORT}~" \
+ || die "Failed to build test client config ($i)"
+ done
+ einfo "Starting test server"
+ ./redis-server redis-test.conf
+ rc1=$?
+ sleep 2
+ [[ $rc1 -ne 0 ]] && die "Failed to start redis server!"
+ pidof redis-server | fgrep -f ${PIDFILE}
+ rc1=$?
+ [[ $rc1 -ne 0 ]] && die "Could not find started redis server!"
+ unset rc1
+
+ einfo "Starting redis tests"
+ tclsh test-redis-$PORT.tcl
+ rc1=$?
+ kill -9 $(<${PIDFILE})
+ rc2=$?
+ [[ $rc1 -ne 0 ]] && die "Failed testsuite"
+ [[ $rc2 -ne 0 ]] && die "Failed to shut down redis server"
+}