Skip to content

Commit

Permalink
AO3-4730 - Add Cucumber output formatter (#2647)
Browse files Browse the repository at this point in the history
  • Loading branch information
ariana-paris authored and sarken committed Dec 14, 2016
1 parent 5e6ea9e commit 92082ed
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 14 deletions.
28 changes: 14 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ sudo: required
env:
- TEST_GROUP="./script/check_syntax"
- TEST_GROUP="rspec spec"
- TEST_GROUP="cucumber -f progress -r features features/admins"
- TEST_GROUP="cucumber -f progress -r features features/bookmarks"
- TEST_GROUP="cucumber -f progress -r features features/collections"
- TEST_GROUP="cucumber -f progress -r features features/comments_and_kudos"
- TEST_GROUP="cucumber -f progress -r features features/gift_exchanges"
- TEST_GROUP="cucumber -f progress -r features features/importing"
- TEST_GROUP="cucumber -f progress -r features features/other_a"
- TEST_GROUP="cucumber -f progress -r features features/other_b"
- TEST_GROUP="cucumber -f progress -r features features/prompt_memes_a"
- TEST_GROUP="cucumber -f progress -r features features/prompt_memes_b"
- TEST_GROUP="cucumber -f progress -r features features/prompt_memes_c"
- TEST_GROUP="cucumber -f progress -r features features/tags_and_wrangling"
- TEST_GROUP="cucumber -f progress -r features features/users"
- TEST_GROUP="cucumber -f progress -r features features/works"
- TEST_GROUP="cucumber -r features features/admins -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/bookmarks -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/collections -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/comments_and_kudos -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/gift_exchanges -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/importing -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/other_a -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/other_b -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/prompt_memes_a -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/prompt_memes_b -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/prompt_memes_c -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/tags_and_wrangling -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/users -f Ao3Cucumber::Formatter --color"
- TEST_GROUP="cucumber -r features features/works -f Ao3Cucumber::Formatter --color"
rvm:
- "2.2.5"
services:
Expand Down
6 changes: 6 additions & 0 deletions features/support/elapsed_time.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module ElapsedTime
def print_elapsed_time(io, start_time)
elapsed_time = (((Time.now - start_time) * 100).to_i / 100.0)
io.print " (#{elapsed_time}s)"
end
end
37 changes: 37 additions & 0 deletions features/support/formatter.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Adapted from https://github.com/tpope/fivemat
require 'cucumber/formatter/progress'
module Ao3Cucumber
class Formatter < ::Cucumber::Formatter::Progress
include ElapsedTime

def label(feature)
feature.short_name
end

def before_feature(feature)
@io.print "#{label(feature)}\n"
@io.flush
@exceptions = []
@start_time = Time.now
end

def after_feature(_)
print_elapsed_time @io, @start_time
@io.puts

@exceptions.each do |(exception, status)|
print_exception(exception, status, 2)
end
end

def exception(exception, status)
@exceptions << [exception, status]
end

def after_features(_)
@io.puts
print_snippets(@options)
print_passing_wip(@options)
end
end
end

0 comments on commit 92082ed

Please sign in to comment.