Hello community,
here is the log from the commit of package yast2-installation for
openSUSE:Factory checked in at 2014-03-01 14:38:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
and /work/SRC/openSUSE:Factory/.yast2-installation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes
2014-02-23 07:16:22.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes
2014-03-01 14:38:24.000000000 +0100
@@ -1,0 +2,46 @@
+Thu Feb 27 15:08:12 CET 2014 - [email protected]
+
+- reset proposal after rescanning storage (bnc#865579)
+- 3.1.47
+
+-------------------------------------------------------------------
+Thu Feb 27 13:55:16 UTC 2014 - [email protected]
+
+- revert back complete skip of probing due to disks with activation
+ (BNC#865579)
+- 3.1.46
+
+-------------------------------------------------------------------
+Thu Feb 27 12:54:37 UTC 2014 - [email protected]
+
+- Do not rerun system probing as it is already done (BNC#865579)
+- 3.1.45
+
+-------------------------------------------------------------------
+Wed Feb 26 09:15:50 UTC 2014 - [email protected]
+
+- implement cio ignore feature during installation for s390x
+ (FATE#315586)
+- 3.1.44
+
+-------------------------------------------------------------------
+Tue Feb 25 16:11:08 CET 2014 - [email protected]
+
+- Removed an icon from License Agreement dialog (bnc#865575)
+- 3.1.43
+
+-------------------------------------------------------------------
+Tue Feb 25 14:14:59 CET 2014 - [email protected]
+
+- Adapted ignored_features to handle possibly missing Cmdline entry
+ from Linuxrc (bnc#861465)
+- 3.1.42
+
+-------------------------------------------------------------------
+Tue Feb 25 13:27:34 CET 2014 - [email protected]
+
+- Removed hard-coded color and RichText formatting from
+ installation confirmation dialog (#bnc#865371)
+- 3.1.41
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-3.1.40.tar.bz2
New:
----
yast2-installation-3.1.47.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.HnZUEp/_old 2014-03-01 14:38:25.000000000 +0100
+++ /var/tmp/diff_new_pack.HnZUEp/_new 2014-03-01 14:38:25.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-installation
-Version: 3.1.40
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-installation-3.1.40.tar.bz2 -> yast2-installation-3.1.47.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/package/yast2-installation.changes
new/yast2-installation-3.1.47/package/yast2-installation.changes
--- old/yast2-installation-3.1.40/package/yast2-installation.changes
2014-02-21 15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/package/yast2-installation.changes
2014-02-27 16:14:09.000000000 +0100
@@ -1,4 +1,50 @@
-------------------------------------------------------------------
+Thu Feb 27 15:08:12 CET 2014 - [email protected]
+
+- reset proposal after rescanning storage (bnc#865579)
+- 3.1.47
+
+-------------------------------------------------------------------
+Thu Feb 27 13:55:16 UTC 2014 - [email protected]
+
+- revert back complete skip of probing due to disks with activation
+ (BNC#865579)
+- 3.1.46
+
+-------------------------------------------------------------------
+Thu Feb 27 12:54:37 UTC 2014 - [email protected]
+
+- Do not rerun system probing as it is already done (BNC#865579)
+- 3.1.45
+
+-------------------------------------------------------------------
+Wed Feb 26 09:15:50 UTC 2014 - [email protected]
+
+- implement cio ignore feature during installation for s390x
+ (FATE#315586)
+- 3.1.44
+
+-------------------------------------------------------------------
+Tue Feb 25 16:11:08 CET 2014 - [email protected]
+
+- Removed an icon from License Agreement dialog (bnc#865575)
+- 3.1.43
+
+-------------------------------------------------------------------
+Tue Feb 25 14:14:59 CET 2014 - [email protected]
+
+- Adapted ignored_features to handle possibly missing Cmdline entry
+ from Linuxrc (bnc#861465)
+- 3.1.42
+
+-------------------------------------------------------------------
+Tue Feb 25 13:27:34 CET 2014 - [email protected]
+
+- Removed hard-coded color and RichText formatting from
+ installation confirmation dialog (#bnc#865371)
+- 3.1.41
+
+-------------------------------------------------------------------
Fri Feb 21 14:54:01 CET 2014 - [email protected]
- Make vnc use real yast theme (bnc #855246) and make vnc screen size
configurable.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/package/yast2-installation.spec
new/yast2-installation-3.1.47/package/yast2-installation.spec
--- old/yast2-installation-3.1.40/package/yast2-installation.spec
2014-02-21 15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/package/yast2-installation.spec
2014-02-27 16:14:09.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-installation
-Version: 3.1.40
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/src/Makefile.am
new/yast2-installation-3.1.47/src/Makefile.am
--- old/yast2-installation-3.1.40/src/Makefile.am 2014-02-21
15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/Makefile.am 2014-02-27
16:14:09.000000000 +0100
@@ -8,6 +8,8 @@
modules/SystemFilesCopy.rb
client_DATA = \
+ clients/cio_ignore_finish.rb \
+ clients/cio_ignore_proposal.rb \
clients/clone_proposal.rb \
clients/clone_finish.rb \
clients/copy_files_finish.rb \
@@ -103,7 +105,8 @@
ylibdir = "${yast2dir}/lib/installation"
ylib_DATA = \
lib/installation/clone_settings.rb \
- lib/installation/minimal_installation.rb
+ lib/installation/minimal_installation.rb \
+ lib/installation/cio_ignore.rb
EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(scrconf_DATA)
$(schemafiles_DATA) $(desktop_DATA) $(fillup_DATA) $(ylib_DATA)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/clients/cio_ignore_finish.rb
new/yast2-installation-3.1.47/src/clients/cio_ignore_finish.rb
--- old/yast2-installation-3.1.40/src/clients/cio_ignore_finish.rb
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/src/clients/cio_ignore_finish.rb
2014-02-27 16:14:09.000000000 +0100
@@ -0,0 +1,3 @@
+require "installation/cio_ignore"
+
+::Installation::CIOIgnoreFinish.new.run(*Yast::WFM.Args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/clients/cio_ignore_proposal.rb
new/yast2-installation-3.1.47/src/clients/cio_ignore_proposal.rb
--- old/yast2-installation-3.1.40/src/clients/cio_ignore_proposal.rb
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/src/clients/cio_ignore_proposal.rb
2014-02-27 16:14:09.000000000 +0100
@@ -0,0 +1,3 @@
+require "installation/cio_ignore"
+
+::Installation::CIOIgnoreProposal.new.run(*Yast::WFM.Args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/clients/inst_complex_welcome.rb
new/yast2-installation-3.1.47/src/clients/inst_complex_welcome.rb
--- old/yast2-installation-3.1.40/src/clients/inst_complex_welcome.rb
2014-02-21 15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/clients/inst_complex_welcome.rb
2014-02-27 16:14:09.000000000 +0100
@@ -308,11 +308,8 @@
VSpacing(@text_mode ? 21 : 25),
VBox(
Left(
- HBox(
- Icon.Simple("yast-license"),
- # TRANSLATORS: dialog caption
- Heading(_("License Agreement"))
- )
+ # TRANSLATORS: dialog caption
+ Heading(_("License Agreement"))
),
VSpacing(@text_mode ? 0.1 : 0.5),
HSpacing(82),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/src/clients/inst_finish.rb
new/yast2-installation-3.1.47/src/clients/inst_finish.rb
--- old/yast2-installation-3.1.40/src/clients/inst_finish.rb 2014-02-21
15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/clients/inst_finish.rb 2014-02-27
16:14:09.000000000 +0100
@@ -150,6 +150,7 @@
"storage",
"iscsi-client",
"kernel",
+ "cio_ignore",
"x11",
"proxy",
"pkg",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/clients/inst_system_analysis.rb
new/yast2-installation-3.1.47/src/clients/inst_system_analysis.rb
--- old/yast2-installation-3.1.40/src/clients/inst_system_analysis.rb
2014-02-21 15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/clients/inst_system_analysis.rb
2014-02-27 16:14:09.000000000 +0100
@@ -77,8 +77,6 @@
@packager_initialized = false
- # <-- Function definitions
-
Wizard.SetContents(_("Analyzing the Computer"), Empty(), "", false,
false)
Wizard.SetTitleIcon("yast-controller")
@@ -88,171 +86,73 @@
# constructors might depend on it.
# In autoinst mode, this has been called already.
- @actions_todo = []
- @actions_doing = []
- @actions_functions = []
+ actions_todo = []
+ actions_doing = []
+ actions_functions = []
Builtins.y2milestone("Probing done: %1", Installation.probing_done)
+ # skip part of probes as it doesn't change, but some parts (mostly disks
+ # that can be activated) need rerun see BNC#865579
if !Installation.probing_done
+ # TRANSLATORS: progress steps in system probing
if !(Arch.s390 || Arch.board_iseries)
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(@actions_todo, _("Probe USB devices"))
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Probing USB devices...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionUSB), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Probe FireWire devices")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Probing FireWire devices...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionFireWire), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Probe floppy disk devices")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Probing floppy disk devices...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionFloppyDisks), "boolean ()")
- )
+ actions_todo << _("Probe USB devices")
+ actions_doing << _("Probing USB devices...")
+ actions_functions << fun_ref(method(:ActionUSB), "boolean ()")
+
+ actions_todo << _("Probe FireWire devices")
+ actions_doing << _("Probing FireWire devices...")
+ actions_functions << fun_ref(method(:ActionFireWire), "boolean ()")
+
+ actions_todo << _("Probe floppy disk devices")
+ actions_doing << _("Probing floppy disk devices...")
+ actions_functions << fun_ref(method(:ActionFloppyDisks), "boolean
()")
end
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Probe hard disk controllers")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Probing hard disk controllers...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionHHDControllers), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Load kernel modules for hard disk controllers")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Loading kernel modules for hard disk controllers...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionLoadModules), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(@actions_todo, _("Probe hard disks"))
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Probing hard disks...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:ActionHDDProbe), "boolean ()")
- )
+ actions_todo << _("Probe hard disk controllers")
+ actions_doing << _("Probing hard disk controllers...")
+ actions_functions << fun_ref(method(:ActionHHDControllers), "boolean
()")
+
+ actions_todo << _("Load kernel modules for hard disk controllers")
+ actions_doing << _("Loading kernel modules for hard disk
controllers...")
+ actions_functions << fun_ref(method(:ActionLoadModules), "boolean ()")
+
+ actions_todo << _("Probe hard disks")
+ actions_doing << _("Probing hard disks...")
+ actions_functions << fun_ref(method(:ActionHDDProbe), "boolean ()")
WFM.CallFunction("inst_features", [])
end
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Search for Linux partitions")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Searching for Linux partitions...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:SearchForLinuxPartitions), "boolean ()")
- )
+ actions_todo << _("Search for Linux partitions")
+ actions_doing << _("Searching for Linux partitions...")
+ actions_functions << fun_ref(method(:SearchForLinuxPartitions), "boolean
()")
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(@actions_todo, _("Search for system files"))
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Searching for system files...")
- )
# FATE #302980: Simplified user config during installation
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:FilesFromOlderSystems), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Evaluate update possibility")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Evaluating update possibility...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:EvaluateUpdatePossibilities), "boolean ()")
- )
-
- # TRANSLATORS: progress step
- @actions_todo = Builtins.add(
- @actions_todo,
- _("Initialize software manager")
- )
- # TRANSLATORS: progress step
- @actions_doing = Builtins.add(
- @actions_doing,
- _("Initializing software manager...")
- )
- @actions_functions = Builtins.add(
- @actions_functions,
- fun_ref(method(:InitInstallationRepositories), "boolean ()")
- )
+ actions_todo << _("Search for system files")
+ actions_doing << _("Searching for system files...")
+ actions_functions << fun_ref(method(:FilesFromOlderSystems), "boolean
()")
+
+ actions_todo << _("Evaluate update possibility")
+ actions_doing << _("Evaluating update possibility...")
+ actions_functions << fun_ref(method(:EvaluateUpdatePossibilities),
"boolean ()")
+
+ actions_todo << _("Initialize software manager")
+ actions_doing << _("Initializing software manager...")
+ actions_functions << fun_ref(method(:InitInstallationRepositories),
"boolean ()")
Progress.New(
# TRANSLATORS: dialog caption
_("System Probing"),
" ",
- Builtins.size(@actions_todo),
- @actions_todo,
- @actions_doing,
+ actions_todo.size,
+ actions_todo,
+ actions_doing,
# TRANSLATORS: dialog help
_("YaST is probing computer hardware and installed systems now.")
)
- Builtins.foreach(@actions_functions) do |run_function|
+ actions_functions.each do |run_function|
Progress.NextStage
# Bugzilla #298049
# Allow to abort the probing
@@ -265,13 +165,8 @@
next :abort
end
end
- Builtins.y2milestone("Running function: %1", run_function)
- run_this = Convert.convert(
- run_function,
- :from => "any",
- :to => "boolean ()"
- )
- ret = run_this.call
+
+ ret = run_function.call
Builtins.y2milestone("Function %1 returned %2", run_function, ret)
end
Installation.probing_done = true
@@ -280,9 +175,8 @@
return :abort if ProductProfile.CheckCompliance(nil) == false
Progress.Finish
- Builtins.sleep(500)
- return :abort if !@packager_initialized
+ return :abort unless @packager_initialized
Builtins.y2milestone(
"Have Linux: %1, Offer Update: %2",
@@ -290,9 +184,8 @@
InstData.offer_update
)
- :next
+ :next
- # EOF
end
# Function definitions -->
@@ -425,18 +318,18 @@
true
end
- def SearchForLinuxPartitions
- Storage.ReReadTargetMap
- if Storage.HaveLinuxPartitions
- InstData.have_linux = true
- else
- InstData.have_linux = false
- end
+ def SearchForLinuxPartitions
+ # ReReadTargetMap is needed to fix bug #806454
+ Storage.ReReadTargetMap()
+ # SetPartProposalFirst is needed to fix bug #865579
+ Storage.SetPartProposalFirst(true)
+ InstData.have_linux = Storage.HaveLinuxPartitions()
true
end
- def InitInstallationRepositoriesReal
+
+ def InitInstallationRepositories
# disable callbacks
PackageCallbacks.RegisterEmptyProgressCallbacks
@@ -469,18 +362,6 @@
ret
end
-
- def InitInstallationRepositories
- #boolean progress_orig = Progress::set (false);
- #y2milestone ("Pregress was: %1", progress_orig);
-
- ret = InitInstallationRepositoriesReal()
-
- #y2milestone ("Adjusting progress: %1", progress_orig);
- #Progress::set (progress_orig);
-
- ret
- end
def FilesFromOlderSystems
# FATE #300421: Import ssh keys from previous installations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/include/installation/misc.rb
new/yast2-installation-3.1.47/src/include/installation/misc.rb
--- old/yast2-installation-3.1.40/src/include/installation/misc.rb
2014-02-21 15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/include/installation/misc.rb
2014-02-27 16:14:09.000000000 +0100
@@ -239,7 +239,7 @@
confirm_button_label = Label.InstallButton
else
# Heading for confirmation popup before the update really starts
- heading = "<h3>" + _("Confirm Update") + "</h3>"
+ heading = HTML.Heading(_("Confirm Update"))
body =
# Text for confirmation popup before the update really starts 1/3
@@ -258,18 +258,7 @@
confirm_button_label = _("Start &Update")
end
- heading_bg_color = "#A9CEDD"
-
display_info = UI.GetDisplayInfo
- text = Ops.get_boolean(display_info, "RichTextSupportsTable", false) ?
- Builtins.sformat(
- "<table bgcolor=\"%1\"><tr><td>%2</td></tr></table>%3",
- heading_bg_color,
- heading,
- body
- ) :
- Ops.add(heading, body)
-
size_x = Builtins.tointeger(Ops.get_integer(display_info, "Width", 800))
size_y = Builtins.tointeger(Ops.get_integer(display_info, "Height", 600))
@@ -290,7 +279,7 @@
HBox(
HSpacing(0.7),
VSpacing(size_y), # force height
- RichText(text),
+ RichText(heading + body),
HSpacing(0.7)
),
ButtonBox(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/lib/installation/cio_ignore.rb
new/yast2-installation-3.1.47/src/lib/installation/cio_ignore.rb
--- old/yast2-installation-3.1.40/src/lib/installation/cio_ignore.rb
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/src/lib/installation/cio_ignore.rb
2014-02-27 16:14:09.000000000 +0100
@@ -0,0 +1,158 @@
+require "yast"
+
+module Installation
+ class CIOIgnore
+ include Singleton
+ attr_accessor :enabled
+
+ def initialize
+ reset
+ end
+
+ def reset
+ #default value requested in FATE#315586
+ @enabled = true
+ end
+ end
+
+ class CIOIgnoreProposal
+ include Yast::Logger
+ include Yast::I18n
+
+ CIO_ENABLE_LINK = "cio_enable"
+ CIO_DISABLE_LINK = "cio_disable"
+ CIO_ACTION_ID = "cio"
+
+ def initialize
+ textdomain "installation"
+ end
+
+ def run(*args)
+ func = args.first
+ param = args[1] || {}
+
+ log.debug "cio ignore proposal client called with #{func} and #{param}"
+
+ case func
+ when "MakeProposal"
+ proposal_entry
+ when "Description"
+ {
+ # this is a heading
+ "rich_text_title" => _("Blacklist Devices"),
+ # this is a menu entry
+ "menu_title" => _("B&lacklist Devices"),
+ "id" => CIO_ACTION_ID
+ }
+ when "AskUser"
+ edit param["chosen_id"]
+ else
+ raise "Uknown action passed as first parameter"
+ end
+ end
+
+ private
+
+ def proposal_entry
+ Yast.import "HTML"
+ enabled = CIOIgnore.instance.enabled
+
+ text = if enabled
+ # TRANSLATORS: Installation overview
+ # IMPORTANT: Please, do not change the HTML link <a
href="...">...</a>, only visible text
+ (_(
+ "Blacklist devices enabled (<a href=\"%s\">disable</a>)."
+ ) % CIO_DISABLE_LINK)
+ else
+ # TRANSLATORS: Installation overview
+ # IMPORTANT: Please, do not change the HTML link <a
href="...">...</a>, only visible text
+ (_(
+ "Blacklist devices disabled (<a href=\"%1\">enable</a>)."
+ ) % CIO_ENABLE_LINK)
+ end
+
+ {
+ "preformatted_proposal" => Yast::HTML.List([text]),
+ "links" => [CIO_ENABLE_LINK, CIO_DISABLE_LINK],
+ # TRANSLATORS: help text
+ "help" => _(
+ "<p>Use <b>Blacklist devices</b> if you want to create blacklist
channels to such devices which will reduce kernel memory footprint.</p>"
+ )
+ }
+ end
+
+ def edit edit_id
+ raise "Internal error: no id passed to proposal edit" unless edit_id
+
+ log.info "CIO proposal change requested, id #{edit_id}"
+
+ cio_ignore = CIOIgnore.instance
+
+ cio_ignore.enabled = case edit_id
+ when CIO_DISABLE_LINK then false
+ when CIO_ENABLE_LINK then true
+ when CIO_ACTION_ID then !cio_ignore.enabled
+ else
+ raise "INTERNAL ERROR: Unexpected value #{edit_id}"
+ end
+
+ { "workflow_sequence" => :next }
+ end
+ end
+
+
+ class CIOIgnoreFinish
+ include Yast::Logger
+ include Yast::I18n
+
+ USABLE_WORKFLOWS = [
+ :installation,
+ :live_installation,
+ :autoinst
+ ]
+
+ YAST_BASH_PATH = Yast::Path.new ".target.bash"
+
+
+ def initialize
+ textdomain "installation"
+ end
+
+ def run(*args)
+ func = args.first
+ param = args[1] || {}
+
+ log.debug "cio ignore finish client called with #{func} and #{param}"
+
+ case func
+ when "Info"
+ Yast.import "Arch"
+ usable = Yast::Arch.s390()
+
+ {
+ "steps" => 1,
+ # progress step title
+ "title" => _(
+ "Blacklisting Devices..."
+ ),
+ "when" => usable ? USABLE_WORKFLOWS : []
+ }
+
+ when "Write"
+ return nil unless CIOIgnore.instance.enabled
+
+ res = Yast::SCR.Execute(YAST_BASH_PATH, "cio_ignore --unused --purge")
+
+ log.info "result of cio_ignore call: #{res.inspect}"
+
+ if res["exit"] != 0
+ raise "cio_ignore command failed with stderr: #{res["stderr"]}"
+ end
+
+ nil
+ else
+ raise "Uknown action passed as first parameter"
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/src/modules/InstFunctions.rb
new/yast2-installation-3.1.47/src/modules/InstFunctions.rb
--- old/yast2-installation-3.1.40/src/modules/InstFunctions.rb 2014-02-21
15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/src/modules/InstFunctions.rb 2014-02-27
16:14:09.000000000 +0100
@@ -60,8 +60,8 @@
polish(Linuxrc.InstallInf(key))
end
- # Features mentioned in 'Cmdline' entry
- cmdline = polish(Linuxrc.InstallInf("Cmdline")).split
+ # Features mentioned in 'Cmdline' entry, it might not be defined
(bnc#861465)
+ cmdline = polish(Linuxrc.InstallInf("Cmdline") || "").split
cmdline_features = cmdline.select do |cmd|
cmd =~ /^ignored?features?=/i
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/test/Makefile.am
new/yast2-installation-3.1.47/test/Makefile.am
--- old/yast2-installation-3.1.40/test/Makefile.am 2014-02-21
15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/test/Makefile.am 2014-02-27
16:14:09.000000000 +0100
@@ -1,5 +1,6 @@
TESTS = \
- inst_functions.rb
+ inst_functions_test.rb \
+ cio_ignore_test.rb
TEST_EXTENSIONS = .rb
RB_LOG_COMPILER = rspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/test/cio_ignore_test.rb
new/yast2-installation-3.1.47/test/cio_ignore_test.rb
--- old/yast2-installation-3.1.40/test/cio_ignore_test.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/test/cio_ignore_test.rb 2014-02-27
16:14:09.000000000 +0100
@@ -0,0 +1,148 @@
+#! /usr/bin/env rspec
+
+require_relative "./test_helper"
+
+require "installation/cio_ignore"
+
+describe ::Installation::CIOIgnoreProposal do
+
+ subject { ::Installation::CIOIgnoreProposal.new }
+
+ before(:each) do
+ ::Installation::CIOIgnore.instance.reset
+ end
+
+ describe "#run" do
+ describe "first parameter \"MakeProposal\"" do
+ it "returns proposal entry hash containing \"links\", \"help\" and
\"preformatted_proposal\"" do
+ result = subject.run("MakeProposal")
+
+ expect(result).to have_key("links")
+ expect(result).to have_key("help")
+ expect(result).to have_key("preformatted_proposal")
+ end
+ end
+
+ describe "first parameter \"Description\"" do
+ it "returns proposal metadata hash containing \"rich_text_title\",
\"id\" and \"menu_title\"" do
+ result = subject.run("Description")
+
+ expect(result).to have_key("rich_text_title")
+ expect(result).to have_key("menu_title")
+ expect(result).to have_key("id")
+ end
+ end
+
+ describe "first parameter \"AskUser\"" do
+ it "changes proposal if passed with chosen_id in second param hash" do
+ params = [
+ "AskUser",
+ "chosen_id" => ::Installation::CIOIgnoreProposal::CIO_DISABLE_LINK
+ ]
+ result = subject.run(*params)
+
+ expect(result["workflow_sequence"]).to eq :next
+ expect(::Installation::CIOIgnore.instance.enabled).to be false
+ end
+
+ it "raises RuntimeError if passed without chosen_id in second param
hash" do
+ expect{subject.run("AskUser")}.to(
+ raise_error(RuntimeError)
+ )
+ end
+
+ it "raises RuntimeError if \"AskUser\" passed with non-existing
chosen_id in second param hash" do
+ params = [
+ "AskUser",
+ "chosen_id" => "non_existing"
+ ]
+
+ expect{subject.run(*params)}.to raise_error(RuntimeError)
+ end
+ end
+
+ it "raises RuntimeError if unknown action passed as first parameter" do
+ expect{subject.run("non_existing_action")}.to(
+ raise_error(RuntimeError)
+ )
+ end
+ end
+end
+
+describe ::Installation::CIOIgnoreFinish do
+ subject { ::Installation::CIOIgnoreFinish.new }
+
+ describe "#run" do
+ describe "first paramater \"Info\"" do
+ it "returns info entry hash with empty \"when\" key for non s390x
architectures" do
+ arch_mock = double("Yast::Arch", :s390 => false)
+ stub_const("Yast::Arch", arch_mock)
+
+ result = subject.run("Info")
+
+ expect(result["when"]).to be_empty
+ end
+
+ it "returns info entry hash with scenarios in \"when\" key for s390x
architectures" do
+ arch_mock = double("Yast::Arch", :s390 => true)
+ stub_const("Yast::Arch", arch_mock)
+
+ result = subject.run("Info")
+
+ expect(result["when"]).to_not be_empty
+ end
+
+ end
+
+ describe "first parameter \"Write\"" do
+ describe "Device blacklisting is disabled" do
+ it "do nothing" do
+ ::Installation::CIOIgnore.instance.enabled = false
+
+ expect(Yast::SCR).to_not receive(:Execute)
+
+ subject.run("Write")
+ end
+ end
+
+ describe "Device blacklisting is enabled" do
+
+ it "call `cio_ignore --unused --purge`" do
+ ::Installation::CIOIgnore.instance.enabled = true
+
+ expect(Yast::SCR).to receive(:Execute).
+ with(
+ ::Installation::CIOIgnoreFinish::YAST_BASH_PATH,
+ "cio_ignore --unused --purge"
+ ).
+ once.
+ and_return({"exit" => 0, "stdout" => "", "stderr" => ""})
+
+ subject.run("Write")
+ end
+
+ it "raises RuntimeError if cio_ignore call failed" do
+ ::Installation::CIOIgnore.instance.enabled = true
+ stderr = "HORRIBLE ERROR!!!"
+
+ expect(Yast::SCR).to receive(:Execute).
+ with(
+ ::Installation::CIOIgnoreFinish::YAST_BASH_PATH,
+ "cio_ignore --unused --purge"
+ ).
+ once.
+ and_return({"exit" => 1, "stdout" => "", "stderr" => stderr})
+
+ expect{subject.run("Write")}.to raise_error(RuntimeError, /stderr/)
+ end
+
+ end
+ end
+
+ it "raises RuntimeError if unknown action passed as first parameter" do
+ expect{subject.run("non_existing_action")}.to(
+ raise_error(RuntimeError)
+ )
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/test/inst_functions.rb
new/yast2-installation-3.1.47/test/inst_functions.rb
--- old/yast2-installation-3.1.40/test/inst_functions.rb 2014-02-21
15:15:55.000000000 +0100
+++ new/yast2-installation-3.1.47/test/inst_functions.rb 1970-01-01
01:00:00.000000000 +0100
@@ -1,177 +0,0 @@
-#! /usr/bin/env rspec
-
-ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
-
-require "yast"
-
-Yast.import "InstFunctions"
-
-# For mocking
-Yast.import "Linuxrc"
-
-describe "when getting list of ignored features from Linuxrc" do
- before(:each) do
- Yast::InstFunctions.reset_ignored_features
- end
-
- it "returns empty list if no features were ignored on commandline" do
- linuxrc_commandline = "othercommand=xyz no_ignore_features=1
something-else=555"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to be_empty
- end
-
- it "returns empty list if features ignored on commandline were empty" do
- linuxrc_commandline = "ignore_features="
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to be_empty
- end
-
- it "returns list of features set on commandline by two entries" do
- linuxrc_commandline = "ignore_features=aa,b_b,c-c ignoredfeatures=a-a,dd
othercommand=xyz"
- ignored_features = ["aa", "bb", "cc", "dd"].sort
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
- end
-
- it "returns list of features set on commandline by one entry" do
- linuxrc_commandline = "ignore_features=x-x,yy"
- ignored_features = ["xx", "yy"].sort
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
- end
-
- it "returns list of features set on commandline by several entries, each
feature in separate entry" do
- linuxrc_commandline = "trash=install ignore_feature=f.e.a.ture1
ig.n.o.red_features=feature2 ignore_features=feature3"
- ignored_features = ["feature1", "feature2", "feature3"].sort
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
- end
-
- it "returns one feature set on commandline by one entry" do
- linuxrc_commandline = "i-g-n-o-r-e_feature=fff"
- ignored_features = ["fff"]
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
- end
-
- it "returns one feature set on commandline by one entry using up/down case"
do
- linuxrc_commandline = "Ignore_FeaTUres=ffF"
- ignored_features = ["fff"]
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
- end
-
- # PTOptions makes a command hidden from 'Cmdline' and creates
- # a new install.inf entry using the exact name as it appears in PTOptions
- # @see http://en.opensuse.org/SDB:Linuxrc#p_ptoptions
- it "returns features set on commandline together with ptoptions" do
- install_inf = {
- 'ignored_features' => 'f1,f2,f3',
- 'IgnoReDfEAtuRes' => 'f2,f4',
- 'i.g.n.o.r.e.d.features' => 'f1,f5',
- 'IGNORE-FEA-T-U-RE' => 'f6,f7,f7,f7',
- 'another_feature' => 'another_value',
- 'Cmdline' => 'splash=silent vga=0x314',
- 'Keyboard' => '1',
- }
- Yast::Linuxrc.stub(:keys).and_return(install_inf.keys)
- install_inf.keys.each do |key|
- Yast::Linuxrc.stub(:InstallInf).with(key).and_return(install_inf[key])
- end
-
- expect(Yast::InstFunctions.ignored_features.sort).to
eq(['f1','f2','f3','f4','f5','f6','f7'])
- end
-end
-
-describe "#feature_ignored?" do
- before(:each) do
- Yast::InstFunctions.reset_ignored_features
- end
-
- it "should be true if feature is exactly set on commandline" do
- linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?("feature2")).to be_true
- end
-
- it "should be true if feature is exactly on commandline using up/down case"
do
- linuxrc_commandline = "trash=install ignore_features=fEAture1
igno-RED_features=f-eatuRE_2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?("f-e-a-t-u-r-e-2")).to be_true
- end
-
- it "should be true if feature is set on commandline with dashes and
underscores" do
- linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?("f-e-a-t-u-r-e_2")).to be_true
- end
-
- it "should be false if feature is not set on commandline" do
- linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?("no-such-feature")).to be_false
- end
-
- it "should be false if feature to check is empty" do
- linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?("")).to be_false
- end
-
- it "should be false if feature to check is undefined" do
- linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
-
- Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
- expect(Yast::InstFunctions.feature_ignored?(nil)).to be_false
- end
-
- it "should be true if feature is mentioned as a separate install.inf entry
or in Cmdline" do
- install_inf = {
- 'ignored_features' => 'f1,f2,f3',
- 'IgnoReDfEAtuRes' => 'f2,f4',
- 'i.g.n.o.r.e.d.features' => 'f1,f5',
- 'IGNORED-FEA-T-U-RES' => 'f6,f7,f7,f7',
- 'another_feature' => 'another_value',
- 'Cmdline' => 'splash=silent vga=0x314 ignored_feature=f8',
- 'Keyboard' => '1',
- }
- Yast::Linuxrc.stub(:keys).and_return(install_inf.keys)
- install_inf.keys.each do |key|
- Yast::Linuxrc.stub(:InstallInf).with(key).and_return(install_inf[key])
- end
-
- ['f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8'].each do |key|
- expect(Yast::InstFunctions.feature_ignored?(key)).to be_true, "Key
#{key} is not ignored"
- end
- end
-
- it "should be false if feature is not mentioned as a separate install.inf
entry or in Cmdline" do
- install_inf = {
- 'ignored_features' => 'f1,f2,f3',
- 'IgnoReDfEAtuRes' => 'f2,f4',
- 'i.g.n.o.r.e.d.features' => 'f1,f5',
- 'IGNORE-FEA-T-U-RE' => 'f6,f7,f7,f7',
- 'another_feature' => 'another_value',
- 'Cmdline' => 'splash=silent vga=0x314 ignored_feature=f8',
- 'Keyboard' => '1',
- }
- Yast::Linuxrc.stub(:keys).and_return(install_inf.keys)
- install_inf.keys.each do |key|
- Yast::Linuxrc.stub(:InstallInf).with(key).and_return(install_inf[key])
- end
-
- expect(Yast::InstFunctions.feature_ignored?('f9')).to be_false
- end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-3.1.40/test/inst_functions_test.rb
new/yast2-installation-3.1.47/test/inst_functions_test.rb
--- old/yast2-installation-3.1.40/test/inst_functions_test.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/test/inst_functions_test.rb 2014-02-27
16:14:09.000000000 +0100
@@ -0,0 +1,184 @@
+#! /usr/bin/env rspec
+
+require_relative "./test_helper"
+
+Yast.import "InstFunctions"
+
+# For mocking
+Yast.import "Linuxrc"
+
+def stub_install_inf(install_inf)
+ Yast::Linuxrc.stub(:keys).and_return(install_inf.keys)
+
+ install_inf.keys.each do |key|
+ Yast::Linuxrc.stub(:InstallInf).with(key).and_return(install_inf[key])
+ end
+end
+
+describe "when getting list of ignored features from Linuxrc" do
+ before(:each) do
+ Yast::InstFunctions.reset_ignored_features
+ end
+
+ it "returns empty list if no features were ignored on commandline" do
+ linuxrc_commandline = "othercommand=xyz no_ignore_features=1
something-else=555"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to be_empty
+ end
+
+ it "returns empty list if features ignored on commandline were empty" do
+ linuxrc_commandline = "ignore_features="
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to be_empty
+ end
+
+ it "returns list of features set on commandline by two entries" do
+ linuxrc_commandline = "ignore_features=aa,b_b,c-c ignoredfeatures=a-a,dd
othercommand=xyz"
+ ignored_features = ["aa", "bb", "cc", "dd"].sort
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
+ end
+
+ it "returns list of features set on commandline by one entry" do
+ linuxrc_commandline = "ignore_features=x-x,yy"
+ ignored_features = ["xx", "yy"].sort
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
+ end
+
+ it "returns list of features set on commandline by several entries, each
feature in separate entry" do
+ linuxrc_commandline = "trash=install ignore_feature=f.e.a.ture1
ig.n.o.red_features=feature2 ignore_features=feature3"
+ ignored_features = ["feature1", "feature2", "feature3"].sort
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
+ end
+
+ it "returns one feature set on commandline by one entry" do
+ linuxrc_commandline = "i-g-n-o-r-e_feature=fff"
+ ignored_features = ["fff"]
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
+ end
+
+ it "returns one feature set on commandline by one entry using up/down case"
do
+ linuxrc_commandline = "Ignore_FeaTUres=ffF"
+ ignored_features = ["fff"]
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.ignored_features.sort).to eq ignored_features
+ end
+
+ # PTOptions makes a command hidden from 'Cmdline' and creates
+ # a new install.inf entry using the exact name as it appears in PTOptions
+ # @see http://en.opensuse.org/SDB:Linuxrc#p_ptoptions
+ it "returns features set on commandline together with ptoptions" do
+ install_inf = {
+ 'ignored_features' => 'f1,f2,f3',
+ 'IgnoReDfEAtuRes' => 'f2,f4',
+ 'i.g.n.o.r.e.d.features' => 'f1,f5',
+ 'IGNORE-FEA-T-U-RE' => 'f6,f7,f7,f7',
+ 'another_feature' => 'another_value',
+ 'Cmdline' => 'splash=silent vga=0x314',
+ 'Keyboard' => '1',
+ }
+ stub_install_inf(install_inf)
+
+ expect(Yast::InstFunctions.ignored_features.sort).to
eq(['f1','f2','f3','f4','f5','f6','f7'])
+ end
+
+ it "handles missing Cmdline in Linuxrc" do
+ install_inf = {
+ # Cmdline is not defined, bnc#861465
+ 'Cmdline' => nil,
+ }
+ stub_install_inf(install_inf)
+
+ expect(Yast::InstFunctions.ignored_features.sort).to be_empty
+ end
+end
+
+describe "#feature_ignored?" do
+ before(:each) do
+ Yast::InstFunctions.reset_ignored_features
+ end
+
+ it "should be true if feature is exactly set on commandline" do
+ linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?("feature2")).to be_true
+ end
+
+ it "should be true if feature is exactly on commandline using up/down case"
do
+ linuxrc_commandline = "trash=install ignore_features=fEAture1
igno-RED_features=f-eatuRE_2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?("f-e-a-t-u-r-e-2")).to be_true
+ end
+
+ it "should be true if feature is set on commandline with dashes and
underscores" do
+ linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?("f-e-a-t-u-r-e_2")).to be_true
+ end
+
+ it "should be false if feature is not set on commandline" do
+ linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?("no-such-feature")).to be_false
+ end
+
+ it "should be false if feature to check is empty" do
+ linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?("")).to be_false
+ end
+
+ it "should be false if feature to check is undefined" do
+ linuxrc_commandline = "trash=install ignore_features=feature1
ignored_features=feature2 ignore_features=feature3"
+
+ Yast::Linuxrc.stub(:InstallInf).and_return(linuxrc_commandline)
+ expect(Yast::InstFunctions.feature_ignored?(nil)).to be_false
+ end
+
+ it "should be true if feature is mentioned as a separate install.inf entry
or in Cmdline" do
+ install_inf = {
+ 'ignored_features' => 'f1,f2,f3',
+ 'IgnoReDfEAtuRes' => 'f2,f4',
+ 'i.g.n.o.r.e.d.features' => 'f1,f5',
+ 'IGNORED-FEA-T-U-RES' => 'f6,f7,f7,f7',
+ 'another_feature' => 'another_value',
+ 'Cmdline' => 'splash=silent vga=0x314 ignored_feature=f8',
+ 'Keyboard' => '1',
+ }
+ stub_install_inf(install_inf)
+
+ ['f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8'].each do |key|
+ expect(Yast::InstFunctions.feature_ignored?(key)).to be_true, "Key
#{key} is not ignored"
+ end
+ end
+
+ it "should be false if feature is not mentioned as a separate install.inf
entry or in Cmdline" do
+ install_inf = {
+ 'ignored_features' => 'f1,f2,f3',
+ 'IgnoReDfEAtuRes' => 'f2,f4',
+ 'i.g.n.o.r.e.d.features' => 'f1,f5',
+ 'IGNORE-FEA-T-U-RE' => 'f6,f7,f7,f7',
+ 'another_feature' => 'another_value',
+ 'Cmdline' => 'splash=silent vga=0x314 ignored_feature=f8',
+ 'Keyboard' => '1',
+ }
+ stub_install_inf(install_inf)
+
+ expect(Yast::InstFunctions.feature_ignored?('f9')).to be_false
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-3.1.40/test/test_helper.rb
new/yast2-installation-3.1.47/test/test_helper.rb
--- old/yast2-installation-3.1.40/test/test_helper.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-installation-3.1.47/test/test_helper.rb 2014-02-27
16:14:09.000000000 +0100
@@ -0,0 +1,8 @@
+ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
+
+if ENV["COVERAGE"]
+ require "simplecov"
+ SimpleCov.start
+end
+
+require "yast"
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]