summaryrefslogtreecommitdiff
path: root/sample/suite.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/suite.rb')
-rw-r--r--sample/suite.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/sample/suite.rb b/sample/suite.rb
index c586697..fa24114 100644
--- a/sample/suite.rb
+++ b/sample/suite.rb
@@ -28,16 +28,19 @@ class CodeRaySuite < TestCase
name = File.basename(input, ".rb")
output = name + '.expected'
code = File.open(input, 'rb') { |f| break f.read }
-
+
result = `ruby -wI../lib #{input}`
-
+
+ diff = output.sub '.expected', '.diff'
+ File.delete diff if File.exist? diff
+ computed = output.sub '.expected', '.actual'
if File.exist? output
expected = File.read output
ok = expected == result
- computed = output.sub('.expected', '.actual')
unless ok
File.open(computed, 'w') { |f| f.write result }
- print `diff #{output} #{computed}` if $DEBUG
+ `diff #{output} #{computed} > #{diff}` if $DEBUG
+ puts "Test failed; output written to #{diff}."
end
assert(ok, "Output error: #{computed} != #{output}") unless $DEBUG
else