ut_telepathyplugin: Only load required plugins when running contactsd
[qtcontacts-tracker:fmeerkoetters-contactsd.git] / tests / ut_telepathyplugin / with-daemon.sh.in
1 #! /bin/sh
2
3 # This file is part of Contacts daemon
4 #
5 # Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
6 #
7 # Contact:  Nokia Corporation (info@qt.nokia.com)
8 #
9 # GNU Lesser General Public License Usage
10 # This file may be used under the terms of the GNU Lesser General Public License
11 # version 2.1 as published by the Free Software Foundation and appearing in the
12 # file LICENSE.LGPL included in the packaging of this file.  Please review the
13 # following information to ensure the GNU Lesser General Public License version
14 # 2.1 requirements will be met:
15 # http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
16 #
17 # In addition, as a special exception, Nokia gives you certain additional rights.
18 # These rights are described in the Nokia Qt LGPL Exception version 1.1, included
19 # in the file LGPL_EXCEPTION.txt in this package.
20 #
21 # Other Usage
22 # Alternatively, this file may be used in accordance with the terms and
23 # conditions contained in a signed written agreement between you and Nokia.
24
25 set -e
26
27 cleanup ()
28 {
29   kill -INT $contactsd_pid
30   tracker-control -r > /dev/null
31 }
32 trap cleanup INT HUP TERM
33
34 tracker-control -r > /dev/null
35 /usr/lib/tracker/tracker-store >/dev/null 2>&1 &
36
37 # Start the unit test in background so it register the AM
38 "$@" &
39 ut_pid=$!
40
41 # Wait for AM to appear on the bus
42 # FIXME: It is ugly to hardcode such path
43 /usr/lib/mission-control/mcclient6-wait-for-name "org.freedesktop.Telepathy.AccountManager"
44
45 # Start Contacts Daemon in background
46 export CONTACTSD_PLUGINS_DIRS=@PLUGINDIR@
47 export CONTACTSD_DIRECT_GC=1
48 # We load only the needed plugins (to avoid eg. voicemail creating contacts), and
49 # still keep MfE since it crashes when unloaded before init() is called
50 @BINDIR@/contactsd --plugins telepathy,garbage-collector,MfeSyncPlugin &
51 contactsd_pid=$!
52
53 # wait for unit test to finish
54 e=0
55 wait $ut_pid || e=$?
56
57 trap - INT HUP TERM
58 cleanup
59
60 exit $e