File: specs.watchr

package info (click to toggle)
ruby-nanotest 0.9.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 108 kB
  • ctags: 15
  • sloc: ruby: 123; makefile: 3
file content (37 lines) | stat: -rw-r--r-- 1,058 bytes parent folder | download | duplicates (2)
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
# 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") }