-
Notifications
You must be signed in to change notification settings - Fork 4
/
specs.watchr
37 lines (31 loc) · 1.03 KB
/
specs.watchr
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
# Run me with:
#
# $ watchr specs.watchr
# --------------------------------------------------
# Helpers
# --------------------------------------------------
def run(cmd)
puts(cmd)
system(cmd)
end
def run_all_tests
# see Rakefile for the definition of the test:all task
system( "rake -s test:all VERBOSE=true" )
end
# --------------------------------------------------
# Watchr Rules
# --------------------------------------------------
watch( '^examples\.rb' ) { |m| system( "ruby -rubygems -Ilib %s" % m[0] ) }
watch( '^test.*/test_.*\.rb' ) { |m| run( "ruby -rubygems -Ilib %s" % m[0] ) }
watch( '^lib/(.*)\.rb' ) { |m| run( "ruby -rubygems -Ilib test/test_%s.rb" % m[1] ) }
watch( '^test/test_helper\.rb' ) { run_all_tests }
# --------------------------------------------------
# Signal Handling
# --------------------------------------------------
# Ctrl-\
Signal.trap('QUIT') do
puts " --- Running all tests ---\n\n"
run_all_tests
end
# Ctrl-C
Signal.trap('INT') { abort("\n") }