Hello community,

here is the log from the commit of package yast2-services-manager for 
openSUSE:Factory checked in at 2014-07-26 12:19:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-services-manager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-services-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-services-manager"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/yast2-services-manager/yast2-services-manager.changes
    2014-07-23 22:05:40.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-services-manager.new/yast2-services-manager.changes
       2014-07-26 12:20:01.000000000 +0200
@@ -1,0 +2,24 @@
+Tue Jul 25 12:40:31 UTC 2014 - an...@suse.com
+
+- Ensures that the errors list is cleared if the user decides to
+  continue after a failure (by delegating ServiceManager.errors to
+  ServiceManagerService)
+- Fixes bnc#888555
+- 3.1.27
+
+-------------------------------------------------------------------
+Thu Jul 24 11:55:32 CEST 2014 - loci...@suse.com
+
+- While saving services state (activate/deactivate), do not touch
+  a service, that is already in the desired state (bnc#884756)
+- 3.1.26
+
+-------------------------------------------------------------------
+Wed Jul 23 18:51:57 CEST 2014 - loci...@suse.com
+
+- Showing info that Services Manager hasn't been configured yet in
+  AutoYast till it's cloned from the system or user enters
+  the module and saves its configuration (bnc#887694)
+- 3.1.25
+
+-------------------------------------------------------------------

Old:
----
  yast2-services-manager-3.1.24.tar.bz2

New:
----
  yast2-services-manager-3.1.27.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-services-manager.spec ++++++
--- /var/tmp/diff_new_pack.C8z4OT/_old  2014-07-26 12:20:04.000000000 +0200
+++ /var/tmp/diff_new_pack.C8z4OT/_new  2014-07-26 12:20:04.000000000 +0200
@@ -24,7 +24,7 @@
 ######################################################################
 
 Name:           yast2-services-manager
-Version:        3.1.24
+Version:        3.1.27
 Release:        0
 
 BuildArch:      noarch

++++++ yast2-services-manager-3.1.24.tar.bz2 -> 
yast2-services-manager-3.1.27.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/package/yast2-services-manager.changes 
new/yast2-services-manager-3.1.27/package/yast2-services-manager.changes
--- old/yast2-services-manager-3.1.24/package/yast2-services-manager.changes    
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/package/yast2-services-manager.changes    
2014-07-25 15:17:10.000000000 +0200
@@ -1,4 +1,28 @@
 -------------------------------------------------------------------
+Tue Jul 25 12:40:31 UTC 2014 - an...@suse.com
+
+- Ensures that the errors list is cleared if the user decides to
+  continue after a failure (by delegating ServiceManager.errors to
+  ServiceManagerService)
+- Fixes bnc#888555
+- 3.1.27
+
+-------------------------------------------------------------------
+Thu Jul 24 11:55:32 CEST 2014 - loci...@suse.com
+
+- While saving services state (activate/deactivate), do not touch
+  a service, that is already in the desired state (bnc#884756)
+- 3.1.26
+
+-------------------------------------------------------------------
+Wed Jul 23 18:51:57 CEST 2014 - loci...@suse.com
+
+- Showing info that Services Manager hasn't been configured yet in
+  AutoYast till it's cloned from the system or user enters
+  the module and saves its configuration (bnc#887694)
+- 3.1.25
+
+-------------------------------------------------------------------
 Tue Jul 22 15:01:52 CEST 2014 - loci...@suse.com
 
 - Using new library ServicesProposal, that holds information about
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/package/yast2-services-manager.spec 
new/yast2-services-manager-3.1.27/package/yast2-services-manager.spec
--- old/yast2-services-manager-3.1.24/package/yast2-services-manager.spec       
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/package/yast2-services-manager.spec       
2014-07-25 15:17:10.000000000 +0200
@@ -24,7 +24,7 @@
 ######################################################################
 
 Name:           yast2-services-manager
-Version:        3.1.24
+Version:        3.1.27
 
 Release:        0
 BuildArch:      noarch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/src/clients/services-manager.rb 
new/yast2-services-manager-3.1.27/src/clients/services-manager.rb
--- old/yast2-services-manager-3.1.24/src/clients/services-manager.rb   
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/clients/services-manager.rb   
2014-07-25 15:17:10.000000000 +0200
@@ -72,8 +72,6 @@
     success = ServicesManager.save
     UI.CloseDialog
     if !success
-      # FIXME if user select to continue the content of the popup is not 
discarded
-      # and new error messages will be displayed beneath the old ones
       success = ! Popup::ContinueCancel(
         _("Writing the configuration failed:\n" +
         ServicesManager.errors.join("\n")            +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/src/modules/services_manager.rb 
new/yast2-services-manager-3.1.27/src/modules/services_manager.rb
--- old/yast2-services-manager-3.1.24/src/modules/services_manager.rb   
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/modules/services_manager.rb   
2014-07-25 15:17:10.000000000 +0200
@@ -12,11 +12,8 @@
     TARGET   = 'default_target'
     SERVICES = 'services'
 
-    attr_reader :errors
-
     def initialize
       textdomain 'services-manager'
-      @errors = []
     end
 
     def export
@@ -27,8 +24,13 @@
     end
 
     def auto_summary
-      erb_template = 
File.expand_path("../../data/services-manager/autoyast_summary.erb", __FILE__)
-      ERB.new(File.read(erb_template)).result(binding)
+      if !modified?
+        # AutoYast summary
+        _("Not configured yet.")
+      else
+        erb_template = 
File.expand_path("../../data/services-manager/autoyast_summary.erb", __FILE__)
+        ERB.new(File.read(erb_template)).result(binding)
+      end
     end
 
     def import data
@@ -47,13 +49,19 @@
       ServicesManagerService.read
     end
 
+    # Errors are delegated to ServiceManagerService
+    #
+    # @see ServiceManagerService#errors
+    def errors
+      ServicesManagerService.errors
+    end
+
     # Saves the current configuration
     #
     # @return Boolean if successful
     def save
       target_saved = ServicesManagerTarget.save
       services_saved = ServicesManagerService.save
-      errors << ServicesManagerService.errors
       !!(target_saved && services_saved)
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/src/modules/services_manager_service.rb 
new/yast2-services-manager-3.1.27/src/modules/services_manager_service.rb
--- old/yast2-services-manager-3.1.24/src/modules/services_manager_service.rb   
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/modules/services_manager_service.rb   
2014-07-25 15:17:10.000000000 +0200
@@ -3,6 +3,7 @@
 module Yast
   import "Service"
   import "ServicesProposal"
+  import "SystemdService"
 
   class ServicesManagerServiceClass < Module
     include Yast::Logger
@@ -382,11 +383,23 @@
     end
 
     def switch_services
-        Builtins.y2milestone "Switching the services"
+      log.info "Switching services"
       services_switched = []
+
       services.each do |service_name, service_attributes|
         next unless service_attributes[:modified]
-        if switch!(service_name)
+
+        service = SystemdService.find(service_name)
+        unless service
+          log.error "Cannot find service #{service_name}"
+          next
+        end
+
+        # Do not start or stop services that are already in the desired state
+        # they might be coming from AutoYast import and thus they are 
:modified.
+        if service.loaded? == service_attributes[:loaded] || service.active? 
== service_attributes[:active]
+          log.info "Skipping service #{service_name} - it's already in desired 
state"
+        elsif switch!(service_name)
           services_switched << service_name
         else
           change  = active(service_name) ? 'stop' : 'start'
@@ -398,6 +411,7 @@
           Builtins.y2error("Error: %1", message)
         end
       end
+
       services_switched
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/test/services_manager_service_test.rb 
new/yast2-services-manager-3.1.27/test/services_manager_service_test.rb
--- old/yast2-services-manager-3.1.24/test/services_manager_service_test.rb     
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/test/services_manager_service_test.rb     
2014-07-25 15:17:10.000000000 +0200
@@ -3,14 +3,17 @@
 require_relative "test_helper"
 
 module Yast
+  extend Yast::I18n
+  Yast::textdomain "services-manager"
+
   describe ServicesManagerService do
     attr_reader :service
 
     def stub_services
-      Service.stub(:Enable).and_return(true)
-      Service.stub(:Disable).and_return(true)
-      Service.stub(:Start).and_return(true)
-      Service.stub(:Stop).and_return(true)
+      allow(Service).to receive(:Enable).and_return true
+      allow(Service).to receive(:Disable).and_return true
+      allow(Service).to receive(:Start).and_return true
+      allow(Service).to receive(:Stop).and_return true
     end
 
     before do
@@ -139,5 +142,29 @@
       expect(sshd[:active]).to eq(status)
       expect(sshd[:modified]).to eq(false)
     end
+
+    context "when enabling is failing" do
+      before do
+        stub_services
+        allow(Service).to receive(:Enable).and_return false
+        allow(Service).to receive(:Disable).and_return false
+        service.toggle 'postfix'
+        service.save
+      end
+
+      it "reports errors" do
+        expect(service.errors.first).to start_with Yast::_('Could not enable 
postfix')
+      end
+
+      it "cleans messages after reset" do
+        expect(service.errors.size).to eq 1
+        service.reset
+        expect(service.errors.size).to eq 0
+        # Let's fail again
+        service.toggle 'postfix'
+        service.save
+        expect(service.errors.size).to eq 1
+      end
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-services-manager-3.1.24/test/services_manager_test.rb 
new/yast2-services-manager-3.1.27/test/services_manager_test.rb
--- old/yast2-services-manager-3.1.24/test/services_manager_test.rb     
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/test/services_manager_test.rb     
2014-07-25 15:17:10.000000000 +0200
@@ -6,6 +6,9 @@
   Yast.import 'ServicesManagerTarget'
   Yast.import 'ServicesManager'
 
+  extend Yast::I18n
+  Yast::textdomain "services-manager"
+
   TARGETS = {
     "multi-user"=>{
       :enabled=>true, :loaded=>true, :active=>true, :description=>"Multi-User 
System"
@@ -28,6 +31,13 @@
       allow(Yast::ServicesManagerTarget).to 
receive(:targets).and_return(TARGETS)
     end
 
+    describe ".errors" do
+      it "delegates errors to ServiceManagerService" do
+        allow(Yast::ServicesManagerService).to 
receive(:errors).and_return(["Error msg"])
+        expect(Yast::ServicesManager.errors).to eq ["Error msg"]
+      end
+    end
+
     context "Autoyast API" do
       it "exports systemd target and services" do
         services = {
@@ -120,16 +130,26 @@
         end
       end
 
-      it "returns HTML-formatted autoyast summary with HTML-escaped values" do
-        expect(ServicesManagerTarget).to 
receive(:export).and_return("multi-head-graphical-hydra")
-        expect(ServicesManagerService).to receive(:export).and_return({
-          "enable" => ["service-1", "service-<br>-2", "service-<b>name</b>-3"],
-          "disable" => ["service-4", "service-<br>-5", 
"service-<b>name</b>-6"],
-        })
-
-        summary = ServicesManager.auto_summary
-        ["multi-head-graphical-hydra", "service-[14]", 
"service-&lt;br&gt;-[25]", "service-&lt;b&gt;name&lt;/b&gt;-[36]"].each do 
|item|
-          expect(summary).to match(/#{item}/)
+      context "when configuration hasn't been cloned/modified" do
+        it "returns information that it hasn't been configured yet" do
+          expect(ServicesManager).to receive(:modified?).and_return(false)
+          expect(ServicesManager.auto_summary).to eq(Yast::_("Not configured 
yet."))
+        end
+      end
+
+      context "when configuration has been cloned/modified" do
+        it "returns HTML-formatted autoyast summary with HTML-escaped values" 
do
+          expect(ServicesManager).to receive(:modified?).and_return(true)
+          expect(ServicesManagerTarget).to 
receive(:export).and_return("multi-head-graphical-hydra")
+          expect(ServicesManagerService).to receive(:export).and_return({
+            "enable" => ["service-1", "service-<br>-2", 
"service-<b>name</b>-3"],
+            "disable" => ["service-4", "service-<br>-5", 
"service-<b>name</b>-6"],
+          })
+
+          summary = ServicesManager.auto_summary
+          ["multi-head-graphical-hydra", "service-[14]", 
"service-&lt;br&gt;-[25]", "service-&lt;b&gt;name&lt;/b&gt;-[36]"].each do 
|item|
+            expect(summary).to match(/#{item}/)
+          end
         end
       end
     end

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to