watch-tests.watchr (763B)
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 | ENV["WATCHR"] = "1" system 'clear' def run(cmd) `#{cmd}` end def run_all_tests system('clear') result = run "./run-tests.sh" puts result end def run_test(file) system('clear') result = run "./run-tests.sh #{file} --verbose" puts result end run_all_tests watch('.*.feature') { |file| run_test file } watch('.*.el') { run_all_tests } # Ctrl-\ Signal.trap 'QUIT' do puts " --- Running all tests ---\n\n" run_all_tests end @interrupted = false # Ctrl-C Signal.trap 'INT' do if @interrupted then @wants_to_quit = true abort("\n") else puts "Interrupt a second time to quit" @interrupted = true Kernel.sleep 1.5 # raise Interrupt, nil # let the run loop catch it run_all_tests @interrupted = false end end |