Hello community,

here is the log from the commit of package yast2-network for openSUSE:Factory 
checked in at 2017-01-23 11:26:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-network (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-network.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-network"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-network/yast2-network.changes      
2016-12-26 21:44:14.449473289 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 
2017-01-23 11:26:12.672978570 +0100
@@ -1,0 +2,7 @@
+Wed Jan 11 00:56:09 UTC 2017 - [email protected]
+
+- Fixed the assignment of udev rules to Lan Items when a previous
+  one does not exist (bsc#996879).
+- 3.2.18
+
+-------------------------------------------------------------------

Old:
----
  yast2-network-3.2.17.tar.bz2

New:
----
  yast2-network-3.2.18.tar.bz2

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

Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.U4MzYW/_old  2017-01-23 11:26:13.208902600 +0100
+++ /var/tmp/diff_new_pack.U4MzYW/_new  2017-01-23 11:26:13.216901466 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package yast2-network
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-network
-Version:        3.2.17
+Version:        3.2.18
 Release:        0
 BuildArch:      noarch
 

++++++ yast2-network-3.2.17.tar.bz2 -> yast2-network-3.2.18.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/.travis.yml 
new/yast2-network-3.2.18/.travis.yml
--- old/yast2-network-3.2.17/.travis.yml        2016-12-20 09:49:36.693339548 
+0100
+++ new/yast2-network-3.2.18/.travis.yml        2017-01-16 17:29:43.928382000 
+0100
@@ -1,18 +1,11 @@
-language: cpp
-compiler:
-    - gcc
+sudo: required
+language: bash
+services:
+  - docker
+
 before_install:
-    # disable rvm, use system Ruby
-    - rvm reset
-    # install newer augeasget repo with newer augeas, otherwise ruby-augeas 
fails (see https://github.com/yast/yast-network/pull/454#issuecomment-253795507)
-    - sudo add-apt-repository -y ppa:raphink/augeas
-    - sudo apt-get update
-    - sudo apt-get install libaugeas-dev libxml2-dev
-    # end of augeas install
-    - wget 
https://raw.githubusercontent.com/yast/yast-devtools/master/travis-tools/travis_setup.sh
-    - sh ./travis_setup.sh -p "ruby2.1-dev augeas-lenses libaugeas0 rake 
yast2-devtools yast2-testsuite yast2 yast2-storage yast2-proxy yast2-country 
yast2-packager" -g "rspec:3.3.0 yast-rake gettext rubocop:0.41.2 
simplecov:0.10.0 coveralls cfa cheetah"
+  - docker build -t yast-network-image .
 script:
-    - rubocop
-    - rake check:syntax
-    - rake check:pot
-    - COVERAGE=1 rake test:unit
+  # the "yast-travis-ruby" script is included in the base yastdevel/ruby image
+  # see https://github.com/yast/docker-yast-ruby/blob/master/yast-travis-ruby
+  - docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" 
yast-network-image yast-travis-ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/Dockerfile 
new/yast2-network-3.2.18/Dockerfile
--- old/yast2-network-3.2.17/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.2.18/Dockerfile 2017-01-16 17:29:43.936382000 +0100
@@ -0,0 +1,3 @@
+FROM yastdevel/ruby
+COPY . /usr/src/app
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/package/yast2-network.changes 
new/yast2-network-3.2.18/package/yast2-network.changes
--- old/yast2-network-3.2.17/package/yast2-network.changes      2016-12-20 
09:49:36.805339548 +0100
+++ new/yast2-network-3.2.18/package/yast2-network.changes      2017-01-16 
17:29:44.020382000 +0100
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Jan 11 00:56:09 UTC 2017 - [email protected]
+
+- Fixed the assignment of udev rules to Lan Items when a previous
+  one does not exist (bsc#996879).
+- 3.2.18
+
+-------------------------------------------------------------------
 Fri Dec  9 09:19:16 UTC 2016 - [email protected]
 
 - bnc#1013605
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/package/yast2-network.spec 
new/yast2-network-3.2.18/package/yast2-network.spec
--- old/yast2-network-3.2.17/package/yast2-network.spec 2016-12-20 
09:49:36.805339548 +0100
+++ new/yast2-network-3.2.18/package/yast2-network.spec 2017-01-16 
17:29:44.020382000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-network
-Version:        3.2.17
+Version:        3.2.18
 Release:        0
 BuildArch:      noarch
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/src/modules/LanItems.rb 
new/yast2-network-3.2.18/src/modules/LanItems.rb
--- old/yast2-network-3.2.17/src/modules/LanItems.rb    2016-12-20 
09:49:36.969339548 +0100
+++ new/yast2-network-3.2.18/src/modules/LanItems.rb    2017-01-16 
17:29:44.200382000 +0100
@@ -488,7 +488,7 @@
       # =    for assignment
       # ==   for equality checks
       operator = new_key == "NAME" ? "=" : "=="
-      current_rule = getUdevFallback
+      current_rule = GetItemUdevRule(@current)
       rule = RemoveKeyFromUdevRule(getUdevFallback, replace_key)
 
       # NAME="devname" has to be last in the rule.
@@ -498,12 +498,12 @@
       new_rule = AddToUdevRule(rule, "#{new_key}#{operator}\"#{new_val}\"")
       new_rule.push(name_tuple)
 
-      log.info("ReplaceItemUdev: new udev rule = #{new_rule}")
-
       if current_rule.sort != new_rule.sort
         SetModified()
 
-        Items()[@current]["udev"] = { "net" => {} } if 
!Items()[@current]["udev"]
+        log.info("ReplaceItemUdev: new udev rule = #{new_rule}")
+
+        Items()[@current]["udev"] = { "net" => [] } if 
!Items()[@current]["udev"]
         Items()[@current]["udev"]["net"] = new_rule
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.2.17/test/udev_test.rb 
new/yast2-network-3.2.18/test/udev_test.rb
--- old/yast2-network-3.2.17/test/udev_test.rb  2016-12-20 09:49:37.093339548 
+0100
+++ new/yast2-network-3.2.18/test/udev_test.rb  2017-01-16 17:29:44.328382000 
+0100
@@ -54,7 +54,7 @@
 end
 
 describe "#udev_rule_key" do
-  let(:rule) { ["KERNELS=\"invalid\"", "KERNEL=\"eth*\"", "NAME=\"eth1\""] }
+  let(:rule) { ["KERNELS==\"invalid\"", "KERNEL==\"eth*\"", "NAME=\"eth1\""] }
 
   it "raises ArgumentError if given rule is empty" do
     expect { Yast::LanItems.udev_key_value(nil, "KERNEL") }
@@ -73,7 +73,7 @@
 describe "NetworkLanUdevInclude#AddToUdevRule" do
   subject(:udev) { NetworkLanComplexUdev.new }
 
-  let(:rule) { ["KERNELS=\"invalid\"", "KERNEL=\"eth*\"", "NAME=\"eth1\""] }
+  let(:rule) { ["KERNELS==\"invalid\"", "KERNEL==\"eth*\"", "NAME=\"eth1\""] }
 
   it "adds new tripled into existing rule" do
     updated_rule = udev.AddToUdevRule(rule, "ENV{MODALIAS}==\"e1000\"")
@@ -84,7 +84,7 @@
 describe "NetworkLanUdevInclude#RemoveKeyFromUdevRule" do
   subject(:udev) { NetworkLanComplexUdev.new }
 
-  let(:rule) { ["KERNELS=\"invalid\"", "KERNEL=\"eth*\"", "NAME=\"eth1\""] }
+  let(:rule) { ["KERNELS==\"invalid\"", "KERNEL==\"eth*\"", "NAME=\"eth1\""] }
 
   it "removes tripled from existing rule" do
     updated_rule = udev.RemoveKeyFromUdevRule(rule, "KERNEL")
@@ -93,84 +93,62 @@
 end
 
 describe "LanItems#ReplaceItemUdev" do
-  Yast.import "LanItems"
+  let(:rule) { [] }
+  let(:items) { { 0 => { "udev" => { "net" => rule } } } }
+  let(:mac_address) { "xx:01:02:03:04:05" }
 
   before(:each) do
     Yast::LanItems.current = 0
 
     # LanItems should create "udev" and "net" subkeys for each item
     # during Read
-    allow(Yast::LanItems)
-      .to receive(:Items)
-      .and_return(0 => { "udev" => { "net" => [] } })
-  end
-
-  it "replaces triplet in the rule as requested" do
-    allow(Yast::LanItems)
-      .to receive(:Items)
-      .and_return(0 => {})
-    allow(Yast::LanItems)
-      .to receive(:getUdevFallback)
-      .and_return(
-        [
-          "KERNELS==\"invalid\"",
-          "KERNEL=\"eth*\"",
-          "NAME=\"eth1\""
-        ]
-      )
+    allow(Yast::LanItems).to receive(:Items).and_return(items)
+  end
 
-    expect(Yast::LanItems).to receive(:SetModified)
+  context "when the given Item hasn't got an udev rule" do
+    let(:items) { { 0 => {} } }
+    let(:default_rule) { Yast::LanItems.GetDefaultUdevRule("eth1", 
mac_address) }
 
-    # internally used in ReplaceItemUdev, needed to be able to mock its usage
-    Yast::LanItems.current = 0
+    it "creates and assings a new rule for the given Item" do
+      allow(Yast::LanItems).to 
receive(:getUdevFallback).and_return(default_rule)
+
+      expect(Yast::LanItems).to receive(:SetModified)
+
+      updated_rule = Yast::LanItems.ReplaceItemUdev("KERNELS", 
"ATTR{address}", mac_address)
+      item_rule    = Yast::LanItems.getCurrentItem["udev"]["net"]
+
+      expect(updated_rule).to include "ATTR{address}==\"#{mac_address}\""
+      expect(item_rule).to include "ATTR{address}==\"#{mac_address}\""
+    end
+  end
+
+  context "when the given Item has got an udev rule" do
+    let(:rule) { ["ATTR==\"#{mac_address}\"", "KERNEL==\"eth*\"", 
"NAME=\"eth1\""] }
+    let(:bus_id) { "0000:08:00.0" }
+
+    it "replaces triplet in the rule as requested" do
+      expect(Yast::LanItems).to receive(:SetModified)
+
+      updated_rule = Yast::LanItems.ReplaceItemUdev("ATTR{address}", 
"KERNELS", bus_id)
+      item_rule    = Yast::LanItems.getCurrentItem["udev"]["net"]
+
+      expect(updated_rule).to include "KERNELS==\"#{bus_id}\""
+      expect(updated_rule).not_to include "ATTR{address}==\"#{mac_address}\""
+      expect(item_rule).to include "KERNELS==\"#{bus_id}\""
+      expect(item_rule).not_to include "ATTR{address}==\"#{mac_address}\""
+    end
+
+    it "does not set modification flag in case of no change" do
+      Yast::LanItems.ReplaceItemUdev("ATTR{address}", "ATTR{address}", 
mac_address)
+
+      expect(Yast::LanItems).not_to receive(:SetModified)
+    end
 
-    updated_rule = Yast::LanItems.ReplaceItemUdev(
-      "KERNELS",
-      "ATTR{address}",
-      "xx:01:02:03:04:05"
-    )
-    expect(updated_rule).to include "ATTR{address}==\"xx:01:02:03:04:05\""
-    expect(updated_rule).not_to include "KERNELS"
-  end
-
-  it "do not set modification flag in case of no change" do
-    allow(Yast::LanItems)
-      .to receive(:getUdevFallback)
-      .and_return(
-        [
-          "ATTR{address}==\"xx:01:02:03:04:05\"",
-          "KERNEL=\"eth*\"",
-          "NAME=\"eth1\""
-        ]
-      )
-
-    Yast::LanItems.ReplaceItemUdev(
-      "KERNELS",
-      "ATTR{address}",
-      "xx:01:02:03:04:05"
-    )
-
-    expect(Yast::LanItems).not_to receive(:SetModified)
-  end
-
-  # this is an SCR limitation
-  it "contains NAME tuplet at last position" do
-    allow(Yast::LanItems)
-      .to receive(:getUdevFallback)
-      .and_return(
-        [
-          "ATTR{address}==\"xx:01:02:03:04:05\"",
-          "KERNEL=\"eth*\"",
-          "NAME=\"eth1\""
-        ]
-      )
-
-    updated_rule = Yast::LanItems.ReplaceItemUdev(
-      "KERNELS",
-      "ATTR{address}",
-      "xx:01:02:03:04:AA"
-    )
+    # this is an SCR limitation
+    it "contains NAME tuplet at last position" do
+      updated_rule = Yast::LanItems.ReplaceItemUdev("ATTR{address}", 
"KERNELS", bus_id)
 
-    expect(updated_rule.last).to match(/NAME.*/)
+      expect(updated_rule.last).to match(/NAME.*/)
+    end
   end
 end


Reply via email to