diff options
Diffstat (limited to 'features/step_definitions/execution.rb')
-rw-r--r-- | features/step_definitions/execution.rb | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/features/step_definitions/execution.rb b/features/step_definitions/execution.rb index 74c25ef..186e654 100644 --- a/features/step_definitions/execution.rb +++ b/features/step_definitions/execution.rb @@ -1,13 +1,19 @@ +Given %r{^I've already successfully executed rake task '(.*)'$} do |task_name| + emptyness = `rake #{task_name} 2>&1` + puts emptyness + raise "rake failed with #{$?.exitstatus}" unless $?.success? + puts File.mtime("lib/extension_one.so") + puts File.mtime("tmp/extension_one/extension_one.so") +end + When /^rake task '(.*)' is invoked$/ do |task_name| @output ||= {} @result ||= {} - FileUtils.chdir @safe_dir do - @output[task_name] = `rake #{task_name} 2>&1` - @result[task_name] = $?.success? - end + @output[task_name] = `rake #{task_name} 2>&1` + @result[task_name] = $?.success? end -When /^rake task '(.*)' succeeded$/ do |task_name| +Then /^rake task '(.*)' succeeded$/ do |task_name| if @result.nil? || !@result.include?(task_name) then raise "The task #{task_name} should be invoked first." else @@ -15,8 +21,11 @@ When /^rake task '(.*)' succeeded$/ do |task_name| end end -Then /^output of rake task '(.*)' (does|does not) match \/(.*)\/$/ do |task_name, condition, regexp| - (condition == 'does') ? - @output[task_name].should(match(%r[#{regexp}])) : - @output[task_name].should_not(match(%r[#{regexp}])) +Then /^output of rake task '(.*)' (contains|do not contain) \/(.*)\/$/ do |task_name, condition, regex| + puts @output[task_name] + if condition == 'contains' then + @output[task_name].should match(%r(#{regex})) + else + @output[task_name].should_not match(%r(#{regex})) + end end |