getting_dumped 0.0.2.1 → 0.0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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!