This repository has been archived by the owner on Nov 27, 2024. It is now read-only.
forked from seattlerb/zentest
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Rakefile
67 lines (57 loc) · 1.7 KB
/
Rakefile
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
$LOAD_PATH << 'lib'
#rake test
require 'rake/testtask'
Rake::TestTask.new(:test) {|test| test.libs << "test"}
task :default => :test
desc "show help"
task :help do
puts `./bin/autotest --help`
end
desc "run autotest on itself"
task :autotest do
ruby "-Ilib -w ./bin/autotest"
end
#TODO exclude /usr/ folder
#TODO improve coverage ? only 20% atm...
desc "show rcov report"
task :rcov_info do
ruby "-Ilib -S rcov --text-report --save coverage.info test/test_*.rb"
end
desc "update example_dot_autotest.rb with all possible constants"
task :update do
system "p4 edit example_dot_autotest.rb"
File.open "example_dot_autotest.rb", "w" do |f|
f.puts "# -*- ruby -*-"
f.puts
Dir.chdir "lib" do
Dir["autotest/*.rb"].sort.each do |s|
next if s =~ /rails|discover/
f.puts "# require '#{s[0..-4]}'"
end
end
f.puts
Dir["lib/autotest/*.rb"].sort.each do |file|
file = File.read(file)
m = file[/module.*/].split(/ /).last rescue nil
next unless m
file.grep(/def[^(]+=/).each do |setter|
setter = setter.sub(/^ *def self\./, '').sub(/\s*=\s*/, ' = ')
f.puts "# #{m}.#{setter}"
end
end
end
system "p4 diff -du example_dot_autotest.rb"
end
begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "autotest-standalone"
gem.summary = "Autotest, without ZenTest"
gem.homepage = "http://github.com/grosser/autotest"
gem.authors = ["Ryan Davis", "Michael Grosser"]
gem.files << 'lib/autotest/notify.rb'
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler, or one of its dependencies, is not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
end