Hello community,
here is the log from the commit of package yast2-installation for
openSUSE:Factory checked in at 2018-04-26 13:29:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
and /work/SRC/openSUSE:Factory/.yast2-installation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation"
Thu Apr 26 13:29:49 2018 rev:401 rq:598569 version:4.0.50
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes
2018-04-07 20:52:17.724731124 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes
2018-04-26 13:29:51.746038921 +0200
@@ -1,0 +2,40 @@
+Thu Apr 19 13:05:23 UTC 2018 - [email protected]
+
+- Log more details when unmounting the target partition fails
+ (to debug bsc#1090018)
+- 4.0.50
+
+-------------------------------------------------------------------
+Tue Apr 17 12:37:12 UTC 2018 - [email protected]
+
+- Installer Updates does not overwrite Driver Updates
+ (bsc#1088685).
+- 4.0.49
+
+-------------------------------------------------------------------
+Mon Apr 16 12:50:00 UTC 2018 - [email protected]
+
+- Don't hard-code the role text color (bsc#1087399).
+- 4.0.48
+
+-------------------------------------------------------------------
+Mon Apr 16 11:08:57 UTC 2018 - [email protected]
+
+- Ensure proper patterns are selected when going back to system
+ role and switch to different role (bsc#1088883)
+- 4.0.47
+
+-------------------------------------------------------------------
+Tue Apr 10 16:37:15 CEST 2018 - [email protected]
+
+- Set Add-On products for installation again after the base
+ product has been selected (bnc#1086846).
+- 4.0.46
+
+-------------------------------------------------------------------
+Fri Apr 6 17:25:51 UTC 2018 - [email protected]
+
+- Use AbortException when user aborts (part of fate#318196).
+- 4.0.45
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-4.0.44.tar.bz2
New:
----
yast2-installation-4.0.50.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.4Xf519/_old 2018-04-26 13:29:52.366016212 +0200
+++ /var/tmp/diff_new_pack.4Xf519/_new 2018-04-26 13:29:52.370016065 +0200
@@ -17,15 +17,15 @@
Name: yast2-installation
-Version: 4.0.44
+Version: 4.0.50
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %{name}-%{version}.tar.bz2
Url: http://github.com/yast/yast-installation
-# new y2start script
-Requires: yast2-ruby-bindings >= 3.2.10
+# for AbortException and handle direct abort
+Requires: yast2-ruby-bindings >= 4.0.6
Summary: YaST2 - Installation Parts
License: GPL-2.0
@@ -36,6 +36,8 @@
BuildRequires: update-desktop-files
BuildRequires: yast2-devtools >= 3.1.10
+# for AbortException and handle direct abort
+BuildRequires: yast2-ruby-bindings >= 4.0.6
# needed for xml agent reading about products
BuildRequires: yast2-xml
BuildRequires: rubygem(rspec)
@@ -63,8 +65,8 @@
# Mouse-related scripts moved to yast2-mouse
Conflicts: yast2-mouse < 2.18.0
-# Yast::Packages.check_remote_installation_packages
-Requires: yast2-packager >= 4.0.9
+# Yast::AddOnProduct.selected_installation_products
+Requires: yast2-packager >= 4.0.56
# use in startup scripts
Requires: initviocons
++++++ yast2-installation-4.0.44.tar.bz2 -> yast2-installation-4.0.50.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/package/yast2-installation.changes
new/yast2-installation-4.0.50/package/yast2-installation.changes
--- old/yast2-installation-4.0.44/package/yast2-installation.changes
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/package/yast2-installation.changes
2018-04-19 16:07:10.000000000 +0200
@@ -1,4 +1,44 @@
-------------------------------------------------------------------
+Thu Apr 19 13:05:23 UTC 2018 - [email protected]
+
+- Log more details when unmounting the target partition fails
+ (to debug bsc#1090018)
+- 4.0.50
+
+-------------------------------------------------------------------
+Tue Apr 17 12:37:12 UTC 2018 - [email protected]
+
+- Installer Updates does not overwrite Driver Updates
+ (bsc#1088685).
+- 4.0.49
+
+-------------------------------------------------------------------
+Mon Apr 16 12:50:00 UTC 2018 - [email protected]
+
+- Don't hard-code the role text color (bsc#1087399).
+- 4.0.48
+
+-------------------------------------------------------------------
+Mon Apr 16 11:08:57 UTC 2018 - [email protected]
+
+- Ensure proper patterns are selected when going back to system
+ role and switch to different role (bsc#1088883)
+- 4.0.47
+
+-------------------------------------------------------------------
+Tue Apr 10 16:37:15 CEST 2018 - [email protected]
+
+- Set Add-On products for installation again after the base
+ product has been selected (bnc#1086846).
+- 4.0.46
+
+-------------------------------------------------------------------
+Fri Apr 6 17:25:51 UTC 2018 - [email protected]
+
+- Use AbortException when user aborts (part of fate#318196).
+- 4.0.45
+
+-------------------------------------------------------------------
Fri Apr 6 12:26:45 UTC 2018 - [email protected]
- Start web VNC for the installation process (bsc#1078785)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/package/yast2-installation.spec
new/yast2-installation-4.0.50/package/yast2-installation.spec
--- old/yast2-installation-4.0.44/package/yast2-installation.spec
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/package/yast2-installation.spec
2018-04-19 16:07:10.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-installation
-Version: 4.0.44
+Version: 4.0.50
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -25,8 +25,8 @@
Group: System/YaST
License: GPL-2.0
Url: http://github.com/yast/yast-installation
-# new y2start script
-Requires: yast2-ruby-bindings >= 3.2.10
+# for AbortException and handle direct abort
+Requires: yast2-ruby-bindings >= 4.0.6
Summary: YaST2 - Installation Parts
@@ -35,6 +35,8 @@
BuildRequires: update-desktop-files
BuildRequires: yast2-devtools >= 3.1.10
+# for AbortException and handle direct abort
+BuildRequires: yast2-ruby-bindings >= 4.0.6
# needed for xml agent reading about products
BuildRequires: yast2-xml
BuildRequires: rubygem(rspec)
@@ -62,8 +64,8 @@
# Mouse-related scripts moved to yast2-mouse
Conflicts: yast2-mouse < 2.18.0
-# Yast::Packages.check_remote_installation_packages
-Requires: yast2-packager >= 4.0.9
+# Yast::AddOnProduct.selected_installation_products
+Requires: yast2-packager >= 4.0.56
# use in startup scripts
Requires: initviocons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/src/lib/installation/clients/inst_system_analysis.rb
new/yast2-installation-4.0.50/src/lib/installation/clients/inst_system_analysis.rb
---
old/yast2-installation-4.0.44/src/lib/installation/clients/inst_system_analysis.rb
2018-04-06 16:34:09.000000000 +0200
+++
new/yast2-installation-4.0.50/src/lib/installation/clients/inst_system_analysis.rb
2018-04-19 16:07:10.000000000 +0200
@@ -32,11 +32,6 @@
class InstSystemAnalysisClient < Client
include Yast::Logger
- # Custom exception class to indicate the user (or the AutoYaST profile)
- # decided to abort the installation due to a libstorage-ng error
- class AbortError < RuntimeError
- end
-
def main
Yast.import "UI"
@@ -142,7 +137,7 @@
begin
ret = run_function.call
Builtins.y2milestone("Function %1 returned %2", run_function, ret)
- rescue AbortError
+ rescue AbortException
return :abort
end
@@ -179,7 +174,7 @@
# Hard disks initialization
#
- # @raise [AbortError] if an error is found and the installation must
+ # @raise [AbortException] if an error is found and the installation must
# be aborted because of such error
def ActionHDDProbe
init_storage
@@ -285,7 +280,7 @@
# Reprobing ensures we don't bring bug#806454 back and invalidates cached
# proposal, so we are also safe from bug#865579.
#
- # @raise [AbortError] if an error is found and the installation must
+ # @raise [AbortException] if an error is found and the installation must
# be aborted because of such error
def init_storage
success = storage_manager.activate(activate_callbacks)
@@ -293,7 +288,7 @@
return if success
log.info "A storage error was raised and the installation must be
aborted."
- raise AbortError, "User aborted"
+ raise AbortException, "User aborted"
end
# @return [Y2Storage::StorageManager]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/src/lib/installation/clients/umount_finish.rb
new/yast2-installation-4.0.50/src/lib/installation/clients/umount_finish.rb
--- old/yast2-installation-4.0.44/src/lib/installation/clients/umount_finish.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/src/lib/installation/clients/umount_finish.rb
2018-04-19 16:07:10.000000000 +0200
@@ -30,6 +30,7 @@
require "y2storage"
require "pathname"
+require "shellwords"
module Yast
class UmountFinishClient < Client
@@ -158,6 +159,14 @@
WFM.Execute(path(".local.umount"), umount_this)
)
if umount_result != true
+ # run "fuser" to get the details about open files
+ # (the details are printed on STDERR, redirect it)
+ fuser = begin
+ `LC_ALL=C fuser -v -m #{Shellwords.escape(umount_this)}
2>&1`
+ rescue => e
+ "fuser failed: #{e}"
+ end
+ log.warn("Running processes using #{umount_this}: #{fuser}")
# bnc #395034
# Don't remount them read-only!
if Builtins.contains(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/src/lib/installation/driver_update.rb
new/yast2-installation-4.0.50/src/lib/installation/driver_update.rb
--- old/yast2-installation-4.0.44/src/lib/installation/driver_update.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/src/lib/installation/driver_update.rb
2018-04-19 16:07:10.000000000 +0200
@@ -55,8 +55,16 @@
def find(update_dirs)
dirs = Array(update_dirs)
log.info("Searching for Driver Updates at #{dirs.map(&:to_s)}")
- globs = dirs.map { |d| d.join("dud_*") }
- Pathname.glob(globs).map do |path|
+
+ # DUD as directories
+ duds_globs = dirs.map { |d| d.join("*", "dud.config") }
+ duds = Pathname.glob(duds_globs).map(&:dirname)
+
+ # DUD as files (squashfs filesystems)
+ archives_globs = dirs.map { |d| d.join("dud_*") }
+ archives = Pathname.glob(archives_globs)
+
+ (duds + archives).uniq.map do |path|
log.info("Found a Driver Update at #{path}")
new(path)
end
@@ -97,7 +105,7 @@
private
# LOSETUP command
- LOSETUP_CMD = "/sbin/losetup".freeze
+ LOSETUP_CMD = "/sbin/losetup -j '%<file>s'".freeze
# Returns the instsys_path for updates of type :archive
#
@@ -106,10 +114,10 @@
#
# @return [Pathname] Update's mountpoint
def archive_instsys_path
- out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"),
LOSETUP_CMD)
+ cmd = format(LOSETUP_CMD, file: path.to_s)
+ out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), cmd)
log.info("Reading loopback devices: #{out}")
- regexp = %r{(/dev/loop\d+)[^\n]+#{path.to_s}\n}
- lodevice = out["stdout"][regexp, 1]
+ lodevice = out["stdout"].split(":").first
mount = Yast::SCR.Read(Yast::Path.new(".proc.mounts")).find { |m|
m["spec"] == lodevice }
if mount.nil?
log.warn("Driver Update at #{path} is not mounted")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/src/lib/installation/select_system_role.rb
new/yast2-installation-4.0.50/src/lib/installation/select_system_role.rb
--- old/yast2-installation-4.0.44/src/lib/installation/select_system_role.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/src/lib/installation/select_system_role.rb
2018-04-19 16:07:10.000000000 +0200
@@ -24,6 +24,8 @@
require "installation/system_role"
Yast.import "GetInstArgs"
+Yast.import "Packages"
+Yast.import "Pkg"
Yast.import "Popup"
Yast.import "ProductControl"
Yast.import "ProductFeatures"
@@ -191,6 +193,19 @@
log.info "Applying system role '#{role.id}'"
role.overlay_features
adapt_services(role)
+
+ # Reset pkg and pattern selection as many roles define own roles
+ # so ensure when going back that it will properly set (bsc#1088883)
+ reset_patterns
+ end
+
+ def reset_patterns
+ Yast::Pkg::ResolvableProperties("", :pattern, "").each do |pattern|
+ next if pattern["status"] != :selected
+ Yast::Pkg.ResolvableNeutral(pattern["name"], :pattern, false)
+ end
+ Yast::Packages.SelectSystemPatterns(false)
+ Yast::Pkg.PkgSolve(false)
end
# for given role sets in {::Installation::Services} list of services to
enable
@@ -273,8 +288,7 @@
bullet = selected ? BUTTON_ON : BUTTON_OFF
end
widget = "#{bullet} #{CGI.escape_html(label)}"
- color = installation ? "white" : "black"
- enabled_widget = "<a style='text-decoration:none; color:#{color}'
href=\"#{id}\">#{widget}</a>"
+ enabled_widget = "<a class='dontlooklikealink'
href=\"#{id}\">#{widget}</a>"
"<p>#{enabled_widget}</p>"
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/src/lib/installation/widgets/product_selector.rb
new/yast2-installation-4.0.50/src/lib/installation/widgets/product_selector.rb
---
old/yast2-installation-4.0.44/src/lib/installation/widgets/product_selector.rb
2018-04-06 16:34:09.000000000 +0200
+++
new/yast2-installation-4.0.50/src/lib/installation/widgets/product_selector.rb
2018-04-19 16:07:10.000000000 +0200
@@ -1,6 +1,7 @@
require "yast"
Yast.import "Pkg"
Yast.import "Popup"
+Yast.import "AddOnProduct"
require "cwm/common_widgets"
@@ -49,6 +50,12 @@
Yast::Pkg.PkgApplReset
Yast::Pkg.PkgReset
@product.select
+
+ # Reselecting existing add-on-products for installation again
+ Yast::AddOnProduct.selected_installation_products.each do |product|
+ log.info "Reselecting add-on product #{product} for installation"
+ Yast::Pkg.ResolvableInstall(product, :product, "")
+ end
end
def validate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-installation-4.0.44/test/driver_update_test.rb
new/yast2-installation-4.0.50/test/driver_update_test.rb
--- old/yast2-installation-4.0.44/test/driver_update_test.rb 2018-04-06
16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/test/driver_update_test.rb 2018-04-19
16:07:10.000000000 +0200
@@ -9,16 +9,14 @@
describe Installation::DriverUpdate do
subject(:update) { Installation::DriverUpdate.new(update_path) }
- let(:update_path) { FIXTURES_DIR.join("updates", "dud_000") }
+ let(:update_path) { FIXTURES_DIR.join("self-update", "update", "000") }
let(:losetup_content) do
- "NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE\n" \
- "/dev/loop5 0 0 0 0 /download/dud_000\n" \
- "/dev/loop6 0 0 0 0 #{FIXTURES_DIR.join("updates",
"dud_002")}\n"
+ "/dev/loop6: [0017]:63402 (#{update_path})\n"
end
before do
allow(Yast::SCR).to receive(:Execute)
- .with(Yast::Path.new(".target.bash_output"), "/sbin/losetup")
+ .with(Yast::Path.new(".target.bash_output"), String)
.and_return("exit" => 0, "stdout" => losetup_content)
allow(Yast::SCR).to receive(:Read)
.with(Yast::Path.new(".proc.mounts"))
@@ -34,7 +32,9 @@
context "when updates exist" do
it "returns an array of driver updates" do
- updates = described_class.find([FIXTURES_DIR.join("updates")])
+ updates = described_class.find(
+ [FIXTURES_DIR.join("self-update/update"),
FIXTURES_DIR.join("self-update/download")]
+ )
expect(updates).to all(be_an(described_class))
expect(updates.size).to eq(3)
end
@@ -53,7 +53,7 @@
describe "#kind" do
context "when is a driver update disk" do
- let(:update_path) { FIXTURES_DIR.join("updates", "dud_000") }
+ let(:update_path) { FIXTURES_DIR.join("self-update", "update", "000") }
it "returns :dud" do
expect(update.kind).to eq(:dud)
@@ -61,13 +61,35 @@
end
context "when is an archive" do
- let(:update_path) { FIXTURES_DIR.join("updates", "dud_002") }
+ let(:update_path) { FIXTURES_DIR.join("self-update", "download",
"dud_0000") }
it "returns :archive" do
expect(update.kind).to eq(:archive)
end
end
end
+
+ describe "#instsys_path" do
+ context "when is a driver update disk" do
+ let(:update_path) { FIXTURES_DIR.join("self-update", "update", "000") }
+
+ it "returns the path to the 'inst-sys' directory within the update" do
+ expect(update.instsys_path)
+ .to eq(FIXTURES_DIR.join("self-update", "update", "000", "inst-sys"))
+ end
+ end
+
+ context "when is an archive" do
+ let(:update_path) { FIXTURES_DIR.join("self-update", "download",
"dud_0000") }
+
+ it "returns the path where the DUD is mounted on" do
+ expect(Yast::SCR).to receive(:Execute)
+ .with(Yast::Path.new(".target.bash_output"), "/sbin/losetup -j
'#{update_path}'")
+ .and_return("exit" => 0, "stdout" => losetup_content)
+ expect(update.instsys_path).to eq(Pathname.new("/mounts/mp_0005"))
+ end
+ end
+ end
describe "#path" do
it "returns the path where the DUD is located" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/test/fixtures/self-update/update/000/install/update.pre
new/yast2-installation-4.0.50/test/fixtures/self-update/update/000/install/update.pre
---
old/yast2-installation-4.0.44/test/fixtures/self-update/update/000/install/update.pre
1970-01-01 01:00:00.000000000 +0100
+++
new/yast2-installation-4.0.50/test/fixtures/self-update/update/000/install/update.pre
2018-04-19 16:07:10.000000000 +0200
@@ -0,0 +1,3 @@
+#! /usr/bin/perl
+
+print "Just a testing script.\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/test/fixtures/updates/dud_000/install/update.pre
new/yast2-installation-4.0.50/test/fixtures/updates/dud_000/install/update.pre
---
old/yast2-installation-4.0.44/test/fixtures/updates/dud_000/install/update.pre
2018-04-06 16:34:09.000000000 +0200
+++
new/yast2-installation-4.0.50/test/fixtures/updates/dud_000/install/update.pre
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-#! /usr/bin/perl
-
-print "Just a testing script.\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/test/lib/clients/inst_system_analysis_test.rb
new/yast2-installation-4.0.50/test/lib/clients/inst_system_analysis_test.rb
--- old/yast2-installation-4.0.44/test/lib/clients/inst_system_analysis_test.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/test/lib/clients/inst_system_analysis_test.rb
2018-04-19 16:07:10.000000000 +0200
@@ -66,19 +66,17 @@
context "when activation fails and the error is not recovered" do
let(:activate_result) { false }
- it "does not probe and raises AbortError" do
+ it "does not probe and raises AbortException" do
expect(storage).to_not receive(:probe)
- expect { client.ActionHDDProbe }
- .to raise_error Yast::InstSystemAnalysisClient::AbortError
+ expect { client.ActionHDDProbe }.to raise_error Yast::AbortException
end
end
context "when probing fails and the error is not recovered" do
let(:probe_result) { false }
- it "raises AbortError" do
- expect { client.ActionHDDProbe }
- .to raise_error Yast::InstSystemAnalysisClient::AbortError
+ it "raises AbortException" do
+ expect { client.ActionHDDProbe }.to raise_error Yast::AbortException
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/test/select_system_role_test.rb
new/yast2-installation-4.0.50/test/select_system_role_test.rb
--- old/yast2-installation-4.0.44/test/select_system_role_test.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/test/select_system_role_test.rb
2018-04-19 16:07:10.000000000 +0200
@@ -25,6 +25,7 @@
allow(Yast::ProductFeatures).to receive(:ClearOverlay)
allow(Yast::ProductFeatures).to receive(:SetOverlay) # .with
+ allow(Yast::Packages).to receive(:SelectSystemPatterns)
end
context "when no roles are defined" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.44/test/widgets/product_selector_test.rb
new/yast2-installation-4.0.50/test/widgets/product_selector_test.rb
--- old/yast2-installation-4.0.44/test/widgets/product_selector_test.rb
2018-04-06 16:34:09.000000000 +0200
+++ new/yast2-installation-4.0.50/test/widgets/product_selector_test.rb
2018-04-19 16:07:10.000000000 +0200
@@ -57,11 +57,13 @@
before do
allow(Yast::Pkg).to receive(:PkgApplReset)
allow(Yast::Pkg).to receive(:PkgReset)
+ allow(Yast::AddOnProduct).to receive(:selected_installation_products)
+ .and_return(["add-on-product"])
+ # mock selecting the first product
+ allow(subject).to receive(:value).and_return("test1")
end
it "resets previous package configuration" do
- # mock selecting the first product
- allow(subject).to receive(:value).and_return("test1")
allow(product1).to receive(:select)
expect(Yast::Pkg).to receive(:PkgApplReset)
expect(Yast::Pkg).to receive(:PkgReset)
@@ -69,12 +71,16 @@
end
it "selects the product to install" do
- # mock selecting the first product
- allow(subject).to receive(:value).and_return("test1")
-
expect(product1).to receive(:select)
expect(product2).to_not receive(:select)
subject.store
end
+
+ it "reselect add-on products for installation" do
+ allow(product1).to receive(:select)
+ expect(Yast::Pkg).to receive(:ResolvableInstall)
+ .with("add-on-product", :product, "")
+ subject.store
+ end
end
end