Don't output to stdout from lib non-interactive methods

It pollutes the test output too much.
This commit is contained in:
Ciro Santilli 2014-11-04 00:50:07 +01:00
parent 1b1403804e
commit 0b1084a453
3 changed files with 40 additions and 14 deletions

View File

@ -16,7 +16,8 @@ module Gitlab
# add_repository("gitlab/gitlab-ci") # add_repository("gitlab/gitlab-ci")
# #
def add_repository(name) def add_repository(name)
system gitlab_shell_projects_path, 'add-project', "#{name}.git" Gitlab::Utils.system_silent([gitlab_shell_projects_path,
'add-project', "#{name}.git"])
end end
# Import repository # Import repository
@ -27,7 +28,8 @@ module Gitlab
# import_repository("gitlab/gitlab-ci", "https://github.com/randx/six.git") # import_repository("gitlab/gitlab-ci", "https://github.com/randx/six.git")
# #
def import_repository(name, url) def import_repository(name, url)
system gitlab_shell_projects_path, 'import-project', "#{name}.git", url, '240' Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'import-project',
"#{name}.git", url, '240'])
end end
# Move repository # Move repository
@ -39,7 +41,8 @@ module Gitlab
# mv_repository("gitlab/gitlab-ci", "randx/gitlab-ci-new.git") # mv_repository("gitlab/gitlab-ci", "randx/gitlab-ci-new.git")
# #
def mv_repository(path, new_path) def mv_repository(path, new_path)
system gitlab_shell_projects_path, 'mv-project', "#{path}.git", "#{new_path}.git" Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'mv-project',
"#{path}.git", "#{new_path}.git"])
end end
# Update HEAD for repository # Update HEAD for repository
@ -51,7 +54,8 @@ module Gitlab
# update_repository_head("gitlab/gitlab-ci", "3-1-stable") # update_repository_head("gitlab/gitlab-ci", "3-1-stable")
# #
def update_repository_head(path, branch) def update_repository_head(path, branch)
system gitlab_shell_projects_path, 'update-head', "#{path}.git", branch Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'update-head',
"#{path}.git", branch])
end end
# Fork repository to new namespace # Fork repository to new namespace
@ -63,7 +67,8 @@ module Gitlab
# fork_repository("gitlab/gitlab-ci", "randx") # fork_repository("gitlab/gitlab-ci", "randx")
# #
def fork_repository(path, fork_namespace) def fork_repository(path, fork_namespace)
system gitlab_shell_projects_path, 'fork-project', "#{path}.git", fork_namespace Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'fork-project',
"#{path}.git", fork_namespace])
end end
# Remove repository from file system # Remove repository from file system
@ -74,7 +79,8 @@ module Gitlab
# remove_repository("gitlab/gitlab-ci") # remove_repository("gitlab/gitlab-ci")
# #
def remove_repository(name) def remove_repository(name)
system gitlab_shell_projects_path, 'rm-project', "#{name}.git" Gitlab::Utils.system_silent([gitlab_shell_projects_path,
'rm-project', "#{name}.git"])
end end
# Add repository branch from passed ref # Add repository branch from passed ref
@ -87,7 +93,8 @@ module Gitlab
# add_branch("gitlab/gitlab-ci", "4-0-stable", "master") # add_branch("gitlab/gitlab-ci", "4-0-stable", "master")
# #
def add_branch(path, branch_name, ref) def add_branch(path, branch_name, ref)
system gitlab_shell_projects_path, 'create-branch', "#{path}.git", branch_name, ref Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'create-branch',
"#{path}.git", branch_name, ref])
end end
# Remove repository branch # Remove repository branch
@ -99,7 +106,8 @@ module Gitlab
# rm_branch("gitlab/gitlab-ci", "4-0-stable") # rm_branch("gitlab/gitlab-ci", "4-0-stable")
# #
def rm_branch(path, branch_name) def rm_branch(path, branch_name)
system gitlab_shell_projects_path, 'rm-branch', "#{path}.git", branch_name Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'rm-branch',
"#{path}.git", branch_name])
end end
# Add repository tag from passed ref # Add repository tag from passed ref
@ -117,7 +125,7 @@ module Gitlab
cmd = %W(#{gitlab_shell_path}/bin/gitlab-projects create-tag #{path}.git cmd = %W(#{gitlab_shell_path}/bin/gitlab-projects create-tag #{path}.git
#{tag_name} #{ref}) #{tag_name} #{ref})
cmd << message unless message.nil? || message.empty? cmd << message unless message.nil? || message.empty?
system *cmd Gitlab::Utils.system_silent(cmd)
end end
# Remove repository tag # Remove repository tag
@ -129,7 +137,8 @@ module Gitlab
# rm_tag("gitlab/gitlab-ci", "v4.0") # rm_tag("gitlab/gitlab-ci", "v4.0")
# #
def rm_tag(path, tag_name) def rm_tag(path, tag_name)
system gitlab_shell_projects_path, 'rm-tag', "#{path}.git", tag_name Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'rm-tag',
"#{path}.git", tag_name])
end end
# Add new key to gitlab-shell # Add new key to gitlab-shell
@ -138,7 +147,8 @@ module Gitlab
# add_key("key-42", "sha-rsa ...") # add_key("key-42", "sha-rsa ...")
# #
def add_key(key_id, key_content) def add_key(key_id, key_content)
system gitlab_shell_keys_path, 'add-key', key_id, key_content Gitlab::Utils.system_silent([gitlab_shell_keys_path,
'add-key', key_id, key_content])
end end
# Batch-add keys to authorized_keys # Batch-add keys to authorized_keys
@ -157,7 +167,8 @@ module Gitlab
# remove_key("key-342", "sha-rsa ...") # remove_key("key-342", "sha-rsa ...")
# #
def remove_key(key_id, key_content) def remove_key(key_id, key_content)
system gitlab_shell_keys_path, 'rm-key', key_id, key_content Gitlab::Utils.system_silent([gitlab_shell_keys_path,
'rm-key', key_id, key_content])
end end
# Remove all ssh keys from gitlab shell # Remove all ssh keys from gitlab shell
@ -166,7 +177,7 @@ module Gitlab
# remove_all_keys # remove_all_keys
# #
def remove_all_keys def remove_all_keys
system gitlab_shell_keys_path, 'clear' Gitlab::Utils.system_silent([gitlab_shell_keys_path, 'clear'])
end end
# Add empty directory for storing repositories # Add empty directory for storing repositories

View File

@ -5,7 +5,8 @@ module Gitlab
# #
# Returns true for a valid reference name, false otherwise # Returns true for a valid reference name, false otherwise
def validate(ref_name) def validate(ref_name)
system *%W(git check-ref-format refs/#{ref_name}) Gitlab::Utils.system_silent(
%W(git check-ref-format refs/#{ref_name})) == 0
end end
end end
end end

14
lib/gitlab/utils.rb Normal file
View File

@ -0,0 +1,14 @@
module Gitlab
module Utils
extend self
# Run system command without outputting to stdout.
#
# @param cmd [Array<String>]
# @return [Integer] exit status
def system_silent(cmd)
IO.popen(cmd).close
$?.exitstatus
end
end
end