Hello community,

here is the log from the commit of package yast2-packager for openSUSE:Factory 
checked in at 2020-07-30 09:59:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-packager.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Thu Jul 30 09:59:42 2020 rev:399 rq:823073 version:4.3.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes    
2020-07-21 15:48:13.628135199 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new.3592/yast2-packager.changes  
2020-07-30 10:00:06.175221303 +0200
@@ -1,0 +2,6 @@
+Mon Jul 27 21:10:29 UTC 2020 - Josef Reidinger <[email protected]>
+
+- Handle exceptions when parsing xml file (related to bsc#1170886)
+- 4.3.5
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-4.3.4.tar.bz2

New:
----
  yast2-packager-4.3.5.tar.bz2

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

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.bOityW/_old  2020-07-30 10:00:07.215221923 +0200
+++ /var/tmp/diff_new_pack.bOityW/_new  2020-07-30 10:00:07.223221928 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.3.4
+Version:        4.3.5
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later

++++++ yast2-packager-4.3.4.tar.bz2 -> yast2-packager-4.3.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.4/package/yast2-packager.changes 
new/yast2-packager-4.3.5/package/yast2-packager.changes
--- old/yast2-packager-4.3.4/package/yast2-packager.changes     2020-07-15 
16:06:57.000000000 +0200
+++ new/yast2-packager-4.3.5/package/yast2-packager.changes     2020-07-28 
09:20:21.000000000 +0200
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Mon Jul 27 21:10:29 UTC 2020 - Josef Reidinger <[email protected]>
+
+- Handle exceptions when parsing xml file (related to bsc#1170886)
+- 4.3.5
+
+-------------------------------------------------------------------
 Tue Jul 14 10:41:22 CEST 2020 - [email protected]
 
 - Handle variable expansion in repository name (bsc#1172477)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.4/package/yast2-packager.spec 
new/yast2-packager-4.3.5/package/yast2-packager.spec
--- old/yast2-packager-4.3.4/package/yast2-packager.spec        2020-07-15 
16:06:57.000000000 +0200
+++ new/yast2-packager-4.3.5/package/yast2-packager.spec        2020-07-28 
09:20:21.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.3.4
+Version:        4.3.5
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.3.4/src/lib/y2packager/clients/inst_productsources.rb 
new/yast2-packager-4.3.5/src/lib/y2packager/clients/inst_productsources.rb
--- old/yast2-packager-4.3.4/src/lib/y2packager/clients/inst_productsources.rb  
2020-07-15 16:06:57.000000000 +0200
+++ new/yast2-packager-4.3.5/src/lib/y2packager/clients/inst_productsources.rb  
2020-07-28 09:20:21.000000000 +0200
@@ -502,10 +502,10 @@
         return false
       end
 
-      xml_file_content = XML.XMLToYCPFile(download_file)
-
-      if xml_file_content.nil?
-        Builtins.y2error("Reading file %1 failed", download_file)
+      begin
+        xml_file_content = XML.XMLToYCPFile(download_file)
+      rescue XMLDeserializationError => e
+        log.error "Reading file #{download_file} failed: #{e.inspect}"
         return false
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.4/src/modules/AddOnProduct.rb 
new/yast2-packager-4.3.5/src/modules/AddOnProduct.rb
--- old/yast2-packager-4.3.4/src/modules/AddOnProduct.rb        2020-07-15 
16:06:57.000000000 +0200
+++ new/yast2-packager-4.3.5/src/modules/AddOnProduct.rb        2020-07-28 
09:20:21.000000000 +0200
@@ -1191,14 +1191,16 @@
         return []
       end
 
-      xmlfile_products = XML.XMLToYCPFile(parse_file)
-
-      if xmlfile_products.nil?
+      begin
+        xmlfile_products = XML.XMLToYCPFile(parse_file)
+      rescue XMLDeserializationError => e
         # TRANSLATORS: error report
         Report.Error(_("Unable to use additional products."))
-        Builtins.y2error("Erroneous file %1", parse_file)
+        log.error "Erroneous file #{parse_file}: #{e.inspect}"
         return []
-      elsif Ops.get_list(xmlfile_products, "product_items", []) == []
+      end
+
+      if Ops.get_list(xmlfile_products, "product_items", []) == []
         Builtins.y2warning("Empty file %1", parse_file)
         return []
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.4/test/addon_product_test.rb 
new/yast2-packager-4.3.5/test/addon_product_test.rb
--- old/yast2-packager-4.3.4/test/addon_product_test.rb 2020-07-15 
16:06:57.000000000 +0200
+++ new/yast2-packager-4.3.5/test/addon_product_test.rb 2020-07-28 
09:20:21.000000000 +0200
@@ -770,4 +770,24 @@
       end
     end
   end
+
+  describe "#ParseXMLBasedAddOnProductsFile" do
+    context "Passed xml is not valid" do
+      before do
+        allow(Yast::FileUtils).to receive(:Exists).and_return(true)
+
+        allow(Yast::XML).to 
receive(:XMLToYCPFile).and_raise(Yast::XMLDeserializationError)
+      end
+
+      it "return empty array" do
+        expect(subject.ParseXMLBasedAddOnProductsFile("test", "test")).to eq []
+      end
+
+      it "shows error report" do
+        expect(Yast::Report).to receive(:Error)
+
+        subject.ParseXMLBasedAddOnProductsFile("test", "test")
+      end
+    end
+  end
 end


Reply via email to