Commit d7a4a2fe authored by Jacob Vosmaer's avatar Jacob Vosmaer

When a project wiki is disabled skip it for fsck

parent 6d899f46
......@@ -15,10 +15,10 @@ module RepositoryCheck
private
def check(project)
repositories = [project.repository]
repositories << project.wiki.repository if project.wiki_enabled?
# Use 'map do', not 'all? do', to prevent short-circuiting
[project.repository, project.wiki.repository].map do |repository|
git_fsck(repository.path_to_repo)
end.all?
repositories.map { |repository| git_fsck(repository.path_to_repo) }.all?
end
def git_fsck(path)
......
require 'spec_helper'
require 'fileutils'
describe RepositoryCheck::SingleRepositoryWorker do
subject { described_class.new }
it 'fails if the wiki repository is broken' do
project = create(:project_empty_repo, wiki_enabled: true)
project.create_wiki
# Test sanity: everything should be fine before the wiki repo is broken
subject.perform(project.id)
expect(project.reload.last_repository_check_failed).to eq(false)
FileUtils.rm_rf(project.wiki.repository.path_to_repo)
subject.perform(project.id)
expect(project.reload.last_repository_check_failed).to eq(true)
end
it 'skips wikis when disabled' do
project = create(:project_empty_repo, wiki_enabled: false)
# Make sure the test would fail if it checked the wiki repo
FileUtils.rm_rf(project.wiki.repository.path_to_repo)
subject.perform(project.id)
expect(project.reload.last_repository_check_failed).to eq(false)
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment