getting_dumped 0.0.2.1 → 0.0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ pkg/*
2
2
  *.gem
3
3
  .bundle
4
4
  Gemfile.lock
5
+ db/*.sqlite3
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --format GettingDumped
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.2@getting_dumped
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source "http://rubygems.org"
2
-
3
2
  gemspec
data/README.textile CHANGED
@@ -1,5 +1,9 @@
1
1
  GettingDumped is an rspec formatter that collects metrics information on tests across multiple runs.
2
2
 
3
+ Get dumped, this time for a good reason!
4
+
5
+ !https://travis-ci.org/kunday/getting_dumped.png(Travis Build Status)!:http://travis-ci.org/kunday/getting-dumped
6
+
3
7
  This project is still under active development.
4
8
 
5
9
  h2. Installation
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rake'
2
2
 
3
3
  task :default => :spec
4
+ task :test => :spec
4
5
 
5
6
  require 'rspec/core/rake_task'
6
7
  RSpec::Core::RakeTask.new
data/db/readme.txt ADDED
@@ -0,0 +1 @@
1
+ folder where the sqlite files wil go
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "getting_dumped"
5
- s.version = '0.0.2.1'
5
+ s.version = '0.0.2.2'
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.authors = ["Arvind Kunday"]
8
8
  s.email = ["hi@kunday.com"]
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  # s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.add_dependency('rspec', ["~> 2.0"])
20
+ s.add_dependency('rspec')
21
21
  s.add_dependency('rake')
22
22
  s.add_dependency('data_mapper')
23
23
  s.add_dependency('dm-sqlite-adapter')
data/lib/datamapper.rb ADDED
@@ -0,0 +1,35 @@
1
+ require 'data_mapper'
2
+ require 'dm-migrations'
3
+
4
+ DataMapper.setup(:default, "sqlite3:db/examples.sqlite3")
5
+
6
+ class Example
7
+ include DataMapper::Resource
8
+
9
+ property :id, Serial
10
+ property :name, Text
11
+ property :started_at, DateTime
12
+ property :finished_at, DateTime
13
+ property :run_time, Float
14
+ property :status, String
15
+ property :backtrace, Text
16
+ property :failure, String
17
+ property :exception, Text
18
+
19
+ belongs_to :run
20
+ end
21
+
22
+ class Run
23
+ include DataMapper::Resource
24
+
25
+ property :id, Serial
26
+ property :started_at, DateTime
27
+ property :ended_at, DateTime
28
+ property :run_time, String
29
+ property :success, String
30
+
31
+ has n, :examples
32
+ end
33
+
34
+ DataMapper.finalize
35
+ DataMapper.auto_upgrade!
@@ -1,41 +1,56 @@
1
1
  require 'rspec'
2
2
  require 'rspec/core/formatters/base_formatter'
3
- require 'models'
3
+ require 'datamapper'
4
4
 
5
5
  class GettingDumped < RSpec::Core::Formatters::BaseFormatter
6
6
  def initialize(options)
7
7
  super
8
- @time = nil
9
- @start_time = Time.now
10
- @example_times = []
8
+ @success = true
9
+ @run = Run.create!(:started_at => Time.now)
11
10
  end
12
11
 
13
12
  def start(count)
14
- p "Running #{count} examples"
13
+ super
15
14
  end
16
15
 
17
16
  def example_started(example)
18
- @time = Time.now
19
17
  super
20
18
  end
19
+
20
+ def example_pending(example)
21
+ super
22
+ save_example(example)
23
+ end
24
+
21
25
  def example_passed(example)
22
26
  super
23
- @example_times << [example.full_description, Time.now - @time]
27
+ save_example(example)
24
28
  end
25
29
 
26
- def start_dump
30
+ def example_failed(example)
27
31
  super
28
- p "Total Time: #{Time.now - @time}"
32
+ save_example(example)
33
+ @success = false
34
+ end
29
35
 
30
- p "Dumping Results. This could take a moment."
36
+ def start_dump
37
+ super
38
+ time = DateTime.now
39
+ @run.update(:ended_at => time, :success => @success, :run_time => time - @run.started_at)
40
+ end
31
41
 
32
- run = Run.new(:run_at => Time.now, :duration => Time.now - @start_time)
33
- run.save
42
+ private
34
43
 
35
- @example_times.each do |example|
36
- Example.new(:name => example[0], :run_time => example[1], :run_id => run.id).save
44
+ def save_example(example)
45
+ metadata = example.metadata[:execution_result]
46
+ ex = Example.new(:name => example.full_description, :started_at => metadata[:finished_at], :finished_at => metadata[:finished_at],
47
+ :run_time => metadata[:run_time], :status => metadata[:status], :run_id => @run.id)
48
+ if metadata[:status] == "failed"
49
+ exception = metadata[:exception_encountered] || metadata[:exception] # rspec 2.0 || rspec 2.2
50
+ ex.backtrace = exception.backtrace
51
+ ex.exception = read_failed_line(exception, example)
37
52
  end
38
-
39
- p "Dumping complete"
53
+ ex.save
40
54
  end
55
+
41
56
  end
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+
3
+ describe GettingDumped do
4
+ it "should have some tests" do
5
+ getting_dumped = GettingDumped.new({})
6
+ getting_dumped.start_dump
7
+ end
8
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib' , 'models'))
3
4
  require 'getting_dumped'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getting_dumped
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.1
4
+ version: 0.0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-31 00:00:00.000000000Z
12
+ date: 2011-09-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70100737887340 !ruby/object:Gem::Requirement
16
+ requirement: &70303339062060 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '2.0'
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70100737887340
24
+ version_requirements: *70303339062060
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70100737886940 !ruby/object:Gem::Requirement
27
+ requirement: &70303339061620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70100737886940
35
+ version_requirements: *70303339061620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: data_mapper
38
- requirement: &70100737886480 !ruby/object:Gem::Requirement
38
+ requirement: &70303339061200 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70100737886480
46
+ version_requirements: *70303339061200
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dm-sqlite-adapter
49
- requirement: &70100737886060 !ruby/object:Gem::Requirement
49
+ requirement: &70303339060780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70100737886060
57
+ version_requirements: *70303339060780
58
58
  description: the historical RSpec run formatter
59
59
  email:
60
60
  - hi@kunday.com
@@ -64,13 +64,16 @@ extra_rdoc_files: []
64
64
  files:
65
65
  - .gitignore
66
66
  - .rspec
67
+ - .rvmrc
67
68
  - Gemfile
68
69
  - LICENSE
69
70
  - README.textile
70
71
  - Rakefile
72
+ - db/readme.txt
71
73
  - getting_dumped.gemspec
74
+ - lib/datamapper.rb
72
75
  - lib/getting_dumped.rb
73
- - lib/models.rb
76
+ - spec/getting_dumped_spec.rb
74
77
  - spec/spec_helper.rb
75
78
  homepage: https://github.com/kunday/getting_dumped
76
79
  licenses: []
data/lib/models.rb DELETED
@@ -1,30 +0,0 @@
1
- require 'data_mapper'
2
- require 'dm-migrations'
3
-
4
- DataMapper.setup(:default, {
5
- :database => 'db/examples.sqlite3',
6
- :adapter => 'sqlite3'
7
- })
8
-
9
- class Run
10
- include DataMapper::Resource
11
-
12
- property :id, Serial
13
- property :run_at, DateTime
14
- property :duration, String
15
-
16
- has n, :examples
17
- end
18
-
19
- class Example
20
- include DataMapper::Resource
21
-
22
- property :id, Serial
23
- property :name, Text
24
- property :run_time, String
25
-
26
- belongs_to :run
27
- end
28
-
29
- DataMapper.finalize
30
- DataMapper.auto_upgrade!