Implemented testcases for gbs import.
authorEd Bartosh <eduard.bartosh@intel.com>
Thu, 9 Aug 2012 15:40:22 +0000 (18:40 +0300)
committerEd Bartosh <eduard.bartosh@intel.com>
Wed, 15 Aug 2012 08:54:35 +0000 (11:54 +0300)
This is a first real set of testcases for the gbs module. Testcases were
taken from gbs-auto-test project (Thanks, guys!) and integrated into
existing continuous integration infrastructure. Some new testcase have
been added to increase test coverage.

Change-Id: I0d8c7379d1d87919d1b9f2863480e1a6451793f7

22 files changed:
setup.cfg [new file with mode: 0644]
tests/02_test_import.py [new file with mode: 0644]
tests/testdata/ConsoleKit-0.4.5.zip [new file with mode: 0644]
tests/testdata/ail-0.2.29-2.3.src.rpm [new file with mode: 0644]
tests/testdata/ail-0.2.29-2.5.src.rpm [new file with mode: 0644]
tests/testdata/app-core-1.2-19.3.src.rpm [new file with mode: 0644]
tests/testdata/bad.spec [new file with mode: 0644]
tests/testdata/bad.src.rpm [new file with mode: 0644]
tests/testdata/bison-1.27.tar.gz [new file with mode: 0644]
tests/testdata/bluez_unpacked/Makefile [new file with mode: 0644]
tests/testdata/bluez_unpacked/bluetooth.init [new file with mode: 0644]
tests/testdata/bluez_unpacked/bluez-4.87.tar.gz [new file with mode: 0644]
tests/testdata/bluez_unpacked/bluez-fsync.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/bluez.changes [new file with mode: 0644]
tests/testdata/bluez_unpacked/bluez.spec [moved from tests/testdata/bluez.spec with 99% similarity]
tests/testdata/bluez_unpacked/bluez.yaml [new file with mode: 0644]
tests/testdata/bluez_unpacked/disable-hal-plugin.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/enable_HFP.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/install-more-binary-test.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/install-test-scripts.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/powered.patch [new file with mode: 0644]
tests/testdata/bluez_unpacked/remove-duplicate-wrong-udev-rule-for-dell-mice.patch [new file with mode: 0644]

