<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
 $project = 'quicktest'
 require 'tasks/helpers'
+$rcov_index_html = 'coverage/lib-quicktest_rb.html'
 
 def test_dir; Dir.chdir('spec') {|dir| yield dir } end
 </diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -17,7 +17,6 @@ namespace :rcov do
   end
 
   require 'spec/rake/verify_rcov'
-  # rcov is wrong- I am actually at 100%
   RCov::VerifyTask.new(:verify =&gt; :rcov) do |t|
     t.threshold = 100 # Make sure you have rcov 0.7 or higher!
     t.index_html = $rcov_index_html</diff>
      <filename>tasks/gregproject.rake</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,42 @@
-def exit_msg(msg, code=1)
-  puts msg
-  exit(code)
+def exit_msg msg, code=1 
+  puts msg; exit code 
 end
-def run command
-  res = `#{command}`
-  if $?.exitstatus != 0
-    exit_msg(
-      &quot;\nfailure on command:\n  #{command.chomp}\nresult:\n  #{res}\n&quot;,
-      $?.exitstatus
-    )
+
+# exit on non-zero error code
+def run! *command
+  res = run(*command)
+  if (s = $?.exitstatus) != 0
+    exit_msg(res, s)
+  else
+    res
   end
+end
+
+# this is like backticks, but the command will be shell escaped
+def run *command
+  res = run_shell_escaped *command
+  return &lt;&lt;-EOS if $?.exitstatus != 0
+
+exit code: #{$?.exitstatus}
+command result:
+#{res}
+
+failure on command:
+#{command.join(' ')}
+EOS
+
   res
 end
-def out command
-  (puts (run command))
+
+def run_shell_escaped *command
+  command = command.flatten.map do |str|
+    str =~/^'.*'$/ ? str : str.split(/\s+/)
+  end.flatten
+  res = IO.popen('-') {|io| io ? io.read : exec(command.shift, *command)}
+end
+
+def out *command
+  (puts (run! *command))
 end
 
 def cd_tmp</diff>
      <filename>tasks/helpers.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cd884bcc830d95669b3c1950c63345a17b1f8abd</id>
    </parent>
  </parents>
  <author>
    <name>Greg Weber</name>
    <email>greg@grubtop.(none)</email>
  </author>
  <url>http://github.com/gregwebs/quicktest/commit/794e44fc9b6b2665318b19c59ad0d482f43bdf89</url>
  <id>794e44fc9b6b2665318b19c59ad0d482f43bdf89</id>
  <committed-date>2008-11-27T15:03:54-08:00</committed-date>
  <authored-date>2008-11-27T15:03:54-08:00</authored-date>
  <message>update rakefile and helpers</message>
  <tree>5da7af826ded721b8586e46dc9fb42bc77e5d630</tree>
  <committer>
    <name>Greg Weber</name>
    <email>greg@grubtop.(none)</email>
  </committer>
</commit>
