Author: mvidner Date: Wed Jun 17 11:10:45 2009 New Revision: 57601 URL: http://svn.opensuse.org/viewcvs/yast?rev=57601&view=rev Log: Added a minimal test of yast_modules_dbus_server. New option --session to enable that. Added: trunk/core/dbus/namespace_service/testsuite/ (with props) trunk/core/dbus/namespace_service/testsuite/Makefile.am trunk/core/dbus/namespace_service/testsuite/t1 (with props) Modified: trunk/core/dbus/namespace_service/Makefile.am trunk/core/dbus/namespace_service/src/DBusModulesServer.cc trunk/core/dbus/namespace_service/src/DBusModulesServer.h trunk/core/dbus/namespace_service/src/yast_modules_dbus_server.cc Modified: trunk/core/dbus/namespace_service/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/Makefile.am?rev=57601&r1=57600&r2=57601&view=diff ============================================================================== --- trunk/core/dbus/namespace_service/Makefile.am (original) +++ trunk/core/dbus/namespace_service/Makefile.am Wed Jun 17 11:10:45 2009 @@ -2,4 +2,4 @@ # Makefile.am for core/dbus/namespace_service # -SUBDIRS=src doc +SUBDIRS=src doc testsuite Modified: trunk/core/dbus/namespace_service/src/DBusModulesServer.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/src/DBusModulesServer.cc?rev=57601&r1=57600&r2=57601&view=diff ============================================================================== --- trunk/core/dbus/namespace_service/src/DBusModulesServer.cc (original) +++ trunk/core/dbus/namespace_service/src/DBusModulesServer.cc Wed Jun 17 11:10:45 2009 @@ -1,4 +1,3 @@ - /* DBus server @@ -215,7 +214,11 @@ } -DBusModulesServer::DBusModulesServer(const NameSpaceList &name_spaces) : e(this), manager_callback(this), wfm(NULL) +DBusModulesServer::DBusModulesServer(const NameSpaceList &name_spaces, bool use_session_bus) + : e(this) + , manager_callback(this) + , wfm(NULL) + , m_use_session_bus(use_session_bus) { init_wfm(); @@ -326,7 +329,8 @@ bool DBusModulesServer::connect() { registerManager(); - return DBusServerBase::connect(SYSTEM, YAST_DBUS_SERVICE_NAME); + return DBusServerBase::connect(m_use_session_bus? SESSION: SYSTEM, + YAST_DBUS_SERVICE_NAME); } /* Modified: trunk/core/dbus/namespace_service/src/DBusModulesServer.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/src/DBusModulesServer.h?rev=57601&r1=57600&r2=57601&view=diff ============================================================================== --- trunk/core/dbus/namespace_service/src/DBusModulesServer.h (original) +++ trunk/core/dbus/namespace_service/src/DBusModulesServer.h Wed Jun 17 11:10:45 2009 @@ -1,4 +1,3 @@ - /* DBusModulesServer.h */ @@ -25,7 +24,7 @@ typedef std::liststd::string NameSpaceList; - DBusModulesServer(const NameSpaceList &name_spaces); + DBusModulesServer(const NameSpaceList &name_spaces, bool use_session_bus); virtual ~DBusModulesServer(); virtual bool connect(); @@ -95,8 +94,9 @@ Y2Component *wfm; void init_wfm(); + + bool m_use_session_bus; }; #endif - Modified: trunk/core/dbus/namespace_service/src/yast_modules_dbus_server.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/src/yast_modules_dbus_server.cc?rev=57601&r1=57600&r2=57601&view=diff ============================================================================== --- trunk/core/dbus/namespace_service/src/yast_modules_dbus_server.cc (original) +++ trunk/core/dbus/namespace_service/src/yast_modules_dbus_server.cc Wed Jun 17 11:10:45 2009 @@ -1,4 +1,3 @@ - /* */ @@ -12,6 +11,7 @@ bool forever = false; bool badopts = false; + bool use_session_bus = false; DBusModulesServer::NameSpaceList modules; @@ -29,6 +29,10 @@ { forever = true; } + else if (!strcmp(argv[index], "--session")) + { + use_session_bus = true; + } else { modules.push_back(argv[index]); @@ -40,14 +44,15 @@ if (badopts) { - std::cerr << "Usage: " << argv[0] << " [--help] [--disable-timer] <namespace> <namespace>..." << std::endl; + std::cerr << "Usage: " << argv[0] << " [--help] [--disable-timer] [--session] <namespace> <namespace>..." << std::endl; std::cerr << " --help Print this text\n"; std::cerr << " --disable-timer Disable automatic shutdown of the service, useful for debugging\n"; + std::cerr << " --session Connect to the session bus (system is the default), useful for debugging\n"; std::cerr << " <namespace> Preload an yast namespace and export it on DBus\n"; return 1; } - DBusModulesServer server(modules); + DBusModulesServer server(modules, use_session_bus); bool connected = server.connect(); if (connected) Added: trunk/core/dbus/namespace_service/testsuite/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/testsuite/Makefile.am?rev=57601&view=auto ============================================================================== --- trunk/core/dbus/namespace_service/testsuite/Makefile.am (added) +++ trunk/core/dbus/namespace_service/testsuite/Makefile.am Wed Jun 17 11:10:45 2009 @@ -0,0 +1,2 @@ +# adhoc testing, TODO use a decent framework (dejagnu does not qualify) +TESTS = t1 Added: trunk/core/dbus/namespace_service/testsuite/t1 URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/dbus/namespace_service/testsuite/t1?rev=57601&view=auto ============================================================================== --- trunk/core/dbus/namespace_service/testsuite/t1 (added) +++ trunk/core/dbus/namespace_service/testsuite/t1 Wed Jun 17 11:10:45 2009 @@ -0,0 +1,22 @@ +#! /bin/sh + +# A basic test: does the server reply to introspection? + +# TODO: more tests, probably in python or whatever so that +# the responses can be inspected better + +# This launches the bus daemon, +# exports DBUS_SESSION_BUS_ADDRESS and sets DBUS_SESSION_BUS_PID +eval $(dbus-launch --sh-syntax) +# Clean up at exit. This will also kill the server. +trap "kill $DBUS_SESSION_BUS_PID" EXIT TERM INT + +echo -n "Hey, server, get on da bus... " +PRG="../src/yast_modules_dbus_server --disable-timer --session" +$PRG & sleep 3 +echo "off we go!" + +SEND0="dbus-send --session --dest=org.opensuse.YaST.modules" +CALL="$SEND0 --type=method_call" +REPLY="$CALL --print-reply" +$REPLY / org.freedesktop.DBus.Introspectable.Introspect -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org