diff --git a/setup.cfg b/setup.cfg
new file mode 100644 (file)
index 0000000..d0e0c4d
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,2 @@
+[nosetests]
+cover-package=gitbuildsys
diff --git a/tests/02_test_import.py b/tests/02_test_import.py
new file mode 100644 (file)
index 0000000..a554f59
--- /dev/null
@@ -0,0 +1,162 @@
+#!/usr/bin/python -tt
+# vim: ai ts=4 sts=4 et sw=4
+#
+# Copyright (c) 2012 Intel, Inc.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; version 2 of the License
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc., 59
+# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+"""Functionality tests of gbs import."""
+
+import os
+import shutil
+import unittest
+import tempfile
+import imp
+
+from functools import wraps
+
+from nose.tools import eq_, raises
+
+from gbp.git.repository import GitRepository
+
+GBS = imp.load_source("gbs", "./tools/gbs").Gbs
+
+def with_data(fname):
+    """
+    Parametrized decorator for testcase methods.
+    Gets name of the directory or file in tests/testdata/
+    Copies it to the temporary working directory and
+    runs testcase method there.
+    Adds fname as a parameter for the testcase method
+
+    """
+    def decorator(func):
+        """Decorator itself."""
+        @wraps(func)
+        def wrapper(*args, **kwargs):
+            """Main functionality is here."""
+            obj = args[0] # TestCase object
+            # Copy required data(fname) to object temporary directory
+            fpath = os.path.join(obj.cdir, "./tests/testdata", fname)
+            if os.path.isdir(fpath):
+                shutil.copytree(fpath, os.path.join(obj.tmp, fname))
+            else:
+                shutil.copy(fpath, obj.tmp)
+            # Append fname to testcase method parameters
+            args = list(args)
+            args.append(fpath)
+            args = tuple(args)
+            return func(*args, **kwargs)
+        return wrapper
+    return decorator
+
+class TestImport(unittest.TestCase):
+    """Test help output of gbs commands"""
+
+    def __init__(self, method):
+        super(TestImport, self).__init__(method)
+        self.gbs = GBS().main
+
+    def setUp(self):
+        self.tmp = tempfile.mkdtemp(prefix="test-gbs-import-")
+        shutil.copy('.gbs.conf', self.tmp)
+        self.cdir = os.getcwd()
+        os.chdir(self.tmp)
+
+    def tearDown(self):
+        os.chdir(self.cdir)
+        shutil.rmtree(self.tmp)
+
+    @with_data("ail-0.2.29-2.3.src.rpm")
+    def test_import_srcrpm(self, srcrpm):
+        """Test importing from source rpm."""
+        eq_(self.gbs(argv=["gbs", "import", srcrpm]), None)
+        repo = GitRepository("./ail")
+        eq_(repo.get_local_branches(), ['master', 'upstream'])
+        eq_(repo.get_tags(), ['upstream/0.2.29', 'vendor/0.2.29-2.3'])
+
+    @with_data("bluez_unpacked")
+    def test_import_spec(self, srcdir):
+        """Test importing from spec."""
+        eq_(self.gbs(argv=["gbs", "import",
+                           os.path.join(srcdir, 'bluez.spec')]), None)
+        repo = GitRepository("./bluez")
+        eq_(repo.get_local_branches(), ['master', 'upstream'])
+        eq_(repo.get_tags(), ['upstream/4.87', 'vendor/4.87-1'])
+
+        #raise Exception(os.listdir('./bluez'))
+
+    @with_data("ail-0.2.29-2.5.src.rpm")
+    def test_running_from_git_tree(self, srcrpm):
+        """Test running gbs import from git tree."""
+        # Create empty git repo
+        repo = GitRepository.create("./repo_dir")
+        os.chdir(repo.path)
+        eq_(self.gbs(argv=["gbs", "import", srcrpm]), None)
+        eq_(repo.get_local_branches(), ['master', 'upstream'])
+        eq_(repo.get_tags(), ['upstream/0.2.29', 'vendor/0.2.29-2.5'])
+
+        #raise Exception(os.listdir('./bluez'))
+
+    @with_data("app-core-1.2-19.3.src.rpm")
+    def test_set_author_name_email(self, srcrpm):
+        """Test --author-name and --author-email command line options."""
+        eq_(self.gbs(argv=["gbs", "import", "--author-name=test",
+                           "--author-email=test@otctools.jf.intel.com",
+                           srcrpm]), None)
+        repo = GitRepository("./app-core")
+        eq_(repo.get_local_branches(), ['master', 'upstream'])
+        eq_(repo.get_tags(), ['upstream/1.2', 'vendor/1.2-19.3'])
+
+    @with_data("ail-0.2.29-2.3.src.rpm")
+    def test_specify_upstream(self, srcrpm):
+        """Test --upstream command line option."""
+        eq_(self.gbs(argv=["gbs", "import", "--upstream=upstream",
+                             srcrpm]), None)
+        repo = GitRepository("./ail")
+        eq_(repo.get_local_branches(), ['master', 'upstream'])
+        eq_(repo.get_tags(), ['upstream/0.2.29', 'vendor/0.2.29-2.3'])
+
+    @raises(SystemExit)
+    @with_data("bison-1.27.tar.gz")
+    def test_is_not_git_repository(self, tarball):
+        """Test raising exception when importing tarball outside of git."""
+        self.gbs(argv=["gbs", "import", tarball])
+
+    @raises(SystemExit)
+    @with_data("bad.src.rpm")
+    def test_error_reading_pkg_header(self, srcrpm):
+        """Test raising exception when importing from bad package."""
+        self.gbs(argv=["gbs", "import", srcrpm])
+
+    @raises(SystemExit)
+    @with_data("bad.spec")
+    def test_cant_parse_specfile(self, spec):
+        """Test raising exception when importing from non-parseable spec."""
+        self.gbs(argv=["gbs", "import", spec])
+
+    @raises(SystemExit)
+    def test_missing_argument(self):
+        """Test raising exception when running gbs without any arguments."""
+        self.gbs(argv=["gbs", "import"])
+
+    @raises(SystemExit)
+    def test_too_many_arguments(self):
+        """Test raising exception when running gbs with too many arguments."""
+        self.gbs(argv=["gbs", "import", "1", "2"])
+
+    @raises(SystemExit)
+    def test_path_doesnt_exist(self):
+        """Test raising exception when running gbs with not existing path."""
+        self.gbs(argv=["gbs", "import", "I don't exist!"])
diff --git a/tests/testdata/ConsoleKit-0.4.5.zip b/tests/testdata/ConsoleKit-0.4.5.zip
new file mode 100644 (file)
index 0000000..4e60dfc
Binary files /dev/null and b/tests/testdata/ConsoleKit-0.4.5.zip differ
diff --git a/tests/testdata/ail-0.2.29-2.3.src.rpm b/tests/testdata/ail-0.2.29-2.3.src.rpm
new file mode 100644 (file)
index 0000000..c6e9b72
Binary files /dev/null and b/tests/testdata/ail-0.2.29-2.3.src.rpm differ
diff --git a/tests/testdata/ail-0.2.29-2.5.src.rpm b/tests/testdata/ail-0.2.29-2.5.src.rpm
new file mode 100644 (file)
index 0000000..d7a25f8
Binary files /dev/null and b/tests/testdata/ail-0.2.29-2.5.src.rpm differ
diff --git a/tests/testdata/app-core-1.2-19.3.src.rpm b/tests/testdata/app-core-1.2-19.3.src.rpm
new file mode 100644 (file)
index 0000000..0510d6f
Binary files /dev/null and b/tests/testdata/app-core-1.2-19.3.src.rpm differ
diff --git a/tests/testdata/bad.spec b/tests/testdata/bad.spec
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testdata/bad.src.rpm b/tests/testdata/bad.src.rpm
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testdata/bison-1.27.tar.gz b/tests/testdata/bison-1.27.tar.gz
new file mode 100644 (file)
index 0000000..9c2fec6
Binary files /dev/null and b/tests/testdata/bison-1.27.tar.gz differ
diff --git a/tests/testdata/bluez_unpacked/Makefile b/tests/testdata/bluez_unpacked/Makefile
new file mode 100644 (file)
index 0000000..9b279ca
--- /dev/null
@@ -0,0 +1,6 @@
+PKG_NAME := bluez
+SPECFILE = $(addsuffix .spec, $(PKG_NAME))
+YAMLFILE = $(addsuffix .yaml, $(PKG_NAME))
+
+include /usr/share/packaging-tools/Makefile.common
+
diff --git a/tests/testdata/bluez_unpacked/bluetooth.init b/tests/testdata/bluez_unpacked/bluetooth.init
new file mode 100644 (file)
index 0000000..ed7845a
--- /dev/null
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# chkconfig: 345 50 83
+# description: Bluetooth services for service discovery, authentication, \
+#             Human Interface Devices, etc.
+#
+### BEGIN INIT INFO
+# Required-Start: $syslog messagebus
+# Short-Description: Bluetooth services
+# Description: Bluetooth services for service discovery, authentication, 
+#  Human Interface Devices, etc.
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+[ -e /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth
+
+start()
+{
+       echo -n $"Starting Bluetooth services:"
+       daemon /usr/sbin/bluetoothd
+       RETVAL=$?
+       [ $RETVAL = 0 ] && touch /var/lock/subsys/bluetoothd
+       [ "$HID2HCI_ENABLE" = "true" ] && hid2hci --tohci > /dev/null 2>&1 || :
+       touch /var/lock/subsys/bluetooth
+       echo ""
+       return $RETVAL
+}
+
+stop()
+{
+       echo -n "Stopping Bluetooth services:"
+       [ "$HID2HCI_UNDO" = "true" ] && hid2hci --tohid > /dev/null 2>&1 || :
+       killproc bluetoothd
+       RETVAL=$?
+       rm -f /var/lock/subsys/bluetooth
+       rm -f /var/lock/subsys/bluetoothd
+       echo ""
+       return $RETVAL
+}
+
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  force-reload|restart|reload)
+        stop
+        start
+        ;;
+  try-restart|condrestart)
+        [ -e /var/lock/subsys/bluetooth ] && (stop; start)
+        ;;
+  status)
+        status bluetoothd
+       RETVAL=$?
+        ;;
+  *)
+        echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
+        exit 3
+       ;;
+esac
+
+exit $RETVAL
diff --git a/tests/testdata/bluez_unpacked/bluez-4.87.tar.gz b/tests/testdata/bluez_unpacked/bluez-4.87.tar.gz
new file mode 100644 (file)
index 0000000..59667ed
Binary files /dev/null and b/tests/testdata/bluez_unpacked/bluez-4.87.tar.gz differ
diff --git a/tests/testdata/bluez_unpacked/bluez-fsync.patch b/tests/testdata/bluez_unpacked/bluez-fsync.patch
new file mode 100644 (file)
index 0000000..10cd10a
--- /dev/null
@@ -0,0 +1,11 @@
+--- bluez-4.28/src/textfile.c~ 2009-02-11 03:01:06.000000000 -0800
++++ bluez-4.28/src/textfile.c  2009-02-11 03:01:06.000000000 -0800
+@@ -271,7 +271,7 @@
+       flock(fd, LOCK_UN);
+ close:
+-      fdatasync(fd);
++//    fdatasync(fd);
+       close(fd);
+       errno = err;
diff --git a/tests/testdata/bluez_unpacked/bluez.changes b/tests/testdata/bluez_unpacked/bluez.changes
new file mode 100644 (file)
index 0000000..b8a1cf8
--- /dev/null
@@ -0,0 +1,157 @@
+* Thu Feb 10 2011 Zheng wu <wu.zheng@intel.com> - 4.87
+- upgrade to 4.87 for BMC #13393
+- ver 4.87:
+       Fix issue with initialization when adapter is already up.
+       Fix issue with attribute server MTU and incoming connections.
+       Fix issue with duplicate characteristics after discovery.
+
+* Fri Jan 21 2011 Zheng wu <wu.zheng@intel.com> - 4.86
+- upgrade to 4.86 for BMC #12691
+- ver 4.86:
+       Revert wrong fix for SDP PDU size error response.
+       Fix various memory leaks in A2DP and AVDTP support.
+       Add Routing property to MediaTransport interface
+       Add proper tracking mechanism to NREC status.
+       Add READ_BLOB_REQUEST support to attribute server.
+
+* Thu Jan 13 2011 Martin Xu <martin.xu@intel.com> - 4.85
+- upgrade to 4.85 
+- to partly support Bluetooth LE feature, FEA #7110
+
+* Thu Jan  6 2011 Zhang Qiang<qiang.z.zhang@intel.com> 4.84
+- Upgrade to 4.84
+
+* Mon Oct 25 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.76
+- Add disable-hal-plugin.patch to fix BMC#7676.
+
+* Mon Oct 25 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.76
+- Add Fix-crash-in-Manager.GetProperties.patch to fix BMC#7772.
+
+* Mon Oct 18 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.76
+- Upgrade to 4.76
+
+* Thu Sep 30 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.70
+- Add powered.patch to make sure the initial power status aligned
+  with connman's requirement.
+
+* Fri Aug 27 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.70
+- Upgrade to 4.70
+
+* Mon Jul 26 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.69
+- Add more binary test programs into bluez-test sub-package.
+
+* Mon Jul 19 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.69
+- Upgrade to 4.69
+
+* Thu Jul 15 2010 Anas Nashif <anas.nashif@intel.com> - 4.66
+- Install udev rules into /lib/udev (bmc #3424)
+
+* Tue Jul 13 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.66
+- Add a sub-package for test scripts.
+- Corrected bluez.yaml to avoid spectacle's warnings.
+
+* Wed Jun 30 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.66
+- Upgrade to 4.66
+- Remove unnecessary patch correct-ref.patch
+- Switch to build with Spectacle
+
+* fri jun 4 2010 zhu yanhai <yanhai.zhu@linux.intel.com> 4.65
+- add correct-ref.patch to fix bmc#1882
+
+* Thu Jun 3 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.65
+- Upgrade to 4.65
+
+* Tue Apr 27 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.63
+- Enable HFP without oFono binding in Trunk. Because IVI and Netbooks don't have a
+  physical modem, we just build BlueZ with the default dummy telephony driver.
+  (BMC#400). This will make MeeGo BlueZ be able to play HFP HS and AG role.
+
+* Mon Apr 12 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.63
+- Upgrade to 4.63. As the HSP part is under changes in upstream, this upgrade
+  will potentially improve HSP performance (BMC#65, BMC#400, BMC#402)
+- Refresh no-crash-if-no-modem.path: use the hotifx from upstream to
+  replace my home made one. (BMO#8991)
+
+* Tue Mar 9 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.62
+- Upgrade to 4.62, which also fix bluez-hcidump build failure.
+
+* Sat Feb 27 2010 Anas Nashif <anas.nashif@intel.com> - 4.61
+- Spec cleanup
+
+* Thu Feb 25 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.61
+- Upgrade to 4.61
+
+* Tue Feb 2 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.60
+- Upgrade to 4.60
+
+* Tue Jan 12 2010 Zhu Yanhai <yanhai.zhu@linux.intel.com> 4.58
+- add no-crash-if-no-modem.patch to fix MB#8991. 
+
+* Fri Dec 4 2009 Martin Xu  <martin.xu@intel.com> 4.58
+- upgrade to 4.58
+
+* Fri Dec 4 2009 Martin Xu  <martin.xu@intel.com> 4.56
+- add set_RememberPowered_as_false.patch to partly fix bug #6835
+
+* Tue Oct 28 2009 Martin Xu  <martin.xu@intel.com> 4.56
+- add disable_HFP_at_audio_conf.patch to fix bug# 7236
+
+* Tue Oct 13 2009 Martin Xu  <martin.xu@intel.com> 4.56
+- Upgrade to 4.56
+- update bluez-fsync.patch
+
+* Thu Sep 17 2009 Yi Yang <yi.y.yang@intel.com> 4.50
+- Remove a duplicate but wrong udev rule for dell mice (MB#5316)
+
+* Fri Aug 27 2009 Martin Xu  <martin.xu@intel.com> 4.50
+- Upgrade to 4.50
+- Add --with-telephony=ofono to enable HFP telephony plugins See Bug #5486
+- Add ofono as runtime requirements
+
+* Fri Aug 7 2009 Martin Xu  <martin.xu@intel.com> 4.47
+- Upgrade to 4.47
+- Remove HFP patch, the patch has been included in 4.47
+
+* Wed July 1 2009 Todd Brandt <todd.e.brandt@intel.com> 4.40
+- Added Forrest Zhao's HFP support patch. Fixes a crash when using org.bluez.HeadsetGateway
+
+* Thu June 4 2009 Martin Xu  <martin.xu@intel.com> 4.40
+- Upgrade to 4.40
+- Remove fix-alsa-bluez-plugin-poll-revents-err.patch, the fix has been done in alsa-lib-1.0.20 
+
+* Mon May 25 2009 Anas Nashif <anas.nashif@intel.com> 4.38
+- Fixed ChangeLog
+
+* Fri May 8 2009 Martin Xu  <martin.xu@intel.com> 4.38
+- Upgrade to 4.38
+
+ Tue Apr 28 2009  <martin.xu@intel.com> 4.36
+- Upgrade to 4.36
+
+* Fri Apr 3 2009  <martin.xu@intel.com> 4.30
+- add patch fix-alsa-bluez-plugin-poll-revents-err.patch to fix a2dp error
+
+ Fri Feb 13 2009 Anas Nashif <anas.nashif@intel.com> 4.30
+- Update to 4.30
+
+* Tue Feb 10 2009 Arjan van de Ven <arjan@linux.intel.com> 4.28
+- disable f(data)sync calls in bluetoothd
+
+* Mon Feb 9 2009 Arjan van de Ven <arjan@linux.intel.com> 4.28
+- update to 4.28
+- don't start the daemon from the initscript
+
+* Thu Dec 11 2008 Anas Nashif <anas.nashif@intel.com> 4.22
+- fastinit replaces initscripts
+
+* Thu Dec 11 2008 - Martin Xu <martin.xu@intel.com>
+- Upgrade to bluez-4.22
+
+* Tue Dec 09 2008 Anas Nashif <anas.nashif@intel.com> 4.18
+- Change BR for gstreamer plugins
+
+* Fri Nov 25 2008 - Martin Xu <martin.xu@intel.com>
+- Remove "Provides bluez-utils-*"
+
+* Fri Nov 11 2008 - Martin Xu <martin.xu@intel.com>
+- initialized bluez-4.18 package
similarity index 99%
rename from tests/testdata/bluez.spec
rename to tests/testdata/bluez_unpacked/bluez.spec
index 072cf16..e3545e6 100644 (file)
@@ -12,7 +12,7 @@ Release:    1
 Group:      Applications/System
 License:    GPLv2+
 URL:        http://www.bluez.org/
-Source0:    http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}-tizen.tar.bz2
+Source0:    http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz
 Source1:    bluetooth.init
 Source100:  bluez.yaml
 Patch0:     bluez-fsync.patch
diff --git a/tests/testdata/bluez_unpacked/bluez.yaml b/tests/testdata/bluez_unpacked/bluez.yaml
new file mode 100644 (file)
index 0000000..c41a277
--- /dev/null
@@ -0,0 +1,111 @@
+Name: bluez
+Summary: Bluetooth utilities
+Version: 4.87
+Release: 1
+Group: Applications/System
+License: GPLv2+
+URL: http://www.bluez.org/
+Sources:
+    - http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz
+    - bluetooth.init
+Patches:
+    - bluez-fsync.patch
+    - remove-duplicate-wrong-udev-rule-for-dell-mice.patch
+    - enable_HFP.patch
+    - powered.patch
+    - install-test-scripts.patch
+    - install-more-binary-test.patch
+    - disable-hal-plugin.patch
+Description: |
+    Utilities for use in Bluetooth applications:
+       --ciptool
+       --dfutool
+       --hcitool
+       --l2ping
+       --rfcomm
+       --sdptool
+       --hciattach
+       --hciconfig
+       --hid2hci
+    
+    The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A.
+
+Requires:
+    - bluez-libs = %{version}
+    - dbus >= 0.60
+    - hwdata >= 0.215
+    - ofono >= 0.2
+
+PkgConfigBR:
+    - dbus-1
+    - libusb
+    - alsa
+    - udev
+    - sndfile
+    - glib-2.0
+    - gstreamer-plugins-base-0.10
+    - gstreamer-0.10
+
+PkgBR:
+    - flex
+Configure: reconfigure
+ConfigOptions:
+    - --enable-cups
+    - --enable-hid2hci
+    - --enable-dfutool
+    - --enable-bccmd
+    - --enable-hidd
+    - --enable-pand
+    - --enable-dund
+    - --enable-gstreamer
+    - --enable-alsa
+    - --enable-usb
+    - --enable-tools
+    - --enable-test
+    - --with-telephony=dummy
+Builder: make
+SubPackages:
+    - Name: libs
+      Summary: Libraries for use in Bluetooth applications
+      Group: System/Libraries
+      Description: Libraries for use in Bluetooth applications.
+
+    - Name: libs-devel
+      Summary: Development libraries for Bluetooth applications
+      Group: Development/Libraries
+      Description: |
+          bluez-libs-devel contains development libraries and headers for
+          use in Bluetooth applications.
+      Requires:
+          - bluez-libs = %{version}
+
+    - Name: cups
+      Summary: CUPS printer backend for Bluetooth printers
+      Group: System/Daemons
+      Description: This package contains the CUPS backend
+      Requires:
+          - bluez-libs = %{version}
+          - cups
+
+    - Name: alsa
+      Summary: ALSA support for Bluetooth audio devices
+      Group: System/Daemons
+      Description: This package contains ALSA support for Bluetooth audio devices
+      Requires:
+          - bluez-libs = %{version}
+
+    - Name: gstreamer
+      Summary: GStreamer support for SBC audio format
+      Group: System/Daemons
+      Description: This package contains gstreamer plugins for the Bluetooth SBC audio format
+      Requires:
+          - bluez-libs = %{version}
+
+    - Name: test
+      Summary: Test Programs for BlueZ
+      Group: Development/Tools
+      Description: Scripts for testing BlueZ and its functionality
+      Requires:
+          - bluez-libs = %{version}
+          - dbus-python
+          - pygobject2
diff --git a/tests/testdata/bluez_unpacked/disable-hal-plugin.patch b/tests/testdata/bluez_unpacked/disable-hal-plugin.patch
new file mode 100644 (file)
index 0000000..28e783c
--- /dev/null
@@ -0,0 +1,11 @@
+diff -Nur old/src/main.conf new/src/main.conf
+--- old/src/main.conf  2010-10-25 16:23:53.000000000 +0800
++++ new/src/main.conf  2010-10-25 16:26:03.000000000 +0800
+@@ -59,3 +59,7 @@
+ # Enable the GATT Attribute Server. Default is false, because it is only
+ # useful for testing.
+ AttributeServer = false
++
++
++# Disable the HAL plugin here since MeeGo has removed hald.
++DisablePlugins=hal
diff --git a/tests/testdata/bluez_unpacked/enable_HFP.patch b/tests/testdata/bluez_unpacked/enable_HFP.patch
new file mode 100644 (file)
index 0000000..78a3537
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Nur old/audio/audio.conf new/audio/audio.conf
+--- old/audio/audio.conf       2009-10-31 15:18:09.000000000 +0800
++++ new/audio/audio.conf       2010-04-26 12:37:02.000000000 +0800
+@@ -3,7 +3,7 @@
+ # This section contains options which are not specific to any
+ # particular interface
+ [General]
+-
++Enable=Gateway
+ # Switch to master role for incoming connections (defaults to true)
+ #Master=true
+diff -Nur old/Makefile.am new/Makefile.am
+--- old/Makefile.am    2010-03-26 03:27:55.000000000 +0800
++++ new/Makefile.am    2010-04-26 12:36:43.000000000 +0800
+@@ -211,7 +211,7 @@
+ man_MANS = src/bluetoothd.8
+ if CONFIGFILES
+-conf_DATA += src/main.conf
++conf_DATA += src/main.conf audio/audio.conf
+ endif
+ EXTRA_DIST += src/genbuiltin src/bluetooth.conf \
diff --git a/tests/testdata/bluez_unpacked/install-more-binary-test.patch b/tests/testdata/bluez_unpacked/install-more-binary-test.patch
new file mode 100644 (file)
index 0000000..0d65c2e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Nur old/Makefile.tools new/Makefile.tools
+--- old/Makefile.tools 2010-05-23 20:47:19.000000000 +0800
++++ new/Makefile.tools 2010-07-26 17:50:02.000000000 +0800
+@@ -135,7 +135,7 @@
+ bin_PROGRAMS += test/l2test test/rctest
+-noinst_PROGRAMS += test/gaptest test/sdptest test/scotest \
++bin_PROGRAMS += test/gaptest test/sdptest test/scotest \
+                       test/attest test/hstest test/avtest test/ipctest \
+                                       test/lmptest test/bdaddr test/agent \
+                                       test/btiotest test/test-textfile
diff --git a/tests/testdata/bluez_unpacked/install-test-scripts.patch b/tests/testdata/bluez_unpacked/install-test-scripts.patch
new file mode 100644 (file)
index 0000000..b77ee14
--- /dev/null
@@ -0,0 +1,35 @@
+diff -Nur old/Makefile.am new/Makefile.am
+--- old/Makefile.am    2010-05-23 20:47:19.000000000 +0800
++++ new/Makefile.am    2010-07-13 15:22:47.000000000 +0800
+@@ -304,6 +304,31 @@
+ dist_udev_SCRIPTS = scripts/bluetooth_serial
+ endif
++
++test_scripts = test/apitest \
++      test/hsplay \
++      test/hsmicro \
++      test/list-devices \
++      test/monitor-bluetooth \
++      test/simple-agent \
++      test/simple-service \
++      test/test-adapter \
++      test/test-audio \
++      test/test-device \
++      test/test-discovery \
++      test/test-input \
++      test/test-manager \
++      test/test-network \
++      test/test-serial \
++      test/test-service \
++      test/test-telephony
++
++
++if TEST
++testdir = ${pkglibdir}/test
++test_SCRIPTS = ${test_scripts}
++endif
++
+ EXTRA_DIST += doc/manager-api.txt \
+               doc/adapter-api.txt doc/device-api.txt \
+               doc/service-api.txt doc/agent-api.txt \
diff --git a/tests/testdata/bluez_unpacked/powered.patch b/tests/testdata/bluez_unpacked/powered.patch
new file mode 100644 (file)
index 0000000..cc48df9
--- /dev/null
@@ -0,0 +1,16 @@
+diff -Nur old/src/main.conf new/src/main.conf
+--- old/src/main.conf  2010-08-25 13:10:02.000000000 +0800
++++ new/src/main.conf  2010-09-26 17:28:39.000000000 +0800
+@@ -32,10 +32,10 @@
+ # What value should be assumed for the adapter Powered property when
+ # SetProperty(Powered, ...) hasn't been called yet. Defaults to true
+-InitiallyPowered = true
++InitiallyPowered = false
+ # Remember the previously stored Powered state when initializing adapters
+-RememberPowered = true
++RememberPowered = false
+ # Use vendor, product and version information for DID profile support.
+ # The values are separated by ":" and VID, PID and version.
diff --git a/tests/testdata/bluez_unpacked/remove-duplicate-wrong-udev-rule-for-dell-mice.patch b/tests/testdata/bluez_unpacked/remove-duplicate-wrong-udev-rule-for-dell-mice.patch
new file mode 100644 (file)
index 0000000..2f76a4f
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/scripts/bluetooth-hid2hci.rules b/scripts/bluetooth-hid2hci.rules
+index 1b231d1..c834957 100644
+--- a/scripts/bluetooth-hid2hci.rules
++++ b/scripts/bluetooth-hid2hci.rules
+@@ -8,7 +8,7 @@
+ #   413c:8154
+ #   413c:8158
+ #   413c:8162
+-ACTION=="add", ENV{ID_VENDOR}=="413c", ENV{ID_CLASS}=="mouse", ATTRS{bmAttributes}=="e0", KERNEL=="mouse*", RUN+="/usr/sbin/hid2hci --method dell -v $env{ID_VENDOR} -p $env{ID_MODEL} --mode hci"
++# udev 144 or later has covered these Dell mice, so unnecessary to have a duplicate but wrong rule.
+ # Logitech devices
+ ACTION=="add", ENV{ID_VENDOR}=="046d", ENV{ID_MODEL}=="c703" RUN+="/usr/sbin/hid2hci --method logitech -v $env{ID_VENDOR} -p $env{ID_MODEL} --mode hci"