1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
require 'hoe'
require File.expand_path 'lib/hoe/debug.rb' # ugh. avoid dupe warnings
require 'tmpdir'
require 'tempfile'
require 'minitest/autorun'
class TestHoeDebug < Minitest::Test
include Hoe::Debug
# On Rake 0.8.7 verbose_flag is true, causing two tests to fail.
RakeFileUtils.verbose_flag = nil
attr_accessor :generated_files
def setup
super
@generated_files = []
end
def assert_subprocess_silent
out, err = capture_subprocess_io do
yield
end
assert_equal "", out
assert_equal "", err
end
def test_check_manifest
in_tmpdir do
manifest
assert_subprocess_silent do
check_manifest
end
end
end
def test_check_manifest_generated
in_tmpdir do
manifest 'generated.rb'
open 'generated.rb', 'w' do |io| io.puts 'generated = true' end
assert_subprocess_silent do
check_manifest
end
end
end
def test_check_manifest_missing
skip "https://github.com/MagLev/maglev/issues/224" if maglev?
in_tmpdir do
manifest
open 'missing.rb', 'w' do |io| io.puts 'missing = true' end
e = nil
out, err = capture_subprocess_io do
e = assert_raises RuntimeError do
check_manifest
end
end
assert_match %r%^Command failed with status%, e.message
assert_match %r%^\+missing.rb%, out
assert_equal "", err
end
end
def in_tmpdir
old_LOAD_PATH = $LOAD_PATH.dup
$LOAD_PATH.map! { |path| File.expand_path path }
Dir.mktmpdir do |path|
Dir.chdir path do
yield
end
end
ensure
$LOAD_PATH.replace old_LOAD_PATH
end
def manifest extra = nil
open 'Manifest.txt', 'w' do |io| # sorted
io.puts 'History.txt'
io.puts 'Manifest.txt'
io.puts 'README.txt'
io.puts extra if extra
end
open 'README.txt', 'w' do |io| io.puts '= blah' end
open 'History.txt', 'w' do |io| io.puts '=== 1.0' end
end
def with_config
yield({ 'exclude' => [] }, '~/.hoerc')
end
end
|