Skip to content

Commit 25b2ad2

Browse files
author
monkstone
committed
avoid running samples with infinite loops
1 parent 10b1cb8 commit 25b2ad2

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

chapter_06/Rakefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Simple demo Rakefile to autorun samples in current directory
22
# adjust path to rp5 executable, and or opts as required
3+
# here we exclude file with infinite loops
34

45
SAMPLES_DIR="./"
56

@@ -15,7 +16,7 @@ def samples_list
1516
files = []
1617
Dir.chdir(SAMPLES_DIR)
1718
Dir.glob("*.rb").each do |file|
18-
files << File.join(SAMPLES_DIR, file)
19+
files << File.join(SAMPLES_DIR, file) unless file =~ /infinite/
1920
end
2021
return files
2122
end

chapter_06/Rakefile~

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Simple demo Rakefile to autorun samples in current directory
2+
# adjust path to rp5 executable, and or opts as required
3+
4+
SAMPLES_DIR="./"
5+
6+
desc 'run demo'
7+
task :default => [:demo]
8+
9+
desc 'demo'
10+
task :demo do
11+
samples_list.shuffle.each{|sample| run_sample sample}
12+
end
13+
14+
def samples_list
15+
files = []
16+
Dir.chdir(SAMPLES_DIR)
17+
Dir.glob("*.rb").each do |file|
18+
files << File.join(SAMPLES_DIR, file)
19+
end
20+
return files
21+
end
22+
23+
def run_sample(sample_name)
24+
puts "Running #{sample_name}...quit to run next sample"
25+
open("|rp5 run #{sample_name}", "r") do |io|
26+
while l = io.gets
27+
puts(l.chop)
28+
end
29+
end
30+
end

0 commit comments

Comments
 (0)