test_diff 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzM0ZGZjYzBmMWNhMDI0YzhlNTQ5ZDFhODkxYWI4ZDgzY2EzOTViNg==
4
+ NjM2ODkxNDEwZmVmNzYxNmE5ZTZhZTUzNzBjMjgzYWM5NTZjMjQ3Ng==
5
5
  data.tar.gz: !binary |-
6
- ODllMWE5OTg2MjIyZTk5MmNiOTZlYzZkNjMzNTRkMmMwMDYyMmUzYg==
6
+ ZjY5Mjk3MWRkZDA5NThiNDM4OWIwMjdkODAzZmZkMDg1NTIyZTBjOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjMzOTBiOWMzOWQ5MDA5ZGFmNTM5M2ZkNzFiZGJjMjA2Y2FlOTk1YmVkNzAy
10
- YzFkZjFkZDU3YmU3NDljMzVkNjNkOTA5NjViNjhhYjA1NzIzZDExMzk4YmFi
11
- ZmZkMzc2MGI0OTAyY2M4ODE5Y2ZlMjk5NTFhOTViNjcxNGI1NWE=
9
+ NzI1NTBjYzc1NTI5YjNiYjZlN2VjZGZlYmQ3YzA5M2Q0ODczM2MzY2Y4Mzc5
10
+ NWQzYzNlMTlmMWFkYTdiNWI3ZTMyOTFlYzRmZDY2ZDFkZThmYjFiZDJlMzA3
11
+ ZTRhMDkxZGZjODg2MThmODczZjk5MTFjMmU5OWYzMTliNTIyYTM=
12
12
  data.tar.gz: !binary |-
13
- ZDMyODgxZGI4OTdjMTZlZTU0NjFiYWY1YTc5NWVhYTQ2ZGJhNjk1ZWE4M2Zj
14
- NGI0ZTljNTY5MzVmMDRjOTFiNjUwNGM4MGU1MjhkMTQ4MmE4NjYzZDkzNmQy
15
- MzI3ZDA3NGQ2ZDAxZWY0YTE3YjBkZDgwZTU5NGMyYWE0OWQ2Zjc=
13
+ ODAyOTMzMDY4ZjVlM2RkMDhlZDQyYjdkNGMwZjRiOGUzZmMwNjBiN2QxOGZh
14
+ ODQ3ZTcyYzFlMDE0ZThmNTAwNWM2MzRhZTE3ZDIyMzJkNWZhNzM5MWUyNjMz
15
+ ZmNiN2Q0YTExN2I2MmVkMDA3MDU2NmUzN2I1YmU1MzBkNThjZjU=
@@ -57,7 +57,7 @@ module TestDiff
57
57
 
58
58
  def start
59
59
  until @tests_to_run.empty?
60
- pid = start_process_fork(@tests_to_run.pop)
60
+ pid = start_process_fork(@tests_to_run.pop.filename)
61
61
  pid, status = Process.waitpid2(pid)
62
62
  fail 'Test Failed' unless status.success?
63
63
  end
@@ -69,29 +69,37 @@ module TestDiff
69
69
  puts "running #{main_spec_file}"
70
70
  ActiveRecord::Base.connection.reconnect! if defined?(ActiveRecord::Base)
71
71
  Time.zone_default = (Time.zone = 'UTC') if Time.respond_to?(:zone_default) && Time.zone_default.nil?
72
- # ARGV = ['-b',main_spec_file]
73
- if run_tests(main_spec_file)
74
- save_coverage_data(main_spec_file)
75
- else
76
- Coverage.result # disable coverage
77
- exit!(false) unless @continue
78
- end
79
- # ::Spec::Runner::CommandLine.run(options)
72
+ run_test(main_spec_file)
73
+ end
74
+ end
75
+
76
+ def run_test(main_spec_file)
77
+ s = Time.now
78
+ result = run_tests(main_spec_file)
79
+ if result
80
+ save_coverage_data(main_spec_file, Time.now - s)
81
+ else
82
+ Coverage.result # disable coverage
83
+ exit!(false) unless @continue
80
84
  end
81
85
  end
82
86
 
83
87
  def run_tests(main_spec_file)
84
- options ||= begin
85
- parser = ::Spec::Runner::OptionParser.new($stderr, $stdout)
86
- parser.order!(['-b', main_spec_file])
87
- parser.options
88
+ if defined?(::RSpec::Core::Runner)
89
+ ::RSpec::Core::Runner.run([main_spec_file], $stderr, $stdout) == 0
90
+ else
91
+ options ||= begin
92
+ parser = ::Spec::Runner::OptionParser.new($stderr, $stdout)
93
+ parser.order!(['-b', main_spec_file])
94
+ parser.options
95
+ end
96
+ Spec::Runner.use options
97
+ options.run_examples
88
98
  end
89
- Spec::Runner.use options
90
- options.run_examples
91
99
  end
92
100
 
93
- def save_coverage_data(main_spec_file)
94
- data = {}
101
+ def save_coverage_data(main_spec_file, execution_time)
102
+ data = { '__execution_time__' => execution_time }
95
103
  Coverage.result.each do |file_name, stats|
96
104
  relative_file_name = file_name.gsub("#{FileUtils.pwd}/", '')
97
105
  if file_name.include?(FileUtils.pwd)
@@ -105,13 +113,13 @@ module TestDiff
105
113
 
106
114
  def remove_tests_that_do_not_exist
107
115
  @tests_to_run.delete_if do |s|
108
- !File.exist?(s)
116
+ !File.exist?("#{Config.working_directory}/#{s.filename}")
109
117
  end
110
118
  end
111
119
 
112
120
  def remove_tests_in_wrong_folder
113
121
  @tests_to_run.delete_if do |s|
114
- !s.start_with?("#{spec_folder}/")
122
+ !s.filename.start_with?("#{spec_folder}/")
115
123
  end
116
124
  end
117
125
  end
@@ -1,4 +1,4 @@
1
1
  # version number
2
2
  module TestDiff
3
- VERSION = '0.3.1'
3
+ VERSION = '0.3.2'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Speelman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-03-31 00:00:00.000000000 Z
11
+ date: 2015-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor