[yast-commit] [ci_new_pac] JFYI yast2-network -> sle12
Script 'mail_helper' called by ro Hello packager, This is just FYI. Your package was checked in in distribution "sle12" by autobuild-member: ro. Here comes the log... ---------------------------%<------------------------------ Hi, here is the log from ci_new_pac /mounts/work_src_done/SLE12/yast2-network -> sle12 ## BNC# 897394 : "Build0846: AutoYaST doesn't transfer the default gateway to the autoinst.xml file" (RESOLVED/FIXED) ## BNC# 866250 : "yast2-network: routes and ifroute-$ifname handling" (NEW/) Changes: -------- --- /work/SRC/SUSE:SLE-12:GA/yast2-network/yast2-network.changes 2014-09-24 17:57:29.000000000 +0200 +++ /mounts/work_src_done/SLE12/yast2-network/yast2-network.changes 2014-09-29 17:22:01.000000000 +0200 @@ -1,0 +2,8 @@ +Thu Sep 25 15:51:37 UTC 2014 - mfilka@suse.com + +- bnc#897394, bnc#866250 + - device specific routes configuration (ifroute-<devname>) is + supported +- 3.1.102 + +------------------------------------------------------------------- calling whatdependson for sle12-i586 Packages directly triggered for rebuild: - yast2-network - at least 19 other packages ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/SUSE:SLE-12:GA/yast2-network (Old) and /mounts/work_src_done/SLE12/yast2-network (BS:build ID:44794 MAIL:yast-commit@opensuse.org) (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-network", Maintainer is "yast-commit@opensuse.org" Old: ---- yast2-network-3.1.101.tar.bz2 New: ---- yast2-network-3.1.102.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-network.spec ++++++ --- /var/tmp/diff_new_pack.N2gAmP/_old 2014-09-29 17:27:07.000000000 +0200 +++ /var/tmp/diff_new_pack.N2gAmP/_new 2014-09-29 17:27:07.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-network -Version: 3.1.101 +Version: 3.1.102 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-network-3.1.101.tar.bz2 -> yast2-network-3.1.102.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/package/yast2-network.changes new/yast2-network-3.1.102/package/yast2-network.changes --- old/yast2-network-3.1.101/package/yast2-network.changes 2014-09-24 15:21:23.000000000 +0200 +++ new/yast2-network-3.1.102/package/yast2-network.changes 2014-09-29 17:11:34.000000000 +0200 @@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Thu Sep 25 15:51:37 UTC 2014 - mfilka@suse.com + +- bnc#897394, bnc#866250 + - device specific routes configuration (ifroute-<devname>) is + supported +- 3.1.102 + +------------------------------------------------------------------- Tue Sep 23 15:03:15 UTC 2014 - mfilka@suse.com - bnc#892958 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/package/yast2-network.spec new/yast2-network-3.1.102/package/yast2-network.spec --- old/yast2-network-3.1.101/package/yast2-network.spec 2014-09-24 15:21:23.000000000 +0200 +++ new/yast2-network-3.1.102/package/yast2-network.spec 2014-09-29 17:11:34.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-network -Version: 3.1.101 +Version: 3.1.102 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/src/modules/Routing.rb new/yast2-network-3.1.102/src/modules/Routing.rb --- old/yast2-network-3.1.101/src/modules/Routing.rb 2014-09-24 15:21:23.000000000 +0200 +++ new/yast2-network-3.1.102/src/modules/Routing.rb 2014-09-29 17:11:35.000000000 +0200 @@ -33,6 +33,10 @@ module Yast class RoutingClass < Module + # @return [Array<String>] names of devices with sysconfig configuration + attr_reader :devices + + include Logger # @Orig_Routes [Array] array of hashes. Caches known routes # @@ -41,12 +45,19 @@ # # @modified [Boolean] modified by AY (bnc#649494) + # "routes" and ifroute-DEV file directory + ROUTES_DIR = "/etc/sysconfig/network" # "routes" file location ROUTES_FILE = "/etc/sysconfig/network/routes" SYSCTL_IPV4_PATH = ".etc.sysctl_conf.\"net.ipv4.ip_forward\"" SYSCTL_IPV6_PATH = ".etc.sysctl_conf.\"net.ipv6.conf.all.forwarding\"" + # see man routes - difference on implicit device param (aka "-") in + # case of /etc/sysconfig/network/routes and /etc/sysconfig/network/ + # /ifroute-<device> + ANY_DEVICE = "-" + def main Yast.import "UI" textdomain "network" @@ -54,6 +65,7 @@ Yast.import "NetHwDetection" Yast.import "NetworkInterfaces" Yast.import "Map" + Yast.import "Mode" Yast.import "SuSEFirewall" Yast.include self, "network/runtime.rb" @@ -103,7 +115,7 @@ "destination" => "default", "gateway" => gw, "netmask" => "-", - "device" => "-" + "device" => ANY_DEVICE } ] true @@ -135,6 +147,9 @@ @Forward_v6 = SCR.Read(path(SYSCTL_IPV6_PATH)) == "1" end + log.info("Forward_v4=#{@Forward_v4}") + log.info("Forward_v6=#{@Forward_v6}") + nil end @@ -174,34 +189,42 @@ # If no routes, sets a default gateway from Detection # @return true if success def Read - # read route.conf - if Ops.greater_than(SCR.Read(path(".target.size"), ROUTES_FILE), 0) - @Routes = Convert.convert( - SCR.Read(path(".routes")), - :from => "any", - :to => "list <map>" - ) - else - @Routes = [] + # read available devices + NetworkInterfaces.Read + @devices = NetworkInterfaces.List("") + + # read routes + @Routes = SCR.Read(path(".routes")) || [] + + @devices.each do |device| + # Mode.test required for old testsuite. Dynamic agent registration break + # stubing there + register_ifroute_agent_for_device(device) unless Mode.test + + dev_routes = SCR.Read(path(".ifroute-#{device}")) || [] + + next if dev_routes.nil? || dev_routes.empty? + + dev_routes.map! do |route| + route["device"] = device if route["device"] == ANY_DEVICE + route + end + + @Routes.concat dev_routes end - ReadIPForwarding() + @Routes.uniq! + log.info("Routes=#{@Routes}") - Builtins.y2debug("Routes=#{@Routes}") - Builtins.y2debug("Forward_v4=#{@Forward_v4}") - Builtins.y2debug("Forward_v6=#{@Forward_v6}") + ReadIPForwarding() # save routes to check for changes later @Orig_Routes = deep_copy(@Routes) - @Orig_Forward_v4 = deep_copy(@Forward_v4) - @Orig_Forward_v6 = deep_copy(@Forward_v6) + @Orig_Forward_v4 = @Forward_v4 + @Orig_Forward_v6 = @Forward_v6 - # read available devices - NetworkInterfaces.Read - @devices = NetworkInterfaces.List("") - - if @Routes == [] - ReadFromGateway(Ops.get_string(NetHwDetection.result, "GATEWAY", "")) + if @Routes.empty? + ReadFromGateway(NetHwDetection.result["GATEWAY"] || "") end true @@ -224,7 +247,6 @@ ] caption = _("Saving Routing Configuration") - sl = 0 #100; //for testing Progress.New(caption, " ", Builtins.size(steps), steps, [], "") @@ -232,7 +254,6 @@ ProgressNextStage(_("Writing IP forwarding settings...")) WriteIPForwarding() - Builtins.sleep(sl) # at first stop the running routes # FIXME SCR::Execute(.target.bash, "/etc/init.d/route stop"); @@ -242,31 +263,70 @@ #Progress stage 2/2 ProgressNextStage(_("Writing routing settings...")) - # create if not exists, otherwise backup - if Ops.less_than(SCR.Read(path(".target.size"), ROUTES_FILE), 0) - SCR.Write(path(".target.string"), ROUTES_FILE, "") + ret = write_routes(@Routes) + + Progress.NextStage + + ret + end + + # From *routes*, select those belonging to *device* and write + # an appropriate config file. + # @param device device name, or "-" for global routes + # @param routes [Array<Hash>] defines route; even unrelated to *device* + # @return [true, false] if it succeedes + def write_route_file(device, routes) + routes = routes.select { |r| r["device"] == device } + + if routes.empty? + # work around bnc#19476 + if device == ANY_DEVICE + filename = ROUTES_FILE + return SCR.Write(path(".target.string"), filename, "") + else + filename = "#{ROUTES_DIR}/ifroute-#{device}" + return SCR.Execute(path(".target.remove"), filename) + end else + if device == ANY_DEVICE + scr_path = path(".routes") + else + scr_path = register_ifroute_agent_for_device(device) + end + return SCR.Write(scr_path, routes) + end + end + + # Updates routing configuration files + # + # It means /etc/sysconfig/network/routes and + # /etc/sysconfig/network/ifroute-* + # + # @param routes [Array] of hashes which defines route + # @return [true, false] if it succeedes + def write_routes(routes) + # create if not exists, otherwise backup + if SCR.Read(path(".target.size"), ROUTES_FILE) > 0 SCR.Execute( path(".target.bash"), "/bin/cp #{ROUTES_FILE} #{ROUTES_FILE}.YaST2save" ) + else + SCR.Write(path(".target.string"), ROUTES_FILE, "") end - ret = false - if @Routes == [] - # workaround bug [#4476] - ret = SCR.Write(path(".target.string"), ROUTES_FILE, "") - else - # update the routes config - ret = SCR.Write(path(".routes"), @Routes) + ret = true + + # update the routes config + Routing.devices.each do |device| + written = write_route_file(device, routes) + ret &&= written end - Builtins.sleep(sl) - Progress.NextStage - # and finally set up the new routes - # FIXME SCR::Execute(.target.bash, "/etc/init.d/route start"); + written = write_route_file(ANY_DEVICE, routes) + ret &&= written - ret == true + return ret end @@ -379,6 +439,68 @@ publish :function => :GetGateway, :type => "string ()" publish :function => :SetDevices, :type => "boolean (list)" publish :function => :Summary, :type => "string ()" + + private + def ifroute_term(device) + raise ArgumentError if device.nil? || device.empty? + + non_empty_str_term = term(:String, "^ \t\n") + whitespace_term = term(:Whitespace) + optional_whitespace_term = term(:Optional, whitespace_term) + routes_content_term = term( + :List, + term( + :Tuple, + term( + :destination, + non_empty_str_term + ), + whitespace_term, + term(:gateway, non_empty_str_term), + whitespace_term, + term(:netmask, non_empty_str_term), + optional_whitespace_term, + term( + :Optional, + term(:device, non_empty_str_term) + ), + optional_whitespace_term, + term( + :Optional, + term( + :extrapara, + term(:String, "^\n") + ) + ) + ), + "\n" + ) + + term( + :ag_anyagent, + term( + :Description, + term(:File, "#{ROUTES_DIR}/ifroute-#{device}"), + "#\n", + false, + routes_content_term + ) + ) + end + + # Registers SCR agent which is used for accessing particular ifroute-device + # file + # + # @param device [String] device name (e.g. eth0, enp0s3, ...) + # @return [Path] SCR path of the agent + # @raise [RuntimeError] if it fails + def register_ifroute_agent_for_device(device) + scr_path = path(".ifroute-#{device}") + SCR.RegisterAgent(scr_path, ifroute_term(device)) or + raise "Cannot SCR.RegisterAgent(#{scr_path}, ...)" + scr_path + end + end Routing = RoutingClass.new diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/test/Makefile.am new/yast2-network-3.1.102/test/Makefile.am --- old/yast2-network-3.1.101/test/Makefile.am 2014-09-24 15:21:23.000000000 +0200 +++ new/yast2-network-3.1.102/test/Makefile.am 2014-09-29 17:11:35.000000000 +0200 @@ -17,6 +17,7 @@ complex_test.rb \ read_hardware_test.rb \ udev_test.rb \ + ifroute_test.rb \ remote_test.rb TEST_EXTENSIONS = .rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/test/ifroute_test.rb new/yast2-network-3.1.102/test/ifroute_test.rb --- old/yast2-network-3.1.101/test/ifroute_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-network-3.1.102/test/ifroute_test.rb 2014-09-29 17:11:35.000000000 +0200 @@ -0,0 +1,130 @@ +#! /usr/bin/env rspec + +require_relative "test_helper" + +require "yast" + +include Yast + +Yast.import "NetworkInterfaces" +Yast.import "Routing" + +describe "Routing#Read" do + ROUTES_FILE = [ + { + "destination" => "default", + "device" => "eth0", + "gateway" => "1.1.1.1", + "netmask" => "-" + } + ] + IFROUTE_FILE = [ + { + "destination" => "default", + "device" => "-", + "gateway" => "1.1.1.1", + "netmask" => "-" + } + ] + + before(:each) do + allow(NetworkInterfaces) + .to receive(:Read) + .and_return(true) + allow(NetworkInterfaces) + .to receive(:List) + .and_return(["eth0"]) + allow(SCR) + .to receive(:Read) + .and_return(nil) + end + + it "loades ifroute-* files" do + allow(SCR) + .to receive(:Read) + .with(path(".routes")) + .and_return([]) + + expect(SCR) + .to receive(:Read) + .with(path(".ifroute-eth0")) + .and_return(IFROUTE_FILE) + expect(Routing.Read).to be true + expect(Routing.Routes).not_to be_empty + end + + it "replace implicit device name using explicit one" do + expect(SCR) + .to receive(:Read) + .with(path(".ifroute-eth0")) + .and_return(IFROUTE_FILE) + expect(Routing.Read).to be true + # check if implicit device name "-" is rewritten according device name + # which ifroute belongs to + expect(Routing.Routes.first["device"]) + .to eql "eth0" + end + + it "removes duplicit routes" do + expect(SCR) + .to receive(:Read) + .with(path(".routes")) + .and_return(ROUTES_FILE) + expect(SCR) + .to receive(:Read) + .with(path(".ifroute-eth0")) + .and_return(IFROUTE_FILE) + expect(Routing.Read).to be true + expect(Routing.Routes.size).to eql 1 + end + +end + +describe "Routing#write_routes" do + ROUTES_WITH_DEV = [ + { + "destination" => "default", + "device" => "eth0", + "gateway" => "1.1.1.1", + "netmask" => "-" + }, + { + "destination" => "default", + "device" => "eth1", + "gateway" => "2.2.2.2", + "netmask" => "-" + } + ] + + it "writes device assigned routes into correct ifroute file" do + allow(SCR) + .to receive(:Read) + .with(path(".target.size"), RoutingClass::ROUTES_FILE) + .and_return(1) + allow(Routing) + .to receive(:devices) + .and_return(["eth0", "eth1", "eth2"]) + expect(SCR) + .to receive(:Execute) + .with(path(".target.bash"), /^\/bin\/cp/) + .and_return(0) + + expect(SCR) + .to receive(:Write) + .with(path(".ifroute-eth0"), anything()) + .and_return(true) + expect(SCR) + .to receive(:Write) + .with(path(".ifroute-eth1"), anything()) + .and_return(true) + expect(SCR) + .to receive(:Execute) + .with(path(".target.remove"), "/etc/sysconfig/network/ifroute-eth2") + .and_return(true) + expect(SCR) + .to receive(:Write) + .with(path(".target.string"), "/etc/sysconfig/network/routes", "") + .and_return(true) + expect(Routing.write_routes(ROUTES_WITH_DEV)).to be true + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/test/routing_test.rb new/yast2-network-3.1.102/test/routing_test.rb --- old/yast2-network-3.1.101/test/routing_test.rb 2014-09-24 15:21:24.000000000 +0200 +++ new/yast2-network-3.1.102/test/routing_test.rb 2014-09-29 17:11:35.000000000 +0200 @@ -277,9 +277,6 @@ .with(path(".routes")) { MOCKED_ROUTES } expect(SCR) .to receive(:Read) - .with(path(".target.size"), "#{RoutingClass::ROUTES_FILE}") { 1 } - expect(SCR) - .to receive(:Read) .with(SYSCTL_IPV4_PATH) { ipv4 } expect(SCR) .to receive(:Read) @@ -300,6 +297,7 @@ expect(Routing.Read).to be true end + end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/testsuite/tests/Network_YaPI.out new/yast2-network-3.1.102/testsuite/tests/Network_YaPI.out --- old/yast2-network-3.1.101/testsuite/tests/Network_YaPI.out 2014-09-24 15:21:24.000000000 +0200 +++ new/yast2-network-3.1.102/testsuite/tests/Network_YaPI.out 2014-09-29 17:11:35.000000000 +0200 @@ -8,13 +8,6 @@ Read .sysconfig.network.config.NETCONFIG_DNS_STATIC_SEARCHLIST "suse.cz suse.de" Read .target.stat "/etc/hostname" $["exists":true] Read .target.string "/etc/hostname" "laptop.suse.cz" -Read .target.size "/etc/sysconfig/network/routes" 27 -Read .routes [$["destination":"default", "gateway":"10.20.30.40"]] -Execute .target.bash "rpm -q --whatprovides SuSEfirewall2" 0 -Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show SuSEfirewall2.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] -Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled SuSEfirewall2.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] -Read .etc.sysctl_conf."net.ipv4.ip_forward" nil -Read .etc.sysctl_conf."net.ipv6.conf.all.forwarding" nil Dir .network.section: ["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth5.23"] Dir .network.value."eth0": ["BOOTPROTO", "STARTMODE"] Read .network.value."eth0".BOOTPROTO "dhcp4" @@ -60,6 +53,19 @@ Read .network.value."eth5.23".IPADDR "1.2.3.8/24" Read .network.value."eth5.23".STARTMODE "auto" Read .network.value."eth5.23".VLAN_ID "23" +Read .routes [$["destination":"default", "gateway":"10.20.30.40"]] +Read .ifroute-eth0 [] +Read .ifroute-eth1 [] +Read .ifroute-eth2 [] +Read .ifroute-eth3 [] +Read .ifroute-eth4 [] +Read .ifroute-eth5 [] +Read .ifroute-eth5.23 [] +Execute .target.bash "rpm -q --whatprovides SuSEfirewall2" 0 +Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show SuSEfirewall2.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] +Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled SuSEfirewall2.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] +Read .etc.sysctl_conf."net.ipv4.ip_forward" nil +Read .etc.sysctl_conf."net.ipv6.conf.all.forwarding" nil Dir .network.section: ["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth5.23"] Dir .network.value."eth0": ["BOOTPROTO", "STARTMODE"] Read .network.value."eth0".BOOTPROTO "dhcp4" @@ -275,8 +281,14 @@ Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password restart network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] -Read .target.size "/etc/sysconfig/network/routes" 27 Read .routes [$["destination":"default", "gateway":"10.20.30.40"]] +Read .ifroute-eth0 [] +Read .ifroute-eth1 [] +Read .ifroute-eth2 [] +Read .ifroute-eth3 [] +Read .ifroute-eth4 [] +Read .ifroute-eth5 [] +Read .ifroute-eth5.23 [] Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show SuSEfirewall2.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled SuSEfirewall2.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"] Read .etc.sysctl_conf."net.ipv4.ip_forward" nil @@ -290,6 +302,13 @@ Execute .target.bash "echo 0 > /proc/sys/net/ipv6/conf/all/forwarding" 0 Read .target.size "/etc/sysconfig/network/routes" 27 Execute .target.bash "/bin/cp /etc/sysconfig/network/routes /etc/sysconfig/network/routes.YaST2save" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth0" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth1" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth2" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth3" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth4" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth5" 0 +Execute .target.remove "/etc/sysconfig/network/ifroute-eth5.23" 0 Write .routes [$["destination":"default", "device":"-", "gateway":"10.20.30.40", "netmask":"-"]] true Log assertion failure, expected '$["error":"A valid IP address consists of four integers\nin the range 0-255 separated by dots.", "exit":"-1"]', got '$["error":"A valid IPv4 address consists of four integers\nin the range 0-255 separated by dots.", "exit":"-1"]' Dir .network.section: ["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth5.23"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.101/testsuite/tests/Network_YaPI.rb new/yast2-network-3.1.102/testsuite/tests/Network_YaPI.rb --- old/yast2-network-3.1.101/testsuite/tests/Network_YaPI.rb 2014-09-24 15:21:24.000000000 +0200 +++ new/yast2-network-3.1.102/testsuite/tests/Network_YaPI.rb 2014-09-29 17:11:35.000000000 +0200 @@ -110,6 +110,15 @@ } } + # mock /etc/sysconfig/network/ifroute-* files. It was not supported + # at time of writing the testsuite and if not mocked causes false + # positives + ifroutes = {} + @READ["network"]["section"].keys.each do |devname| + ifroutes["ifroute-#{devname}"] = [] + end + @READ.merge!(ifroutes) + Testsuite.Init([@READ, {}, @EXEC], nil) Yast.import "YaPI::NETWORK" continue with "q"... Checked in at Mon Sep 29 17:27:12 CEST 2014 by ro Remember to have fun... -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
ro