Hello community,

here is the log from the commit of package yast2-network for openSUSE:Factory 
checked in at 2014-09-20 15:51:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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      
2014-09-17 21:25:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 
2014-09-20 15:51:14.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Sep 17 16:35:12 CEST 2014 - [email protected]
+
+- Really do not lose the default route
+  when editing an interface (bnc#883836#c15).
+- 3.1.100
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.CsSLPr/_old  2014-09-20 15:51:15.000000000 +0200
+++ /var/tmp/diff_new_pack.CsSLPr/_new  2014-09-20 15:51:15.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-network
-Version:        3.1.99
+Version:        3.1.100
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-network-3.1.99.tar.bz2 -> yast2-network-3.1.100.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/package/yast2-network.changes 
new/yast2-network-3.1.100/package/yast2-network.changes
--- old/yast2-network-3.1.99/package/yast2-network.changes      2014-09-17 
16:02:12.000000000 +0200
+++ new/yast2-network-3.1.100/package/yast2-network.changes     2014-09-19 
10:52:13.000000000 +0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Sep 17 16:35:12 CEST 2014 - [email protected]
+
+- Really do not lose the default route
+  when editing an interface (bnc#883836#c15).
+- 3.1.100
+
+-------------------------------------------------------------------
 Wed Sep 17 15:26:59 CEST 2014 - [email protected]
 
 - Do not check for / install packages in inst-sys (bnc#888130)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/package/yast2-network.spec 
new/yast2-network-3.1.100/package/yast2-network.spec
--- old/yast2-network-3.1.99/package/yast2-network.spec 2014-09-17 
16:02:12.000000000 +0200
+++ new/yast2-network-3.1.100/package/yast2-network.spec        2014-09-19 
10:52:13.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-network
-Version:        3.1.99
+Version:        3.1.100
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/src/modules/LanItems.rb 
new/yast2-network-3.1.100/src/modules/LanItems.rb
--- old/yast2-network-3.1.99/src/modules/LanItems.rb    2014-09-17 
16:02:12.000000000 +0200
+++ new/yast2-network-3.1.100/src/modules/LanItems.rb   2014-09-19 
10:52:13.000000000 +0200
@@ -32,7 +32,8 @@
   # 2. Provides direct access to individual items of ifcfg files.
   # For example BOOTPROTO and STARTMODE are accessible in
   # {#bootproto} and {#startmode} (set via {#SetDeviceVars}
-  # via {#Select} or {#SetItem}).
+  # via {#Select} or {#SetItem}). The reverse direction (putting
+  # the individual values back to an item) is {#Commit}.
   #
   # 3. ...
   #
@@ -1644,39 +1645,36 @@
       nil
     end
 
-    def GetDeviceVar(primary, fallback, key)
-      primary = deep_copy(primary)
-      fallback = deep_copy(fallback)
-      ret = Ops.get_string(primary, key, Ops.get(fallback, key))
-      Builtins.y2debug("%1 does not have a default defined", key) if ret == nil
-      ret
-    end
-
-
-    # Set various device variables
-    # @param [Hash] devmap map with variables
+    # Distributes an ifcfg hash to individual attributes.
+    # @param devmap   [Hash] an ifcfg, values are strings
+    # @param defaults [Hash] should provide defaults for devmap
     # @return [void]
     def SetDeviceVars(devmap, defaults)
-      devmap = deep_copy(devmap)
-      defaults = deep_copy(defaults)
+      d = defaults.merge(devmap)
       # address options
-      @bootproto = GetDeviceVar(devmap, defaults, "BOOTPROTO")
-      @ipaddr = GetDeviceVar(devmap, defaults, "IPADDR")
-      @prefix = GetDeviceVar(devmap, defaults, "PREFIXLEN")
-      @remoteip = GetDeviceVar(devmap, defaults, "REMOTE_IPADDR")
-      @netmask = GetDeviceVar(devmap, defaults, "NETMASK")
-      @set_default_route = GetDeviceVar(devmap, defaults, 
"DHCLIENT_SET_DEFAULT_ROUTE") == "yes"
-
-      @mtu = GetDeviceVar(devmap, defaults, "MTU")
-      @ethtool_options = GetDeviceVar(devmap, defaults, "ETHTOOL_OPTIONS")
-      @startmode = GetDeviceVar(devmap, defaults, "STARTMODE")
-      @ifplugd_priority = GetDeviceVar(devmap, defaults, "IFPLUGD_PRIORITY")
-      @description = GetDeviceVar(devmap, defaults, "NAME")
-      @bond_option = GetDeviceVar(devmap, defaults, "BONDING_MODULE_OPTS")
-      @vlan_etherdevice = GetDeviceVar(devmap, defaults, "ETHERDEVICE")
-      @vlan_id = GetDeviceVar(devmap, defaults, "VLAN_ID") # FIXME, remember 
that it can be implied from the name. probably
+      @bootproto         = d["BOOTPROTO"]
+      @ipaddr            = d["IPADDR"]
+      @prefix            = d["PREFIXLEN"]
+      @remoteip          = d["REMOTE_IPADDR"]
+      @netmask           = d["NETMASK"]
+      @set_default_route = case d["DHCLIENT_SET_DEFAULT_ROUTE"]
+                           when "yes"; true
+                           when "no";  false
+                           # all other values! count as unspecified
+                           else        nil
+                           end
+
+      @mtu               = d["MTU"]
+      @ethtool_options   = d["ETHTOOL_OPTIONS"]
+      @startmode         = d["STARTMODE"]
+      @ifplugd_priority  = d["IFPLUGD_PRIORITY"]
+      @description       = d["NAME"]
+      @bond_option       = d["BONDING_MODULE_OPTS"]
+      @vlan_etherdevice  = d["ETHERDEVICE"]
+      # FIXME, remember that it can be implied from the name. probably
+      @vlan_id           = d["VLAN_ID"]
 
-      @bridge_ports = GetDeviceVar(devmap, defaults, "BRIDGE_PORTS")
+      @bridge_ports = d["BRIDGE_PORTS"]
 
       @bond_slaves = []
       Builtins.foreach(devmap) do |key, value|
@@ -1688,93 +1686,52 @@
       end
 
       # tun/tap settings
-      @tunnel_set_owner = GetDeviceVar(devmap, defaults, "TUNNEL_SET_OWNER")
-      @tunnel_set_group = GetDeviceVar(devmap, defaults, "TUNNEL_SET_GROUP")
+      @tunnel_set_owner = d["TUNNEL_SET_OWNER"]
+      @tunnel_set_group = d["TUNNEL_SET_GROUP"]
 
       # wireless options
-      @wl_mode = GetDeviceVar(devmap, defaults, "WIRELESS_MODE")
-      @wl_essid = GetDeviceVar(devmap, defaults, "WIRELESS_ESSID")
-      @wl_nwid = GetDeviceVar(devmap, defaults, "WIRELESS_NWID")
-      @wl_auth_mode = GetDeviceVar(devmap, defaults, "WIRELESS_AUTH_MODE")
-      @wl_wpa_psk = GetDeviceVar(devmap, defaults, "WIRELESS_WPA_PSK")
-      @wl_key_length = GetDeviceVar(devmap, defaults, "WIRELESS_KEY_LENGTH")
-      @wl_key = [] # ensure exactly 4 entries
-      Ops.set(@wl_key, 0, GetDeviceVar(devmap, defaults, "WIRELESS_KEY_0"))
-      if Ops.get(@wl_key, 0, "") == ""
-        Ops.set(@wl_key, 0, GetDeviceVar(devmap, defaults, "WIRELESS_KEY"))
-      end
-      Ops.set(@wl_key, 1, GetDeviceVar(devmap, defaults, "WIRELESS_KEY_1"))
-      Ops.set(@wl_key, 2, GetDeviceVar(devmap, defaults, "WIRELESS_KEY_2"))
-      Ops.set(@wl_key, 3, GetDeviceVar(devmap, defaults, "WIRELESS_KEY_3"))
-
-      @wl_default_key = Builtins.tointeger(
-        GetDeviceVar(devmap, defaults, "WIRELESS_DEFAULT_KEY")
-      )
-      @wl_nick = GetDeviceVar(devmap, defaults, "WIRELESS_NICK")
-
-      @wl_wpa_eap = {}
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_MODE",
-        GetDeviceVar(devmap, defaults, "WIRELESS_EAP_MODE")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_IDENTITY",
-        GetDeviceVar(devmap, defaults, "WIRELESS_WPA_IDENTITY")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_PASSWORD",
-        GetDeviceVar(devmap, defaults, "WIRELESS_WPA_PASSWORD")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_ANONID",
-        GetDeviceVar(devmap, defaults, "WIRELESS_WPA_ANONID")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_CLIENT_CERT",
-        GetDeviceVar(devmap, defaults, "WIRELESS_CLIENT_CERT")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_CLIENT_KEY",
-        GetDeviceVar(devmap, defaults, "WIRELESS_CLIENT_KEY")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_CLIENT_KEY_PASSWORD",
-        GetDeviceVar(devmap, defaults, "WIRELESS_CLIENT_KEY_PASSWORD")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_CA_CERT",
-        GetDeviceVar(devmap, defaults, "WIRELESS_CA_CERT")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_AUTH",
-        GetDeviceVar(devmap, defaults, "WIRELESS_EAP_AUTH")
-      )
-      Ops.set(
-        @wl_wpa_eap,
-        "WPA_EAP_PEAP_VERSION",
-        GetDeviceVar(devmap, defaults, "WIRELESS_PEAP_VERSION")
-      )
+      @wl_mode            = d["WIRELESS_MODE"]
+      @wl_essid           = d["WIRELESS_ESSID"]
+      @wl_nwid            = d["WIRELESS_NWID"]
+      @wl_auth_mode       = d["WIRELESS_AUTH_MODE"]
+      @wl_wpa_psk         = d["WIRELESS_WPA_PSK"]
+      @wl_key_length      = d["WIRELESS_KEY_LENGTH"]
+      @wl_key             = [
+        d["WIRELESS_KEY_0"],
+        d["WIRELESS_KEY_1"],
+        d["WIRELESS_KEY_2"],
+        d["WIRELESS_KEY_3"]
+      ]
+      if (@wl_key[0] || "").empty?
+        @wl_key[0]        = d["WIRELESS_KEY"]
+      end
+
+      @wl_default_key     = d["WIRELESS_DEFAULT_KEY"].to_i
+      @wl_nick            = d["WIRELESS_NICK"]
+      @wl_wpa_eap = {
+        "WPA_EAP_MODE"                => d["WIRELESS_EAP_MODE"],
+        "WPA_EAP_IDENTITY"            => d["WIRELESS_WPA_IDENTITY"],
+        "WPA_EAP_PASSWORD"            => d["WIRELESS_WPA_PASSWORD"],
+        "WPA_EAP_ANONID"              => d["WIRELESS_WPA_ANONID"],
+        "WPA_EAP_CLIENT_CERT"         => d["WIRELESS_CLIENT_CERT"],
+        "WPA_EAP_CLIENT_KEY"          => d["WIRELESS_CLIENT_KEY"],
+        "WPA_EAP_CLIENT_KEY_PASSWORD" => d["WIRELESS_CLIENT_KEY_PASSWORD"],
+        "WPA_EAP_CA_CERT"             => d["WIRELESS_CA_CERT"],
+        "WPA_EAP_AUTH"                => d["WIRELESS_EAP_AUTH"],
+        "WPA_EAP_PEAP_VERSION"        => d["WIRELESS_PEAP_VERSION"]
+      }
+      @wl_channel     = d["WIRELESS_CHANNEL"]
+      @wl_frequency   = d["WIRELESS_FREQUENCY"]
+      @wl_bitrate     = d["WIRELESS_BITRATE"]
+      @wl_accesspoint = d["WIRELESS_AP"]
+      @wl_power       = d["WIRELESS_POWER"] == "yes"
+      @wl_ap_scanmode = d["WIRELESS_AP_SCANMODE"]
 
-      @wl_channel = GetDeviceVar(devmap, defaults, "WIRELESS_CHANNEL")
-      @wl_frequency = GetDeviceVar(devmap, defaults, "WIRELESS_FREQUENCY")
-      @wl_bitrate = GetDeviceVar(devmap, defaults, "WIRELESS_BITRATE")
-      @wl_accesspoint = GetDeviceVar(devmap, defaults, "WIRELESS_AP")
-      @wl_power = GetDeviceVar(devmap, defaults, "WIRELESS_POWER") == "yes"
-      @wl_ap_scanmode = GetDeviceVar(devmap, defaults, "WIRELESS_AP_SCANMODE")
       # s/390 options
       # We always have to set the MAC Address for qeth Layer2 support
-      @qeth_macaddress = GetDeviceVar(devmap, defaults, "LLADDR")
+      @qeth_macaddress = d["LLADDR"]
 
-      @ipoib_mode = GetDeviceVar(devmap, defaults, "IPOIB_MODE")
+      @ipoib_mode = d["IPOIB_MODE"]
 
       @aliases = Ops.get_map(devmap, "_aliases", {})
 
@@ -1786,14 +1743,13 @@
     # @param [Hash] devmap    map with s390 specific attributes and its values
     # @param [Hash] defaults  map with default values for attributes not found 
in devmap
     def SetS390Vars(devmap, defaults)
-      devmap = deep_copy(devmap)
-      defaults = deep_copy(defaults)
       return if !Arch.s390
+      d = defaults.merge(devmap)
 
-      @qeth_portname = GetDeviceVar(devmap, defaults, "QETH_PORTNAME")
-      @qeth_portnumber = GetDeviceVar(devmap, defaults, "QETH_PORTNUMBER")
-      @qeth_layer2 = GetDeviceVar(devmap, defaults, "QETH_LAYER2") == "yes"
-      @qeth_chanids = GetDeviceVar(devmap, defaults, "QETH_CHANIDS")
+      @qeth_portname   = d["QETH_PORTNAME"]
+      @qeth_portnumber = d["QETH_PORTNUMBER"]
+      @qeth_layer2     = d["QETH_LAYER2"] == "yes"
+      @qeth_chanids    = d["QETH_CHANIDS"]
 
       # qeth attribute. FIXME: currently not read from system.
       @ipa_takeover = Ops.get_string(defaults, "IPA_TAKEOVER", "") == "yes"
@@ -1867,6 +1823,7 @@
     end
 
     # Select the given device
+    # FIXME currently *dev* is always ""
     # @param [String] dev device to select ("" for new device, default values)
     # @return true if success
     def Select(dev)
@@ -1910,10 +1867,13 @@
       true
     end
 
+    TRISTATE_TO_S = { nil => nil, false => "no", true => "yes" }.freeze
+
     # Sets device map items related to dhclient
     def setup_dhclient_options(devmap)
-      devmap["DHCLIENT_SET_DEFAULT_ROUTE"] = @set_default_route ? "yes" : "no" 
if isCurrentDHCP
-
+      if isCurrentDHCP
+        devmap["DHCLIENT_SET_DEFAULT_ROUTE"] = 
TRISTATE_TO_S.fetch(@set_default_route)
+      end
       return devmap
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/test/Makefile.am 
new/yast2-network-3.1.100/test/Makefile.am
--- old/yast2-network-3.1.99/test/Makefile.am   2014-09-17 16:02:12.000000000 
+0200
+++ new/yast2-network-3.1.100/test/Makefile.am  2014-09-19 10:52:13.000000000 
+0200
@@ -1,8 +1,10 @@
 TESTS = \
   bridge_test.rb \
+  default_route_test.rb \
   edit_nic_name_test.rb \
   install_inf_convertor_test.rb \
   lan_items_helpers_test.rb \
+  lan_items_read_test.rb \
   lan_test.rb \
   lan_udev_auto_test.rb \
   link_handlers_test.rb \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/test/default_route_test.rb 
new/yast2-network-3.1.100/test/default_route_test.rb
--- old/yast2-network-3.1.99/test/default_route_test.rb 1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-network-3.1.100/test/default_route_test.rb        2014-09-19 
10:52:13.000000000 +0200
@@ -0,0 +1,136 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+require "yast"
+
+# A two level section/key => value store
+# to remember values of /etc/sysconfig/network/ifcfg-*
+class SectionKeyValue
+  def initialize
+    @sections = {}
+  end
+
+  def sections
+    @sections.keys
+  end
+
+  def keys(section)
+    @sections[section].keys
+  end
+
+  def get(section, key)
+    @sections[section][key]
+  end
+
+  def set(section, key, value)
+    section_hash = @sections[section] ||=  {}
+    section_hash[key] = value
+  end
+end
+
+describe "Yast::LanItemsClass" do
+  subject { Yast::LanItems }
+
+  before do
+    Yast.import "LanItems"
+    Yast.import "LanUdevAuto"
+
+    @ifcfg_files = SectionKeyValue.new
+
+    # network configs
+    allow(Yast::SCR).to receive(:Dir) do |path|
+      case path.to_s
+      when ".network.section"
+        @ifcfg_files.sections
+      when /^\.network\.value\."(eth\d+)"$/
+        @ifcfg_files.keys($1)
+      when ".modules.options", ".etc.install_inf"
+        []
+      else
+        raise "Unexpected Dir #{path}"
+      end
+    end
+
+    allow(Yast::SCR).to receive(:Read) do |path|
+      if path.to_s =~ /^\.network\.value\."(eth\d+)".(.*)/
+        @ifcfg_files.get($1, $2)
+      else
+        raise "Unexpected Read #{path}"
+      end
+    end
+
+    allow(Yast::SCR).to receive(:Write) do |path, value|
+      if path.to_s =~ /^\.network\.value\."(eth\d+)".(.*)/
+        @ifcfg_files.set($1, $2, value)
+      elsif path.to_s == ".network" && value.nil?
+        true
+      else
+        raise "Unexpected Write #{path}, #{value}"
+      end
+    end
+
+    # stub NetworkInterfaces, apart from the ifcfgs
+    allow(Yast::NetworkInterfaces).
+      to receive(:CleanHotplugSymlink)
+    allow(Yast::NetworkInterfaces).
+      to receive(:GetTypeFromSysfs).
+      with(/eth\d+/).
+      and_return "eth"
+    allow(Yast::NetworkInterfaces).
+      to receive(:GetType).
+      with(/eth\d+/).
+      and_return "eth"
+    allow(Yast::NetworkInterfaces).
+      to receive(:GetType).
+      with("").
+      and_return nil
+
+    allow(Yast::LanUdevAuto).
+      to receive(:AllowUdevModify).and_return false
+
+    # These "expect" should be "allow", but then it does not work out,
+    # because SCR multiplexes too much and the matchers get confused.
+
+    # Hardware detection
+    expect(Yast::SCR).
+      to receive(:Read).
+      with(Yast::Path.new(".probe.netcard")).
+      and_return([])
+
+    # miscellaneous uninteresting but hard to avoid stuff
+
+    allow(Yast::Arch).to receive(:architecture).and_return "x86_64"
+    allow(Yast::Confirm).to receive(:Detection).and_return true
+
+    expect(Yast::SCR).
+      to receive(:Read).
+      with(Yast::Path.new(".etc.install_inf.BrokenModules")).
+      and_return ""
+    expect(Yast::SCR).
+      to receive(:Read).
+      with(Yast::Path.new(".udev_persistent.net")).
+      and_return({})
+    expect(Yast::SCR).
+      to receive(:Read).
+      with(Yast::Path.new(".udev_persistent.drivers")).
+      and_return({})
+  end
+
+  it "does not modify DHCLIENT_SET_DEFAULT_ROUTE if not explicitly set, when 
editing an ifcfg" do
+    @ifcfg_files.set("eth0", "STARTMODE", "auto")
+    @ifcfg_files.set("eth0", "BOOTPROTO", "dhcp4")
+
+    subject.Read
+    subject.current = 0
+    subject.SetItem
+
+    subject.bootproto = "dhcp"
+
+    subject.Commit
+    subject.write
+
+    ifcfg = Yast::NetworkInterfaces.FilterDevices("")["eth"]["eth0"]
+    expect(ifcfg["DHCLIENT_SET_DEFAULT_ROUTE"]).to be_nil
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-network-3.1.99/test/lan_items_read_test.rb 
new/yast2-network-3.1.100/test/lan_items_read_test.rb
--- old/yast2-network-3.1.99/test/lan_items_read_test.rb        1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-network-3.1.100/test/lan_items_read_test.rb       2014-09-19 
10:52:13.000000000 +0200
@@ -0,0 +1,87 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+require "yast"
+Yast.import "LanItems"
+
+describe "LanItemsClass" do
+  subject { Yast::LanItems }
+
+  describe "#SetDeviceVars" do
+    let(:defaults) do
+      {
+        "WIRELESS_KEY" => "",
+        "WIRELESS_KEY_0" => "",
+        "WIRELESS_KEY_1" => "",
+        "WIRELESS_KEY_2" => "",
+        "WIRELESS_KEY_3" => ""
+      }
+    end
+
+    it "reads value from sysconfig data" do
+      subject.SetDeviceVars({"BOOTPROTO" => "dhcp8"}, {"BOOTPROTO" => "dhcp7"})
+      expect(subject.bootproto).to eq "dhcp8"
+    end
+
+    it "reads value from default data" do
+      subject.SetDeviceVars({}, {"BOOTPROTO" => "dhcp7"})
+      expect(subject.bootproto).to eq "dhcp7"
+    end
+
+    it "reads nil if neither hash specifies the data" do
+      subject.SetDeviceVars({}, {})
+      expect(subject.bootproto).to eq nil
+    end
+
+    it "converts set_default_route" do
+      subject.SetDeviceVars({"DHCLIENT_SET_DEFAULT_ROUTE" => "yes"}, defaults)
+      expect(subject.set_default_route).to eq true
+
+      subject.SetDeviceVars({"DHCLIENT_SET_DEFAULT_ROUTE" => "no"}, defaults)
+      expect(subject.set_default_route).to eq false
+
+      subject.SetDeviceVars({}, defaults)
+      expect(subject.set_default_route).to eq nil
+
+      subject.SetDeviceVars({"DHCLIENT_SET_DEFAULT_ROUTE" => "unrecognized"}, 
defaults)
+      expect(subject.set_default_route).to eq nil
+    end
+
+    it "converts wl_power" do
+      subject.SetDeviceVars({"WIRELESS_POWER" => "yes"}, defaults)
+      expect(subject.wl_power).to eq true
+    end
+
+    it "makes wl_key a 4-tuple when 1 key is specified" do
+      subject.SetDeviceVars({"WIRELESS_KEY" => "k0"}, defaults)
+      expect(subject.wl_key).to eq ["k0", "", "", ""]
+    end
+
+    it "makes wl_key a 4-tuple when 2 keys are specified" do
+      subject.SetDeviceVars({"WIRELESS_KEY_0" => "k00", "WIRELESS_KEY_1" => 
"k01"}, defaults)
+      expect(subject.wl_key).to eq ["k00", "k01", "", ""]
+    end
+
+    it "makes wl_wpa_eap a hash, with renamed kes" do
+      subject.SetDeviceVars({
+          "WIRELESS_EAP_MODE"     => "foo",
+          "WIRELESS_PEAP_VERSION" => "bar"
+        }, {})
+      expect(subject.wl_wpa_eap["WPA_EAP_MODE"]).to eq "foo"
+      expect(subject.wl_wpa_eap["WPA_EAP_PEAP_VERSION"]).to eq "bar"
+    end
+  end
+
+  describe "#SetS390Vars" do
+    let(:defaults) { { } }
+
+    it "converts qeth_layer2" do
+      expect(Yast::Arch).to receive(:s390).and_return true
+
+      subject.SetS390Vars({"QETH_LAYER2" => "yes"}, defaults)
+      expect(subject.qeth_layer2).to eq true
+    end
+
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-network-3.1.99/test/network_autoconfiguration_test.rb 
new/yast2-network-3.1.100/test/network_autoconfiguration_test.rb
--- old/yast2-network-3.1.99/test/network_autoconfiguration_test.rb     
2014-09-17 16:02:12.000000000 +0200
+++ new/yast2-network-3.1.100/test/network_autoconfiguration_test.rb    
2014-09-19 10:52:13.000000000 +0200
@@ -171,7 +171,7 @@
   it "configures just one NIC to have a default route" do
     expect { instance.configure_dhcp }.to_not raise_error
     result = Yast::NetworkInterfaces.FilterDevices("")
-    expect(result["eth"]["eth0"]["DHCLIENT_SET_DEFAULT_ROUTE"]).to eq "yes"
-    expect(result["eth"]["eth1"]["DHCLIENT_SET_DEFAULT_ROUTE"]).to eq "no"
+    expect(result["eth"]["eth0"]["DHCLIENT_SET_DEFAULT_ROUTE"]).to     eq "yes"
+    expect(result["eth"]["eth1"]["DHCLIENT_SET_DEFAULT_ROUTE"]).to_not eq "yes"
   end
 end

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to