┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/services/test
diff options
context:
space:
mode:
authorAlexander Potashev <[email protected]>2019-07-15 00:14:51 +0300
committerAlexander Potashev <[email protected]>2019-07-15 01:39:15 +0300
commit1aaafe178c77e234e08565cc24f58887a7d5e0be (patch)
treef9345ba758d7747b8169cb245b9667e31273df45 /src/settings/services/test
parent95270333dc3061138cc3e1c6a8162bd29564492d (diff)
Rewrite servicemenu helper utility in C++
Summary: - Also support MIME type "application/x-compressed-tar". - Update tests in Ruby, remove SimpleCov. BUG: 399229 Test Plan: Ruby tests passed Reviewers: sitter, elvisangelaccio, ngraham Reviewed By: elvisangelaccio Subscribers: cfeck, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D21878
Diffstat (limited to 'src/settings/services/test')
-rw-r--r--src/settings/services/test/service_menu_deinstallation_test.rb8
-rw-r--r--src/settings/services/test/service_menu_installation_test.rb8
-rw-r--r--src/settings/services/test/test_helper.rb69
3 files changed, 8 insertions, 77 deletions
diff --git a/src/settings/services/test/service_menu_deinstallation_test.rb b/src/settings/services/test/service_menu_deinstallation_test.rb
index 2b3514a65..1c9856d94 100644
--- a/src/settings/services/test/service_menu_deinstallation_test.rb
+++ b/src/settings/services/test/service_menu_deinstallation_test.rb
@@ -51,7 +51,7 @@ touch #{@tmpdir}/deinstall.sh-run
touch #{@tmpdir}/install.sh-run
INSTALL_SH
- assert(covered_system('servicemenudeinstallation', archive_base))
+ assert(system('servicemenuinstaller', 'uninstall', archive_base))
# deinstaller should be run
# installer should not be run
@@ -77,7 +77,7 @@ fi
exit 1
INSTALL_SH
- assert(covered_system('servicemenudeinstallation', archive_base))
+ assert(system('servicemenuinstaller', 'uninstall', archive_base))
assert_path_not_exist('deinstall.sh-run')
assert_path_exist('install.sh-run')
@@ -91,7 +91,7 @@ exit 1
archive_dir = "#{archive_base}-dir/foo-1.1/"
FileUtils.mkpath(archive_dir)
- refute(covered_system('servicemenudeinstallation', archive_base))
+ refute(system('servicemenuinstaller', 'uninstall', archive_base))
# I am unsure if deinstallation really should keep the files around. But
# that's how it behaved originally so it's supposedly intentional
@@ -113,7 +113,7 @@ exit 1
FileUtils.mkpath(menu_dir)
FileUtils.touch(installed_file)
- assert(covered_system('servicemenudeinstallation', downloaded_file))
+ assert(system('servicemenuinstaller', 'uninstall', downloaded_file))
assert_path_exist(downloaded_file)
assert_path_not_exist(installed_file)
diff --git a/src/settings/services/test/service_menu_installation_test.rb b/src/settings/services/test/service_menu_installation_test.rb
index 43f594969..01bf65b23 100644
--- a/src/settings/services/test/service_menu_installation_test.rb
+++ b/src/settings/services/test/service_menu_installation_test.rb
@@ -54,7 +54,7 @@ touch #{@tmpdir}/install.sh-run
INSTALL_SH
assert(system('tar', '-cf', archive, archive_dir))
- assert(covered_system('servicemenuinstallation', archive))
+ assert(system('servicemenuinstaller', 'install', archive))
tar_dir = "#{service_dir}/foo.tar-dir"
tar_extract_dir = "#{service_dir}/foo.tar-dir/foo"
@@ -81,7 +81,7 @@ exit 1
INSTALL_SH
assert(system('tar', '-cf', archive, archive_dir))
- assert(covered_system('servicemenuinstallation', archive))
+ assert(system('servicemenuinstaller', 'install', archive))
tar_dir = "#{service_dir}/foo.tar-dir"
tar_extract_dir = "#{service_dir}/foo.tar-dir/foo"
@@ -100,7 +100,7 @@ exit 1
FileUtils.mkpath(archive_dir)
assert(system('tar', '-cf', archive, archive_dir))
- refute(covered_system('servicemenuinstallation', archive))
+ refute(system('servicemenuinstaller', 'install', archive))
end
def test_run_desktop
@@ -111,7 +111,7 @@ exit 1
installed_file = "#{ENV['XDG_DATA_HOME']}/kservices5/ServiceMenus/foo.desktop"
- assert(covered_system('servicemenuinstallation', downloaded_file))
+ assert(system('servicemenuinstaller', 'install', downloaded_file))
assert_path_exist(downloaded_file)
assert_path_exist(installed_file)
diff --git a/src/settings/services/test/test_helper.rb b/src/settings/services/test/test_helper.rb
index 9da5cf3c3..35b5d19eb 100644
--- a/src/settings/services/test/test_helper.rb
+++ b/src/settings/services/test/test_helper.rb
@@ -15,41 +15,6 @@
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-GLOBAL_COVERAGE_ROOT = File.dirname(__dir__) # ../
-
-# Simplecov is a bit meh and expects src and coverage to be under the
-# same root. Since we get run through cmake that assumption absolutely
-# doesn't hold true, so we'll need to figure out the coverage_dir relative
-# to the root and the root must always be the source :/
-# The relativity only works because internally the path gets expanded, this
-# isn't fully reliable, but oh well...
-# https://github.com/colszowka/simplecov/issues/716
-GLOBAL_COVERAGE_DIR = begin
- require 'pathname'
- src_path = Pathname.new(GLOBAL_COVERAGE_ROOT)
- coverage_path = Pathname.new(File.join(Dir.pwd, 'coverage'))
- coverage_path.relative_path_from(src_path).to_s
-end
-
-begin
- require 'simplecov'
-
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
- [
- SimpleCov::Formatter::HTMLFormatter
- ]
- )
-
- SimpleCov.start do
- root GLOBAL_COVERAGE_ROOT
- coverage_dir GLOBAL_COVERAGE_DIR
- end
-rescue LoadError
- warn 'SimpleCov not loaded'
-end
-
-# FIXME: add coverage report for jenkins?
-
$LOAD_PATH.unshift(File.absolute_path('../', __dir__)) # ../
def __test_method_name__
@@ -63,38 +28,4 @@ def __test_method_name__
caller
end
-# system() variant which sets up merge-coverage. simplecov supports merging
-# of multiple coverage sets. we use this to get coverage metrics on the
-# binaries without having to refactor the script into runnable classes.
-def covered_system(cmd, *argv)
- pid = fork do
- Kernel.module_exec do
- alias_method(:real_system, :system)
- define_method(:system) do |*args|
- return true if args.include?('kdialog') # disable kdialog call
- real_system(*args)
- end
- end
-
- begin
- require 'simplecov'
- SimpleCov.start do
- root GLOBAL_COVERAGE_ROOT
- coverage_dir GLOBAL_COVERAGE_DIR
- command_name "#{cmd}_#{__test_method_name__}"
- end
- rescue LoadError
- warn 'SimpleCov not loaded'
- end
-
- ARGV.replace(argv)
- load "#{__dir__}/../#{cmd}"
- puts 'all good, fork ending!'
- exit 0
- end
- waitedpid, status = Process.waitpid2(pid)
- assert_equal(pid, waitedpid)
- status.success? # behave like system and return the success only
-end
-
require 'test/unit'