diff -Nru software-center-5.1.14/debian/changelog software-center-5.1.14.1/debian/changelog --- software-center-5.1.14/debian/changelog 2012-03-30 16:00:50.000000000 +0000 +++ software-center-5.1.14.1/debian/changelog 2012-04-02 17:12:25.000000000 +0000 @@ -1,3 +1,10 @@ +software-center (5.1.14.1) precise; urgency=low + + * lp:~gary-lasker/software-center/recommender-profile-uploads-lp944693: + - upload new recommender_profile if needed (LP: #944693) + + -- Michael Vogt Mon, 02 Apr 2012 19:12:25 +0200 + software-center (5.1.14) precise; urgency=low [ Michael Vogt ] diff -Nru software-center-5.1.14/softwarecenter/backend/recagent.py software-center-5.1.14.1/softwarecenter/backend/recagent.py --- software-center-5.1.14/softwarecenter/backend/recagent.py 2012-03-30 13:37:08.000000000 +0000 +++ software-center-5.1.14.1/softwarecenter/backend/recagent.py 2012-04-02 17:04:52.000000000 +0000 @@ -21,6 +21,7 @@ from gi.repository import GObject import logging +import hashlib import softwarecenter.paths from spawn_helper import SpawnHelper @@ -45,7 +46,7 @@ ), "submit-profile-finished": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, - (GObject.TYPE_PYOBJECT, str), + (GObject.TYPE_PYOBJECT,), ), "submit-anon-profile-finished": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, @@ -76,7 +77,6 @@ def __init__(self, xid=None): GObject.GObject.__init__(self) self.xid = xid - self.recommender_uuid = self._get_recommender_uuid() def query_server_status(self): # build the command @@ -88,29 +88,76 @@ spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "server_status") + def _calc_profile_id(self, profile): + """ Return a profile id (md5 hash of a profile) for the given profile + """ + return hashlib.md5(str(profile)).hexdigest() + + @property + def recommender_uuid(self): + config = get_config() + if config.has_option("general", "recommender_uuid"): + recommender_uuid = config.get("general", + "recommender_uuid") + else: + recommender_uuid = "" + return recommender_uuid + + @property + def recommender_profile_id(self): + config = get_config() + if config.has_option("general", "recommender_profile_id"): + recommender_profile_id = config.get("general", + "recommender_profile_id") + else: + recommender_profile_id = "" + return recommender_profile_id + + def _set_recommender_profile_id(self, profile_id): + config = get_config() + if not config.has_section("general"): + config.add_section("general") + config.set("general", "recommender_profile_id", profile_id) + + def _set_recommender_uuid(self, uuid): + config = get_config() + if not config.has_section("general"): + config.add_section("general") + config.set("general", "recommender_uuid", uuid) + def post_submit_profile(self, db): """ This will post the users profile to the recommender server and also generate the UUID for the user if that is not there yet """ - # if we have not already set a recommender UUID, now is the time - # to do it - if not self.recommender_uuid: - self.recommender_uuid = get_uuid() + recommender_uuid = self.recommender_uuid + if not recommender_uuid: + # generate a new uuid, but do not save it yet, this will + # be done later in _on_submit_profile_data + recommender_uuid = get_uuid() installed_pkglist = [app.pkgname for app in get_installed_apps_list(db)] - data = self._generate_submit_profile_data(self.recommender_uuid, - installed_pkglist) - # build the command - spawner = SpawnHelper() - spawner.parent_xid = self.xid - spawner.needs_auth = True - spawner.connect("data-available", self._on_submit_profile_data) - spawner.connect("error", lambda spawner, err: self.emit("error", err)) - spawner.run_generic_piston_helper( - "SoftwareCenterRecommenderAPI", - "submit_profile", - data=data) + profile = self._generate_submit_profile_data(recommender_uuid, + installed_pkglist) + + # compare profiles to see if there has been a change, and if there + # has, do the profile update + current_recommender_profile_id = self._calc_profile_id(profile) + if current_recommender_profile_id != self.recommender_profile_id: + LOG.info("Submitting recommendations profile to the server") + self._set_recommender_profile_id(current_recommender_profile_id) + # build the command and upload the profile + spawner = SpawnHelper() + spawner.parent_xid = self.xid + spawner.needs_auth = True + spawner.connect("data-available", self._on_submit_profile_data, + recommender_uuid) + spawner.connect( + "error", lambda spawner, err: self.emit("error", err)) + spawner.run_generic_piston_helper( + "SoftwareCenterRecommenderAPI", + "submit_profile", + data=profile) def post_submit_anon_profile(self, uuid, installed_packages, extra): # build the command @@ -188,7 +235,9 @@ return False def opt_out(self): - self.recommender_uuid = "" + config = get_config() + config.set("general", "recommender_uuid", "") + config.set("general", "recommender_profile_id", "") def _on_server_status_data(self, spawner, piston_server_status): self.emit("server-status", piston_server_status) @@ -196,13 +245,14 @@ def _on_profile_data(self, spawner, piston_profile): self.emit("profile", piston_profile) - def _on_submit_profile_data(self, spawner, piston_submit_profile): + def _on_submit_profile_data(self, spawner, piston_submit_profile, + recommender_uuid): + self._set_recommender_uuid(recommender_uuid) self.emit("submit-profile-finished", - piston_submit_profile, - self.recommender_uuid) + piston_submit_profile) def _on_submit_anon_profile_data(self, spawner, - piston_submit_anon_profile): + piston_submit_anon_profile): self.emit("submit-anon_profile", piston_submit_anon_profile) def _on_recommend_me_data(self, spawner, piston_me_apps): @@ -217,18 +267,6 @@ def _on_recommend_top_data(self, spawner, piston_top_apps): self.emit("recommend-top", piston_top_apps) - def _get_recommender_uuid(self): - """ returns the recommender UUID value, which can be empty if it - has not yet been set (indicating that the user has not yet - opted-in to the recommender service) - """ - config = get_config() - if config.has_option("general", "recommender_uuid"): - recommender_uuid = config.get("general", "recommender_uuid") - if recommender_uuid: - return recommender_uuid - return "" - def _generate_submit_profile_data(self, recommender_uuid, package_list): submit_profile_data = [{ 'uuid': recommender_uuid, diff -Nru software-center-5.1.14/softwarecenter/ui/gtk3/app.py software-center-5.1.14.1/softwarecenter/ui/gtk3/app.py --- software-center-5.1.14/softwarecenter/ui/gtk3/app.py 2012-03-30 13:37:08.000000000 +0000 +++ software-center-5.1.14.1/softwarecenter/ui/gtk3/app.py 2012-04-02 17:04:52.000000000 +0000 @@ -97,6 +97,7 @@ from softwarecenter.config import get_config from softwarecenter.backend import get_install_backend from softwarecenter.backend.login_sso import get_sso_backend +from softwarecenter.backend.recagent import RecommenderAgent from softwarecenter.backend.channel import AllInstalledChannel from softwarecenter.backend.reviews import get_review_loader, UsefulnessCache @@ -269,7 +270,6 @@ self.scagent = None self.sso = None self.available_for_me_query = None - self.recommender_uuid = "" Gtk.Window.set_default_icon_name("softwarecenter") @@ -414,6 +414,10 @@ # keep the cache clean GObject.timeout_add_seconds(15, self._run_expunge_cache_helper) + # check to see if a new recommendations profile upload is + # needed and upload if necessary + GObject.timeout_add_seconds(45, self._upload_recommendations_profile) + # TODO: Remove the following two lines once we have remove repository # support in aptdaemon (see LP: #723911) self.menu_file.remove(self.menuitem_deauthorize_computer) @@ -493,9 +497,8 @@ def on_available_pane_created(self, widget): self.available_pane.searchentry.grab_focus() - rec_panel = self.available_pane.cat_view.recommended_for_you_panel self._update_recommendations_menuitem( - opted_in=rec_panel.recommender_agent.is_opted_in()) + opted_in=self._get_recommender_agent().is_opted_in()) # connect a signal to monitor the recommendations opt-in state and # persist the recommendations uuid on an opt-in self.available_pane.cat_view.recommended_for_you_panel.connect( @@ -509,14 +512,10 @@ #~ def on_installed_pane_created(self, widget): #~ pass - def _on_recommendations_opt_in(self, rec_panel, recommender_uuid): - self.recommender_uuid = recommender_uuid + def _on_recommendations_opt_in(self, rec_panel): self._update_recommendations_menuitem(opted_in=True) def _on_recommendations_opt_out(self, rec_panel): - # if the user opts back out of the recommender service, we - # reset the recommender UUID to indicate it - self.recommender_uuid = "" self._update_recommendations_menuitem(opted_in=False) def _update_recommendations_menuitem(self, opted_in): @@ -527,6 +526,16 @@ self.menuitem_recommendations.set_label( _(u"Turn On Recommendations…")) + def _upload_recommendations_profile(self): + recommender_agent = self._get_recommender_agent() + if recommender_agent.is_opted_in(): + recommender_agent.post_submit_profile(self.db) + + def _get_recommender_agent(self): + if not hasattr(self, "_recommender_agent"): + self._recommender_agent = RecommenderAgent() + return self._recommender_agent + def _on_update_software_center_agent_finished(self, pid, condition): LOG.info("software-center-agent finished with status %i" % os.WEXITSTATUS(condition)) @@ -780,7 +789,7 @@ def on_menuitem_recommendations_activate(self, menu_item): rec_panel = self.available_pane.cat_view.recommended_for_you_panel - if rec_panel.recommender_agent.is_opted_in(): + if self._get_recommender_agent().is_opted_in(): rec_panel.opt_out_of_recommendations_service() else: # build and show the opt-in dialog @@ -1294,9 +1303,6 @@ else: # initial default state is to add to launcher, per spec self.available_pane.add_to_launcher_enabled = True - if self.config.has_option("general", "recommender_uuid"): - self.recommender_uuid = self.config.get("general", - "recommender_uuid") def save_state(self): LOG.debug("save_state") @@ -1318,9 +1324,13 @@ self.config.set("general", "add_to_launcher", "True") else: self.config.set("general", "add_to_launcher", "False") + # store the recommender values self.config.set("general", "recommender_uuid", - self.recommender_uuid) + self._get_recommender_agent().recommender_uuid) + self.config.set("general", + "recommender_profile_id", + self._get_recommender_agent().recommender_profile_id) self.config.write() def run(self, args): diff -Nru software-center-5.1.14/softwarecenter/ui/gtk3/widgets/recommendations.py software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/recommendations.py --- software-center-5.1.14/softwarecenter/ui/gtk3/widgets/recommendations.py 2012-03-30 13:37:08.000000000 +0000 +++ software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/recommendations.py 2012-04-02 17:04:52.000000000 +0000 @@ -129,7 +129,7 @@ __gsignals__ = { "recommendations-opt-in": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, - (GObject.TYPE_STRING,), + (), ), "recommendations-opt-out": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, @@ -202,13 +202,7 @@ self.remove_more_button() self.show_all() self.emit("recommendations-opt-out") - try: - self.recommender_agent.disconnect_by_func( - self._on_profile_submitted) - self.recommender_agent.disconnect_by_func( - self._on_profile_submitted_error) - except TypeError: - pass + self._disconnect_recommender_listeners() def _upload_user_profile_and_get_recommendations(self): # initiate upload of the user profile here @@ -222,20 +216,35 @@ self._on_profile_submitted_error) self.recommender_agent.post_submit_profile(self.catview.db) - def _on_profile_submitted(self, agent, profile, recommender_uuid): + def _on_profile_submitted(self, agent, profile): # after the user profile data has been uploaded, make the request # and load the the recommended_for_you content - LOG.debug("The recommendations profile has been successfully " - "submitted to the recommender agent") - self.emit("recommendations-opt-in", recommender_uuid) + LOG.debug("The updated profile was successfully submitted to the " + "recommender service") + # only detect the very first profile upload as that indicates + # the user's initial opt-in self._update_recommended_for_you_content() + self._disconnect_recommender_listeners() + self.emit("recommendations-opt-in") def _on_profile_submitted_error(self, agent, msg): LOG.warn("Error while submitting the recommendations profile to the " "recommender agent: %s" % msg) # TODO: handle this! display an error message in the panel + # detect the very first profile upload as that indicates + # the user's initial opt-in + self._disconnect_recommender_listeners() self._hide_recommended_for_you_panel() + def _disconnect_recommender_listeners(self): + try: + self.recommender_agent.disconnect_by_func( + self._on_profile_submitted) + self.recommender_agent.disconnect_by_func( + self._on_profile_submitted_error) + except TypeError: + pass + class RecommendationsPanelDetails(RecommendationsPanel): """ diff -Nru software-center-5.1.14/softwarecenter/version.py software-center-5.1.14.1/softwarecenter/version.py --- software-center-5.1.14/softwarecenter/version.py 2012-03-30 16:13:14.000000000 +0000 +++ software-center-5.1.14.1/softwarecenter/version.py 2012-04-02 17:25:21.000000000 +0000 @@ -1,5 +1,5 @@ -VERSION='5.1.14' +VERSION='5.1.14.1' CODENAME='precise' DISTRO='Ubuntu' RELEASE='12.04' diff -Nru software-center-5.1.14/test/coverage_summary software-center-5.1.14.1/test/coverage_summary --- software-center-5.1.14/test/coverage_summary 2012-03-30 16:13:05.000000000 +0000 +++ software-center-5.1.14.1/test/coverage_summary 2012-04-02 17:25:11.000000000 +0000 @@ -1,195 +1,195 @@ -Name Stmts Miss Cover --------------------------------------------------------------------------------------------------------------------------------------------- -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/__init__ 2 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/channel 181 19 90% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/channel_impl/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/channel_impl/aptchannels 144 49 66% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/fake_review_settings 76 33 57% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/installbackend 36 14 61% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/installbackend_impl/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/installbackend_impl/aptd 490 307 37% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/launchpad 184 112 39% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/login 9 2 78% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/login_sso 96 32 67% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/oneconfhandler/__init__ 17 5 71% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/oneconfhandler/core 97 14 86% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/piston/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/piston/rnrclient 44 29 34% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/piston/rnrclient_fake 147 80 46% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/piston/rnrclient_pristine 80 26 68% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/recagent 121 41 66% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/reviews/__init__ 360 142 61% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/reviews/rnr 205 100 51% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/scagent 78 22 72% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/spawn_helper 88 14 84% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/transactionswatcher 50 19 62% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/ubuntusso 75 38 49% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/unitylauncher 26 11 58% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/weblive 168 104 38% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/backend/weblive_pristine 147 101 31% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/cmdfinder 31 3 90% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/config 28 9 68% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/__init__ 8 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/appfilter 67 11 84% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/application 518 124 76% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/categories 310 36 88% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/database 350 88 75% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/debfile 125 35 72% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/enquire 146 6 96% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/history 36 13 64% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/history_impl/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/history_impl/apthistory 132 33 75% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/pkginfo 107 35 67% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/pkginfo_impl/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/pkginfo_impl/aptcache 521 148 72% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/update 657 62 91% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/db/utils 23 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/distro/Debian 86 61 29% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/distro/Ubuntu 125 51 59% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/distro/__init__ 90 43 52% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/enums 121 8 93% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/expunge 41 28 32% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/gwibber_helper 64 22 66% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/hw 40 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/i18n 46 4 91% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/log 62 14 77% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/netstatus 88 18 80% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/paths 43 8 81% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/plugin 62 4 94% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/region 79 5 94% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/testutils 115 4 97% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/SimpleGtkbuilderApp 18 5 72% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/app 710 356 50% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/aptd_gtk3 44 36 18% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/dialogs/__init__ 80 28 65% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/dialogs/deauthorize_dialog 79 67 15% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/dialogs/dependency_dialogs 79 19 76% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/dialogs/dialog_tos 50 5 90% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/drawing 66 32 52% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/em 33 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/gmenusearch 80 35 56% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/models/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/models/appstore2 274 29 89% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/models/pendingstore 111 65 41% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/availablepane 423 137 68% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/basepane 15 5 67% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/globalpane 58 4 93% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/historypane 252 19 92% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/installedpane 455 142 69% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/pendingpane 95 28 71% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/softwarepane 286 68 76% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/panes/viewswitcher 168 65 61% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/review_gui_helper 794 311 61% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/session/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/session/appmanager 89 12 87% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/session/navhistory 164 17 90% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/session/viewmanager 125 28 78% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/utils 65 12 82% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/appdetailsview 1268 188 85% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/appview 189 31 84% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/catview_gtk 446 61 86% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/pkgnamesview 64 8 88% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/purchaseview 205 83 60% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/views/webkit 60 29 52% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/actionbar 223 79 65% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/apptreeview 440 228 48% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/backforward 101 20 80% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/buttons 410 64 84% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/cellrenderers 308 49 84% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/containers 378 24 94% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/description 791 424 46% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/exhibits 373 63 83% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/imagedialog 35 3 91% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/labels 59 11 81% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/menubutton 64 45 30% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/oneconfviews 98 45 54% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/recommendations 184 36 80% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/reviews 578 112 81% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/searchaid 179 61 66% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/searchentry 89 25 72% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/separators 26 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/spinner 64 2 97% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/stars 362 44 88% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/symbolic_icons 149 10 93% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/thumbnail 340 59 83% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/videoplayer 110 56 49% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/viewport 24 15 38% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/gtk3/widgets/weblivedialog 68 58 15% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/qml/__init__ 0 0 100% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/qml/categoriesmodel 53 21 60% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/qml/pkglist 134 66 51% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/ui/qml/reviewslist 46 3 93% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/utils 436 112 74% -/home/egon/devel/software-center/build-area/software-center-5.1.14/softwarecenter/version 4 0 100% -__init__ 0 0 100% -data/plugins/mock_plugin 4 0 100% -gtk3/test_app_view 61 0 100% -gtk3/test_appdetailsview 332 5 98% -gtk3/test_appmanager 51 0 100% -gtk3/test_appstore2 35 0 100% -gtk3/test_catview 172 0 100% -gtk3/test_custom_lists 38 0 100% -gtk3/test_debfile_view 27 0 100% -gtk3/test_dialogs 31 0 100% -gtk3/test_globalpane 13 0 100% -gtk3/test_install_progress 32 0 100% -gtk3/test_installedpane 40 0 100% -gtk3/test_navhistory 135 0 100% -gtk3/test_panes 42 0 100% -gtk3/test_purchase 77 0 100% -gtk3/test_recommendations_widgets 24 0 100% -gtk3/test_reviews 129 2 98% -gtk3/test_search 48 0 100% -gtk3/test_unity_launcher_integration 84 0 100% -gtk3/test_views 40 0 100% -gtk3/test_widgets 161 1 99% -qml/test_ui_qml_helpers 78 0 100% -test_addons 30 0 100% -test_aptd 72 28 61% -test_apthistory 71 1 99% -test_categories 64 0 100% -test_channels 25 0 100% -test_cmdfiner 20 0 100% -test_database 398 1 99% -test_debfileapplication 67 1 99% -test_description_norm 35 0 100% -test_distro 20 0 100% -test_downloader 49 0 100% -test_enquire 28 2 93% -test_gwibber 34 7 79% -test_htmlize 21 0 100% -test_hw 22 0 100% -test_i18n 36 0 100% -test_launchpad 31 1 97% -test_login_backend 19 0 100% -test_mime 25 0 100% -test_netstatus 16 0 100% -test_origin 22 0 100% -test_package_info 59 0 100% -test_pep8 39 1 97% -test_pkginfo 36 1 97% -test_plugin 18 0 100% -test_ppa_iconfilename 41 1 98% -test_purchase_backend 47 23 51% -test_pyflakes 9 0 100% -test_recagent 102 26 75% -test_region 46 0 100% -test_reinstall_purchased 140 0 100% -test_rnr_api 14 0 100% -test_scagent 40 2 95% -test_spawn_helper 17 0 100% -test_startup 39 24 38% -test_testutils 37 0 100% -test_ubuntu_sso_api 19 0 100% -test_utils 125 14 89% -test_where_is_it 51 9 82% -test_xapian 71 1 99% -test_xapian_query 53 1 98% --------------------------------------------------------------------------------------------------------------------------------------------- -TOTAL 23775 5999 75% +Name Stmts Miss Cover +---------------------------------------------------------------------------------------------------------------------------------------------- +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/__init__ 2 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/channel 181 19 90% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/channel_impl/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/channel_impl/aptchannels 144 49 66% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/fake_review_settings 76 33 57% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/installbackend 36 14 61% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/installbackend_impl/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/installbackend_impl/aptd 490 319 35% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/launchpad 184 112 39% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/login 9 2 78% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/login_sso 96 32 67% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/oneconfhandler/__init__ 17 5 71% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/oneconfhandler/core 97 14 86% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/piston/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/piston/rnrclient 44 29 34% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/piston/rnrclient_fake 147 80 46% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/piston/rnrclient_pristine 80 26 68% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/recagent 146 52 64% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/reviews/__init__ 360 142 61% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/reviews/rnr 205 100 51% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/scagent 78 22 72% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/spawn_helper 88 14 84% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/transactionswatcher 50 19 62% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/ubuntusso 75 38 49% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/unitylauncher 26 11 58% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/weblive 168 100 40% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/backend/weblive_pristine 147 84 43% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/cmdfinder 31 3 90% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/config 28 9 68% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/__init__ 8 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/appfilter 67 11 84% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/application 518 124 76% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/categories 310 36 88% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/database 350 88 75% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/debfile 125 35 72% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/enquire 146 6 96% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/history 36 13 64% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/history_impl/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/history_impl/apthistory 132 33 75% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/pkginfo 107 35 67% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/pkginfo_impl/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/pkginfo_impl/aptcache 521 149 71% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/update 657 62 91% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/db/utils 23 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/distro/Debian 86 61 29% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/distro/Ubuntu 125 51 59% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/distro/__init__ 90 43 52% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/enums 121 8 93% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/expunge 41 28 32% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/gwibber_helper 64 22 66% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/hw 40 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/i18n 46 4 91% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/log 62 14 77% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/netstatus 88 18 80% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/paths 43 8 81% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/plugin 62 4 94% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/region 79 5 94% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/testutils 115 4 97% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/SimpleGtkbuilderApp 18 5 72% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/app 715 354 50% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/aptd_gtk3 44 36 18% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/dialogs/__init__ 80 28 65% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/dialogs/deauthorize_dialog 79 67 15% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/dialogs/dependency_dialogs 79 19 76% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/dialogs/dialog_tos 50 5 90% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/drawing 66 32 52% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/em 33 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/gmenusearch 80 35 56% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/models/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/models/appstore2 274 29 89% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/models/pendingstore 111 65 41% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/availablepane 423 135 68% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/basepane 15 5 67% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/globalpane 58 4 93% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/historypane 252 19 92% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/installedpane 455 142 69% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/pendingpane 95 28 71% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/softwarepane 286 68 76% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/panes/viewswitcher 168 65 61% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/review_gui_helper 794 311 61% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/session/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/session/appmanager 89 12 87% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/session/navhistory 164 17 90% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/session/viewmanager 125 28 78% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/utils 65 12 82% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/appdetailsview 1268 187 85% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/appview 189 31 84% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/catview_gtk 446 61 86% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/pkgnamesview 64 8 88% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/purchaseview 205 83 60% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/views/webkit 60 29 52% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/actionbar 223 79 65% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/apptreeview 440 228 48% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/backforward 101 20 80% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/buttons 410 64 84% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/cellrenderers 308 49 84% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/containers 378 24 94% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/description 791 424 46% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/exhibits 373 63 83% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/imagedialog 35 3 91% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/labels 59 11 81% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/menubutton 64 45 30% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/oneconfviews 98 45 54% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/recommendations 188 39 79% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/reviews 578 112 81% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/searchaid 179 61 66% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/searchentry 89 25 72% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/separators 26 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/spinner 64 2 97% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/stars 362 44 88% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/symbolic_icons 149 10 93% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/thumbnail 340 59 83% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/videoplayer 110 56 49% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/viewport 24 15 38% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/gtk3/widgets/weblivedialog 68 58 15% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/qml/__init__ 0 0 100% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/qml/categoriesmodel 53 21 60% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/qml/pkglist 134 66 51% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/ui/qml/reviewslist 46 3 93% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/utils 436 112 74% +/home/egon/devel/software-center/build-area/software-center-5.1.14.1/softwarecenter/version 4 0 100% +__init__ 0 0 100% +data/plugins/mock_plugin 4 0 100% +gtk3/test_app_view 61 0 100% +gtk3/test_appdetailsview 332 5 98% +gtk3/test_appmanager 51 0 100% +gtk3/test_appstore2 35 0 100% +gtk3/test_catview 172 0 100% +gtk3/test_custom_lists 38 0 100% +gtk3/test_debfile_view 27 0 100% +gtk3/test_dialogs 31 0 100% +gtk3/test_globalpane 13 0 100% +gtk3/test_install_progress 32 0 100% +gtk3/test_installedpane 40 0 100% +gtk3/test_navhistory 135 0 100% +gtk3/test_panes 42 0 100% +gtk3/test_purchase 77 0 100% +gtk3/test_recommendations_widgets 24 0 100% +gtk3/test_reviews 129 2 98% +gtk3/test_search 48 0 100% +gtk3/test_unity_launcher_integration 84 0 100% +gtk3/test_views 40 0 100% +gtk3/test_widgets 161 1 99% +qml/test_ui_qml_helpers 78 0 100% +test_addons 30 0 100% +test_aptd 72 28 61% +test_apthistory 71 1 99% +test_categories 64 0 100% +test_channels 25 0 100% +test_cmdfiner 20 0 100% +test_database 398 1 99% +test_debfileapplication 67 1 99% +test_description_norm 35 0 100% +test_distro 20 0 100% +test_downloader 49 0 100% +test_enquire 28 2 93% +test_gwibber 34 7 79% +test_htmlize 21 0 100% +test_hw 22 0 100% +test_i18n 36 0 100% +test_launchpad 31 1 97% +test_login_backend 19 0 100% +test_mime 25 0 100% +test_netstatus 16 0 100% +test_origin 22 0 100% +test_package_info 59 0 100% +test_pep8 39 1 97% +test_pkginfo 36 1 97% +test_plugin 18 0 100% +test_ppa_iconfilename 41 1 98% +test_purchase_backend 47 23 51% +test_pyflakes 9 0 100% +test_recagent 101 26 74% +test_region 46 0 100% +test_reinstall_purchased 140 0 100% +test_rnr_api 14 0 100% +test_scagent 40 2 95% +test_spawn_helper 17 0 100% +test_startup 39 24 38% +test_testutils 37 0 100% +test_ubuntu_sso_api 19 0 100% +test_utils 125 14 89% +test_where_is_it 51 9 82% +test_xapian 71 1 99% +test_xapian_query 53 1 98% +---------------------------------------------------------------------------------------------------------------------------------------------- +TOTAL 23808 6000 75% diff -Nru software-center-5.1.14/test/test_recagent.py software-center-5.1.14.1/test/test_recagent.py --- software-center-5.1.14/test/test_recagent.py 2012-03-30 13:37:08.000000000 +0000 +++ software-center-5.1.14.1/test/test_recagent.py 2012-04-02 17:04:52.000000000 +0000 @@ -3,7 +3,6 @@ from gi.repository import GObject import unittest import os -import uuid from mock import patch @@ -40,20 +39,19 @@ def _patched_on_submit_profile_data(*args, **kwargs): piston_submit_profile = {} recommender_agent.emit("submit-profile-finished", - piston_submit_profile, - uuid.uuid1()) + piston_submit_profile) mock_spawn_helper_run.side_effect = _patched_on_submit_profile_data recommender_agent = RecommenderAgent() recommender_agent.connect("submit-profile-finished", self.on_query_done) recommender_agent.connect("error", self.on_query_error) + recommender_agent._calc_profile_id = lambda profile: "i-am-random" db = get_test_db() recommender_agent.post_submit_profile(db) self.assertFalse(self.error) args, kwargs = mock_spawn_helper_run.call_args - self.assertNotEqual(kwargs['data'][0]['uuid'], None) self.assertNotEqual(kwargs['data'][0]['package_list'], []) - def on_query_done(self, recagent, data, uuid=""): + def on_query_done(self, recagent, data): print "query done, data: '%s'" % data self.loop.quit()