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(a)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(a)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(a)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(a)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(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org