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" => /do not match anything/ }, "~/.hoerc")
end
end
|