incremental
diff --git a/boost-dbus/test/avahi.py b/boost-dbus/test/avahi.py
new file mode 100644
index 0000000..1bcd24d
--- /dev/null
+++ b/boost-dbus/test/avahi.py
@@ -0,0 +1,42 @@
+# Copyright (c) Benjamin Kietzman (github.com/bkietz)
+#
+# Distributed under the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import unittest
+import dbus
+from dbus.mainloop.glib import DBusGMainLoop
+from gobject import MainLoop
+from socket import gethostname
+
+class AvahiTest(unittest.TestCase):
+
+  @classmethod
+  def setUpClass(c):
+    c.system_bus = dbus.SystemBus(mainloop=DBusGMainLoop())
+
+  def setUp(self):
+    None
+
+  def testAvahi(self):
+    # Connect to Avahi Daemon's interface:
+    avahi_remote = AvahiTest.system_bus.get_object('org.freedesktop.Avahi', '/')
+    avahi = dbus.Interface(avahi_remote, 'org.freedesktop.Avahi.Server')
+    self.assertEqual(gethostname(), avahi.GetHostName())
+
+    # Use the Avahi Daemon to produce a new 
+    # ServiceBrowser and connect to its interface:
+    browser_path = avahi.ServiceBrowserNew(-1, -1, "_http._tcp", "local", dbus.UInt32(0))
+    browser_remote = AvahiTest.system_bus.get_object('org.freedesktop.Avahi', browser_path)
+
+    browser = dbus.Interface(browser_remote, 'org.freedesktop.Avahi.ServiceBrowser')
+
+    # Connect to the ItemNew signal from the browser:
+    def new_item_handler(interface, protocol, instance_name, instance_type, domain, flags):
+      print "Found service '%s'" % instance_name
+
+    browser.connect_to_signal("ItemNew", new_item_handler)
+
+if __name__ == '__main__':
+  unittest.main()
+  MainLoop().run()