Hello community, here is the log from the commit of package yast2-network for openSUSE:Factory checked in at 2015-10-20 16:22:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-10-03 20:29:18.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 2015-10-20 16:22:20.000000000 +0200 @@ -1,0 +2,15 @@ +Thu Oct 8 12:02:44 UTC 2015 - mvid...@suse.com + +- Fixed "Relax-NG parser error : Some defines for ipv6_forward + needs the combine attribute" when checking validity + of any AutoYaST profile (bsc#948206). +- 3.1.133 + +------------------------------------------------------------------- +Tue Oct 6 16:44:44 UTC 2015 - mfi...@suse.com + +- bnc#900647 + - fixed to accept an empty domain in /etc/hostname +- 3.1.132 + +------------------------------------------------------------------- Old: ---- yast2-network-3.1.131.tar.bz2 New: ---- yast2-network-3.1.133.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-network.spec ++++++ --- /var/tmp/diff_new_pack.QZrA7i/_old 2015-10-20 16:22:21.000000000 +0200 +++ /var/tmp/diff_new_pack.QZrA7i/_new 2015-10-20 16:22:21.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-network -Version: 3.1.131 +Version: 3.1.133 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -96,6 +96,7 @@ %{yast_schemadir}/autoyast/rnc/networking.rnc %{yast_schemadir}/autoyast/rnc/host.rnc %{yast_libdir}/network +%{yast_ydatadir}/network %dir %{yast_docdir} %{yast_docdir}/COPYING ++++++ yast2-network-3.1.131.tar.bz2 -> yast2-network-3.1.133.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/package/yast2-network.changes new/yast2-network-3.1.133/package/yast2-network.changes --- old/yast2-network-3.1.131/package/yast2-network.changes 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/package/yast2-network.changes 2015-10-19 19:17:09.000000000 +0200 @@ -1,4 +1,19 @@ ------------------------------------------------------------------- +Thu Oct 8 12:02:44 UTC 2015 - mvid...@suse.com + +- Fixed "Relax-NG parser error : Some defines for ipv6_forward + needs the combine attribute" when checking validity + of any AutoYaST profile (bsc#948206). +- 3.1.133 + +------------------------------------------------------------------- +Tue Oct 6 16:44:44 UTC 2015 - mfi...@suse.com + +- bnc#900647 + - fixed to accept an empty domain in /etc/hostname +- 3.1.132 + +------------------------------------------------------------------- Thu Oct 1 07:26:55 UTC 2015 - mvid...@suse.com - Moved "Network Settings" into "System" group also in the Gnome/GTK diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/package/yast2-network.spec new/yast2-network-3.1.133/package/yast2-network.spec --- old/yast2-network-3.1.131/package/yast2-network.spec 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/package/yast2-network.spec 2015-10-19 19:17:09.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-network -Version: 3.1.131 +Version: 3.1.133 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -94,6 +94,7 @@ %{yast_schemadir}/autoyast/rnc/networking.rnc %{yast_schemadir}/autoyast/rnc/host.rnc %{yast_libdir}/network +%{yast_ydatadir}/network %dir %{yast_docdir} %{yast_docdir}/COPYING diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/Makefile.am new/yast2-network-3.1.133/src/Makefile.am --- old/yast2-network-3.1.131/src/Makefile.am 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/src/Makefile.am 2015-10-19 19:17:09.000000000 +0200 @@ -111,6 +111,12 @@ lib/network/network_autoconfiguration.rb \ lib/network/network_autoyast.rb +ydatadir = @ydatadir@/network +ydata_DATA = \ + data/network/sysconfig_defaults.yml \ + data/network/s390_defaults.yml \ + data/network/firmwares.yml + EXTRA_DIST = \ $(module_DATA) \ $(module1_DATA) \ @@ -125,6 +131,7 @@ $(schemafiles_DATA) \ $(ybin_SCRIPTS) \ $(desktop_DATA) \ - $(ylib_DATA) + $(ylib_DATA) \ + $(ydata_DATA) include $(top_srcdir)/Makefile.am.common diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/autoyast-rnc/networking.rnc new/yast2-network-3.1.133/src/autoyast-rnc/networking.rnc --- old/yast2-network-3.1.131/src/autoyast-rnc/networking.rnc 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/src/autoyast-rnc/networking.rnc 2015-10-19 19:17:09.000000000 +0200 @@ -221,16 +221,12 @@ routing = element routing { - ip_forward? & - ipv4_forward? & - ipv6_forward? & + element ip_forward { BOOLEAN }? & + element ipv4_forward { BOOLEAN }? & + element ipv6_forward { BOOLEAN }? & routes? } -ip_forward = element ip_forward { BOOLEAN } -ipv4_forward = element ipv4_forward { BOOLEAN } -ipv6_forward = element ipv6_forward { BOOLEAN } - routes = element routes { LIST, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/data/network/firmwares.yml new/yast2-network-3.1.133/src/data/network/firmwares.yml --- old/yast2-network-3.1.131/src/data/network/firmwares.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.133/src/data/network/firmwares.yml 2015-10-19 19:17:09.000000000 +0200 @@ -0,0 +1,23 @@ +--- +atmel_pci: atmel-firmware +atmel_cs: atmel-firmware +at76_usb: atmel-firmware +ipw2100: ipw-firmware +ipw2200: ipw-firmware +ipw3945: ipw-firmware +iwl1000: kernel-firmware +iwl3945: kernel-firmware +iwl4965: kernel-firmware +iwl5000: kernel-firmware +iwl5150: kernel-firmware +iwl6000: kernel-firmware +b43: b43-fwcutter +b43-pci-bridge: b43-fwcutter +bcm43xx: '' +prism54: '' +spectrum_cs: '' +zd1201: '' +zd1211rw: '' +acx: '' +rt73usb: '' +prism54usb: '' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/data/network/s390_defaults.yml new/yast2-network-3.1.133/src/data/network/s390_defaults.yml --- old/yast2-network-3.1.131/src/data/network/s390_defaults.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.133/src/data/network/s390_defaults.yml 2015-10-19 19:17:09.000000000 +0200 @@ -0,0 +1,11 @@ +--- # s390 configuration options +CHAN_MODE: '0' +QETH_PORTNAME: '' +QETH_PORTNUMBER: '' +QETH_OPTIONS: '' +QETH_LAYER2: 'no' +QETH_CHANIDS: '' +IPA_TAKEOVER: 'no' +IUCV_USER: '' +LLADDR: '00:00:00:00:00:00' + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/data/network/sysconfig_defaults.yml new/yast2-network-3.1.133/src/data/network/sysconfig_defaults.yml --- old/yast2-network-3.1.131/src/data/network/sysconfig_defaults.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.133/src/data/network/sysconfig_defaults.yml 2015-10-19 19:17:09.000000000 +0200 @@ -0,0 +1,44 @@ +--- # generic sysconfig options +BOOTPROTO: static +IPADDR: '' +PREFIXLEN: '' +REMOTE_IPADDR: '' +NETMASK: '' +MTU: '' +ETHTOOL_OPTIONS: '' +NAME: '' +STARTMODE: manual +IFPLUGD_PRIORITY: '0' +WIRELESS_MODE: Managed +WIRELESS_ESSID: '' +WIRELESS_NWID: '' +WIRELESS_AUTH_MODE: open +WIRELESS_WPA_PSK: '' +WIRELESS_KEY_LENGTH: '128' +WIRELESS_KEY: '' +WIRELESS_KEY_0: '' +WIRELESS_KEY_1: '' +WIRELESS_KEY_2: '' +WIRELESS_KEY_3: '' +WIRELESS_DEFAULT_KEY: '0' +WIRELESS_NICK: '' +WIRELESS_CHANNEL: '' +WIRELESS_FREQUENCY: '' +WIRELESS_BITRATE: auto +WIRELESS_AP: '' +WIRELESS_POWER: '' +WIRELESS_EAP_MODE: '' +WIRELESS_WPA_IDENTITY: '' +WIRELESS_WPA_PASSWORD: '' +WIRELESS_WPA_ANONID: '' +WIRELESS_CLIENT_CERT: '' +WIRELESS_CLIENT_KEY: '' +WIRELESS_CLIENT_KEY_PASSWORD: '' +WIRELESS_CA_CERT: '' +WIRELESS_EAP_AUTH: '' +WIRELESS_PEAP_VERSION: '' +WIRELESS_AP_SCANMODE: '1' +BONDING_MODULE_OPTS: mode=active-backup miimon=100 +TUNNEL_SET_OWNER: '' +TUNNEL_SET_GROUP: '' +IPOIB_MODE: connected diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/include/network/services/dns.rb new/yast2-network-3.1.133/src/include/network/services/dns.rb --- old/yast2-network-3.1.131/src/include/network/services/dns.rb 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/src/include/network/services/dns.rb 2015-10-19 19:17:09.000000000 +0200 @@ -486,23 +486,16 @@ # @param [Hash] event the event being handled # @return whether valid def ValidateDomain(key, _event) - dhn = @has_dhcp && - Convert.to_boolean(UI.QueryWidget(Id("DHCP_HOSTNAME"), :Value)) - value = Convert.to_string(UI.QueryWidget(Id(key), :Value)) + dhn = @has_dhcp && UI.QueryWidget(Id("DHCP_HOSTNAME"), :Value) == true + return true if dhn - if !dhn || value != "" - if value == "local" - if !Popup.YesNo( - _( - "It's not recommended to use .local as domainname due to Multicast DNS. Use it at your own risk?" - ) - ) - return false - end - end - return Hostname.CheckDomain(value) - end - true + value = UI.QueryWidget(Id(key), :Value).to_s + return true if value.empty? + + msg = _("It's not recommended to use .local as domainname due to Multicast DNS. Use it at your own risk?") + return false if value == "local" && !Popup.YesNo(msg) + + Hostname.CheckDomain(value) end # Validator for the search list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/src/modules/LanItems.rb new/yast2-network-3.1.133/src/modules/LanItems.rb --- old/yast2-network-3.1.131/src/modules/LanItems.rb 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/src/modules/LanItems.rb 2015-10-19 19:17:09.000000000 +0200 @@ -22,6 +22,7 @@ # # ************************************************************************** require "yast" +require "yaml" module Yast # Does way too many things. @@ -55,6 +56,7 @@ Yast.import "NetworkConfig" Yast.import "NetworkStorage" Yast.import "Storage" + Yast.import "Directory" Yast.include self, "network/complex.rb" Yast.include self, "network/routines.rb" Yast.include self, "network/lan/s390.rb" @@ -160,7 +162,6 @@ @wl_enc_modes = nil @wl_channels = nil @wl_bitrates = nil - @nilliststring = nil # to save some casting # s390 options @qeth_portname = "" @@ -198,108 +199,22 @@ # propose options @proposal_valid = false - @nm_proposal_valid = false # NetworkModules:: name @nm_name = "" - # this is the map of kernel modules vs. requested firmware - # non-empty keys are firmware packages shipped by SUSE - @request_firmware = { - "atmel_pci" => "atmel-firmware", - "atmel_cs" => "atmel-firmware", - "at76_usb" => "atmel-firmware", - "ipw2100" => "ipw-firmware", - "ipw2200" => "ipw-firmware", - "ipw3945" => "ipw-firmware", - "iwl1000" => "kernel-firmware", - "iwl3945" => "kernel-firmware", - "iwl4965" => "kernel-firmware", - "iwl5000" => "kernel-firmware", - "iwl5150" => "kernel-firmware", - "iwl6000" => "kernel-firmware", - "b43" => "b43-fwcutter", - "b43-pci-bridge" => "b43-fwcutter", - "bcm43xx" => "", - "prism54" => "", - "spectrum_cs" => "", - "zd1201" => "", - "zd1211rw" => "", - "acx" => "", - "rt73usb" => "", - "prism54usb" => "" - } - Yast.include self, "network/hardware.rb" + # Default values used when creating an emulated NIC for physical s390 hardware. + @s390_defaults = YAML.load_file(Directory.find_data_file("network/s390_defaults.yml")) if Arch.s390 + # the defaults here are what sysconfig defaults to # (as opposed to what a new interface gets, in {#Select)} - @SysconfigDefaults = { - "BOOTPROTO" => "static", - "IPADDR" => "", - "PREFIXLEN" => "", - "REMOTE_IPADDR" => "", - "NETMASK" => "", - "MTU" => "", - "ETHTOOL_OPTIONS" => "", - "NAME" => "", - "STARTMODE" => "manual", - "IFPLUGD_PRIORITY" => "0", - "WIRELESS_MODE" => "Managed", - "WIRELESS_ESSID" => "", - "WIRELESS_NWID" => "", - "WIRELESS_AUTH_MODE" => "open", - "WIRELESS_WPA_PSK" => "", - "WIRELESS_KEY_LENGTH" => "128", - "WIRELESS_KEY" => "", - "WIRELESS_KEY_0" => "", - "WIRELESS_KEY_1" => "", - "WIRELESS_KEY_2" => "", - "WIRELESS_KEY_3" => "", - "WIRELESS_DEFAULT_KEY" => "0", - "WIRELESS_NICK" => "", - "WIRELESS_CHANNEL" => "", - "WIRELESS_FREQUENCY" => "", - "WIRELESS_BITRATE" => "auto", - "WIRELESS_AP" => "", - "WIRELESS_POWER" => "", - "WIRELESS_EAP_MODE" => "", - "WIRELESS_WPA_IDENTITY" => "", - "WIRELESS_WPA_PASSWORD" => "", - "WIRELESS_WPA_ANONID" => "", - "WIRELESS_CLIENT_CERT" => "", - "WIRELESS_CLIENT_KEY" => "", - "WIRELESS_CLIENT_KEY_PASSWORD" => "", - "WIRELESS_CA_CERT" => "", - "WIRELESS_EAP_AUTH" => "", - "WIRELESS_PEAP_VERSION" => "", - "WIRELESS_AP_SCANMODE" => "1", - # default options for bonding (bnc#404449) - "BONDING_MODULE_OPTS" => "mode=active-backup miimon=100", - # defaults for tun/tap devices - "TUNNEL_SET_OWNER" => "", - "TUNNEL_SET_GROUP" => "", - # Infiniband - # default mode for IPoIB devices suggested in fate#315501 - "IPOIB_MODE" => "connected" - } - - # Default values used when creating an emulated NIC for physical s390 hardware. - @s390_defaults = { - "CHAN_MODE" => "0", - "QETH_PORTNAME" => "", - "QETH_PORTNUMBER" => "", - "QETH_OPTIONS" => "", - "QETH_LAYER2" => "no", - "QETH_CHANIDS" => "", - "IPA_TAKEOVER" => "no", - "IUCV_USER" => "", - "LLADDR" => "00:00:00:00:00:00" - } + @SysconfigDefaults = YAML.load_file(Directory.find_data_file("network/sysconfig_defaults.yml")) - # ifplugd sometimes does not work for wifi - # so wired needs higher priority to override it - @ifplugd_priorities = { "eth" => "20", "wlan" => "10" } + # this is the map of kernel modules vs. requested firmware + # non-empty keys are firmware packages shipped by SUSE + @request_firmware = YAML.load_file(Directory.find_data_file("network/firmwares.yml")) end # Returns configuration of item (see LanItems::Items) with given id. @@ -1528,30 +1443,15 @@ # Wireless Card Features @wl_auth_modes = Builtins.prepend( - Convert.convert( - Ops.get(hardware, "wl_auth_modes", @nilliststring), - from: "any", - to: "list <string>" - ), + hardware["wl_auth_modes"], "no-encryption" ) - @wl_enc_modes = Convert.convert( - Ops.get(hardware, "wl_enc_modes", @nilliststring), - from: "any", - to: "list <string>" - ) - @wl_channels = Convert.convert( - Ops.get(hardware, "wl_channels", @nilliststring), - from: "any", - to: "list <string>" - ) - @wl_bitrates = Convert.convert( - Ops.get(hardware, "wl_bitrates", @nilliststring), - from: "any", - to: "list <string>" - ) + @wl_enc_modes = hardware["wl_enc_modes"] + @wl_channels = hardware["wl_channels"] + @wl_bitrates = hardware["wl_bitrates"] Builtins.y2milestone("hw=%1", hardware) + @hw = deep_copy(hardware) if Arch.s390 && @operation == :add Builtins.y2internal("Propose chan_ids values for %1", @hw) @@ -1774,22 +1674,20 @@ @qeth_macaddress = d["LLADDR"] if @qeth_layer2 # qeth attribute. FIXME: currently not read from system. - @ipa_takeover = Ops.get_string(defaults, "IPA_TAKEOVER", "") == "yes" + @ipa_takeover = defaults["IPA_TAKEOVER"] == "yes" # not device attribute - @qeth_options = Ops.get_string(defaults, "QETH_OPTIONS", "") + @qeth_options = defaults["QETH_OPTIONS"] || "" # handle non qeth devices - @iucv_user = Ops.get_string(defaults, "IUCV_USER", "") - @chan_mode = Ops.get_string(defaults, "CHAN_MODE", "") + @iucv_user = defaults["IUCV_USER"] || "" + @chan_mode = defaults["CHAN_MODE"] || "" nil end def InitS390VarsByDefaults SetS390Vars({}, @s390_defaults) - - nil end def hotplug_usable? @@ -2634,10 +2532,7 @@ publish_variable :tunnel_set_owner, "string" publish_variable :tunnel_set_group, "string" publish_variable :proposal_valid, "boolean" - publish_variable :nm_proposal_valid, "boolean" publish_variable :nm_name, "string" - # @attribute SysconfigDefaults - publish_variable :SysconfigDefaults, "map <string, string>" publish function: :GetLanItem, type: "map (integer)" publish function: :getCurrentItem, type: "map ()" publish function: :IsItemConfigured, type: "boolean (integer)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/test/Makefile.am new/yast2-network-3.1.133/test/Makefile.am --- old/yast2-network-3.1.131/test/Makefile.am 2015-10-01 13:42:17.000000000 +0200 +++ new/yast2-network-3.1.133/test/Makefile.am 2015-10-19 19:17:09.000000000 +0200 @@ -5,6 +5,7 @@ complex_test.rb \ default_route_test.rb \ dns_test.rb \ + dns_service_test.rb \ edit_nic_name_test.rb \ firewall_stage1_proposal_test.rb \ ifroute_test.rb \ @@ -25,7 +26,8 @@ s390_helpers_test.rb \ suse_firewall_4_network_test.rb \ udev_test.rb \ - widgets_test.rb + widgets_test.rb \ + yaml_defaults_test.rb TEST_EXTENSIONS = .rb RB_LOG_COMPILER = rspec --format doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/test/dns_service_test.rb new/yast2-network-3.1.133/test/dns_service_test.rb --- old/yast2-network-3.1.131/test/dns_service_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.133/test/dns_service_test.rb 2015-10-19 19:17:09.000000000 +0200 @@ -0,0 +1,32 @@ +#! /usr/bin/env rspec + +require_relative "test_helper" + +require "yast" + +class DnsServiceClass + include Yast::UIShortcuts + include Yast::I18n + + def initialize + Yast.include self, "network/services/dns.rb" + end +end + +describe "#ValidateDomain" do + subject(:dns) { DnsServiceClass.new } + + it "accepts empty domain" do + Yast.import "UI" + + allow(Yast::UI) + .to receive(:QueryWidget) + .with(Id("DHCP_HOSTNAME"), :Value) + .and_return(false) + allow(Yast::UI) + .to receive(:QueryWidget) + .and_return("") + expect(dns.ValidateDomain("DOMAIN", nil)) + .to be true + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.131/test/yaml_defaults_test.rb new/yast2-network-3.1.133/test/yaml_defaults_test.rb --- old/yast2-network-3.1.131/test/yaml_defaults_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.133/test/yaml_defaults_test.rb 2015-10-19 19:17:09.000000000 +0200 @@ -0,0 +1,64 @@ +#! /usr/bin/env rspec + +require_relative "test_helper" + +require "yast" + +Yast.import "LanItems" + +describe "LanItems#InitS390VarsByDefaults" do + Yast.import "Arch" + + subject(:lan_items) { Yast::LanItems } + + it "sets defaults for s390 as expected" do + allow(Yast::Arch) + .to receive(:s390) + .and_return(true) + + # we need to be sure that LanItems' initialization is done *now* + # to accept arch mocking which is needed for loading reasonable + # defaults + lan_items.main + lan_items.InitS390VarsByDefaults + + expect(lan_items.chan_mode).to eql "0" + expect(lan_items.qeth_layer2).to be false + expect(lan_items.qeth_macaddress).to eql "00:00:00:00:00:00" + expect(lan_items.ipa_takeover).to be false + end +end + +describe "LanItems#SetDeviceVars" do + subject(:lan_items) { Yast::LanItems } + + it "sets generic defaults as expected" do + lan_items.SetDeviceVars({}, lan_items.instance_variable_get("@SysconfigDefaults")) + + expect(lan_items.bootproto).to eql "static" + expect(lan_items.startmode).to eql "manual" + expect(lan_items.ifplugd_priority).to eql "0" + expect(lan_items.ipoib_mode).to eql "connected" + end +end + +describe "LanItems#request_firmware" do + subject(:lan_items) { Yast::LanItems } + + it "loads module to firmware mapping properly" do + lan_items.main + + mapping = lan_items.instance_variable_get("@request_firmware") + expect(mapping["b43"]).to eql "b43-fwcutter" + end +end + +describe "YAML data files" do + globs = Yast.y2paths.map { |p| "#{p}/data/**/*.yml" } + yml_filenames = Dir.glob(globs) + yml_filenames.each do |f| + it "parse without error: #{f}" do + expect { YAML.load_file(f) }.to_not raise_error + end + end +end