diff options
| author | Alexander Potashev <[email protected]> | 2019-07-15 00:14:51 +0300 |
|---|---|---|
| committer | Alexander Potashev <[email protected]> | 2019-07-15 01:39:15 +0300 |
| commit | 1aaafe178c77e234e08565cc24f58887a7d5e0be (patch) | |
| tree | f9345ba758d7747b8169cb245b9667e31273df45 /src/settings/services/test | |
| parent | 95270333dc3061138cc3e1c6a8162bd29564492d (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.rb | 8 | ||||
| -rw-r--r-- | src/settings/services/test/service_menu_installation_test.rb | 8 | ||||
| -rw-r--r-- | src/settings/services/test/test_helper.rb | 69 |
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' |
