aruba 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/History.md +56 -2
  3. data/appveyor.yml +32 -0
  4. data/aruba.gemspec +5 -23
  5. data/features/api/core/expand_path.feature +72 -0
  6. data/features/configuration/fixtures_directories.feature +8 -1
  7. data/features/configuration/home_directory.feature +81 -0
  8. data/features/fixtures/empty-app/.gitignore +9 -0
  9. data/features/fixtures/empty-app/.rspec +2 -0
  10. data/features/fixtures/empty-app/README.md +34 -0
  11. data/features/fixtures/empty-app/Rakefile +1 -0
  12. data/features/fixtures/empty-app/bin/cli +6 -0
  13. data/features/fixtures/empty-app/cli-app.gemspec +26 -0
  14. data/features/fixtures/empty-app/lib/cli/app.rb +13 -0
  15. data/features/fixtures/empty-app/lib/cli/app/version.rb +5 -0
  16. data/features/fixtures/empty-app/script/console +14 -0
  17. data/features/fixtures/empty-app/spec/spec_helper.rb +9 -0
  18. data/features/integration/rspec/getting_started.feature +148 -0
  19. data/features/step_definitions/aruba_dev_steps.rb +7 -6
  20. data/features/steps/environment/home_variable.feature +21 -8
  21. data/features/support/aruba.rb +2 -1
  22. data/lib/aruba/announcer.rb +83 -19
  23. data/lib/aruba/api.rb +6 -1
  24. data/lib/aruba/api/command.rb +15 -5
  25. data/lib/aruba/api/core.rb +8 -6
  26. data/lib/aruba/api/environment.rb +4 -2
  27. data/lib/aruba/config.rb +20 -3
  28. data/lib/aruba/contracts/absolute_path.rb +13 -0
  29. data/lib/aruba/cucumber.rb +8 -0
  30. data/lib/aruba/cucumber/hooks.rb +33 -18
  31. data/lib/aruba/matchers/environment.rb +1 -0
  32. data/lib/aruba/process_monitor.rb +1 -1
  33. data/lib/aruba/rspec.rb +42 -26
  34. data/lib/aruba/version.rb +3 -0
  35. data/script/test +1 -1
  36. metadata +34 -25
@@ -27,8 +27,13 @@ module Aruba
27
27
  # @param [String] path
28
28
  # The PATH, a string concatenated with ":", e.g. /usr/bin/:/bin on a
29
29
  # UNIX-system
30
- def which(program, path = ENV['PATH'])
31
- Aruba::Platform.which(program, path)
30
+ def which(program, path = nil)
31
+ with_environment do
32
+ # ENV is set within this block
33
+ path = ENV['PATH'] if path.nil?
34
+
35
+ Aruba::Platform.which(program, path)
36
+ end
32
37
  end
33
38
 
34
39
  # Pipe data in file
@@ -255,6 +260,7 @@ module Aruba
255
260
  announcer.announce(:directory, Dir.pwd)
256
261
  announcer.announce(:command, cmd)
257
262
  announcer.announce(:timeout, 'exit', aruba.config.exit_timeout)
263
+ announcer.announce(:full_environment, aruba.environment.to_h)
258
264
 
259
265
  mode = if Aruba.process
260
266
  # rubocop:disable Metrics/LineLength
@@ -273,7 +279,6 @@ module Aruba
273
279
  else
274
280
  aruba.config.main_class
275
281
  end
276
-
277
282
  command = Command.new(
278
283
  cmd,
279
284
  :mode => mode,
@@ -338,7 +343,7 @@ module Aruba
338
343
  # Timeout for execution
339
344
  def run_simple(cmd, fail_on_error = true, timeout = nil)
340
345
  command = run(cmd, timeout)
341
- @last_exit_status = command.stop(announcer)
346
+ @last_exit_status = process_monitor.stop_process(command)
342
347
 
343
348
  @timed_out = command.timed_out?
344
349
 
@@ -362,6 +367,11 @@ module Aruba
362
367
  last_command.close_io(:stdin)
363
368
  end
364
369
 
370
+ # Only processes
371
+ def only_processes
372
+ process_monitor.only_processes
373
+ end
374
+
365
375
  # TODO: move some more methods under here!
366
376
 
367
377
  private
@@ -371,7 +381,7 @@ module Aruba
371
381
  end
372
382
 
373
383
  def stop_process(process)
374
- process_monitor.stop_process(process)
384
+ @last_exit_status = process_monitor.stop_process(process)
375
385
  end
376
386
 
377
387
  def terminate_process(process)
@@ -132,15 +132,17 @@ module Aruba
132
132
  if aruba.config.fixtures_path_prefix == prefix
133
133
  File.join aruba.fixtures_directory, rest
134
134
  elsif '~' == prefix
135
- with_environment do
136
- path = File.join(ENV['HOME'], aruba.current_directory.relative_path_from(Pathname.new(aruba.config.working_directory)))
135
+ path = with_environment do
136
+ ArubaPath.new(File.expand_path(file_name))
137
+ end
137
138
 
138
- fail 'Expanding "~/" to "/" is not allowed' if path == '/'
139
+ fail 'Expanding "~/" to "/" is not allowed' if path.to_s == '/'
140
+ fail %(Expanding "~/" to a relative path "#{path}" is not allowed) unless path.absolute?
139
141
 
140
- Aruba::Platform.chdir(path) { Aruba::Platform.expand_path(file_name, dir_string) }
141
- end
142
+ path.to_s
142
143
  else
143
- Aruba::Platform.chdir(File.join(aruba.root_directory,aruba.current_directory)) { Aruba::Platform.expand_path(file_name, dir_string) }
144
+ directory = File.join(aruba.root_directory, aruba.current_directory)
145
+ ArubaPath.new(File.join(*[directory, dir_string, file_name].compact)).expand_path.to_s
144
146
  end
145
147
  end
146
148
  # rubocop:enable Metrics/MethodLength
@@ -1,7 +1,5 @@
1
1
  require 'aruba/platform'
2
2
 
3
- Aruba::Platform.require_matching_files('../matchers/environment/*.rb', __FILE__)
4
-
5
3
  module Aruba
6
4
  module Api
7
5
  # Environment methods of aruba
@@ -18,6 +16,8 @@ module Aruba
18
16
  value = value.to_s
19
17
 
20
18
  announcer.announce(:environment, name, value)
19
+ announcer.announce(:modified_environment, name, value)
20
+
21
21
  aruba.environment[name] = value
22
22
 
23
23
  self
@@ -36,6 +36,7 @@ module Aruba
36
36
 
37
37
  aruba.environment.append name, value
38
38
  announcer.announce(:environment, name, aruba.environment[name])
39
+ announcer.announce(:modified_environment, name, aruba.environment[name])
39
40
 
40
41
  self
41
42
  end
@@ -53,6 +54,7 @@ module Aruba
53
54
 
54
55
  aruba.environment.prepend name, value
55
56
  announcer.announce(:environment, name, aruba.environment[name])
57
+ announcer.announce(:modified_environment, name, aruba.environment[name])
56
58
 
57
59
  self
58
60
  end
@@ -1,17 +1,23 @@
1
1
  require 'contracts'
2
+
3
+ require 'aruba/version'
2
4
  require 'aruba/basic_configuration'
3
5
  require 'aruba/config_wrapper'
4
6
  require 'aruba/hooks'
5
7
  require 'aruba/contracts/relative_path'
8
+ require 'aruba/contracts/absolute_path'
6
9
  require 'aruba/contracts/enum'
7
10
  require 'aruba/contracts/is_a'
8
11
 
9
12
  module Aruba
10
13
  # Aruba Configuration
11
14
  class Configuration < BasicConfiguration
12
- # As of 1.0.0 root_directory is read-only
13
- # option_reader :root_directory, :contract => { None => String }, :default => Dir.getwd
14
- option_accessor :root_directory, :contract => { String => String }, :default => Dir.getwd
15
+ if Aruba::VERSION >= '1.0.0'
16
+ option_reader :root_directory, :contract => { None => String }, :default => Dir.getwd
17
+ else
18
+ option_accessor :root_directory, :contract => { String => String }, :default => Dir.getwd
19
+ end
20
+
15
21
  option_accessor :working_directory, :contract => { Aruba::Contracts::RelativePath => Aruba::Contracts::RelativePath }, :default => 'tmp/aruba'
16
22
 
17
23
  if RUBY_VERSION < '1.9'
@@ -32,6 +38,17 @@ module Aruba
32
38
  option_accessor :command_launcher, :contract => { Aruba::Contracts::Enum[:in_process, :spawn, :debug] => Aruba::Contracts::Enum[:in_process, :spawn, :debug] }, :default => :spawn
33
39
  # rubocop:enable Metrics/LineLength
34
40
  option_accessor :main_class, :contract => { Aruba::Contracts::IsA[Class] => Or[Aruba::Contracts::IsA[Class], Eq[nil]] }, :default => nil
41
+ # rubocop:disable Metrics/LineLength
42
+
43
+ # rubocop:disable Metrics/LineLength
44
+ if Aruba::VERSION >= '1.0.0'
45
+ option_accessor :home_directory, :contract => { Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] => Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] } do |config|
46
+ File.join(config.root_directory.value, config.working_directory.value)
47
+ end
48
+ else
49
+ option_accessor :home_directory, :contract => { Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] => Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] }, :default => ENV['HOME']
50
+ end
51
+ # rubocop:enable Metrics/LineLength
35
52
  end
36
53
  end
37
54
 
@@ -0,0 +1,13 @@
1
+ require 'aruba/aruba_path'
2
+
3
+ module Aruba
4
+ module Contracts
5
+ class AbsolutePath
6
+ def self.valid?(value)
7
+ ArubaPath.new(value).absolute?
8
+ rescue
9
+ false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,9 +1,17 @@
1
+ require 'aruba/version'
2
+
1
3
  require 'aruba/api'
2
4
  World(Aruba::Api)
3
5
 
4
6
  require 'aruba/cucumber/hooks'
5
7
  require 'aruba/reporting'
6
8
 
9
+ if Aruba::VERSION >= '1.0.0'
10
+ Aruba.configure do |config|
11
+ config.working_directory = 'tmp/cucumber'
12
+ end
13
+ end
14
+
7
15
  Given /the default aruba timeout is (\d+) seconds/ do |seconds|
8
16
  aruba.config.exit_timeout = seconds.to_i
9
17
  end
@@ -2,26 +2,30 @@ require 'aruba/aruba_path'
2
2
  require 'aruba/api'
3
3
  World(Aruba::Api)
4
4
 
5
- # Activate on 1.0.0
6
- #
7
- # Around do |_, block|
8
- # begin
9
- # if RUBY_VERSION < '1.9'
10
- # old_env = ENV.to_hash
11
- # else
12
- # old_env = ENV.to_h
13
- # end
14
- #
15
- # block.call
16
- # ensure
17
- # ENV.clear
18
- # ENV.update old_env
19
- # end
20
- # end
5
+ if Aruba::VERSION >= '1.0.0'
6
+ Around do |_, block|
7
+ begin
8
+ if RUBY_VERSION < '1.9'
9
+ old_env = ENV.to_hash
10
+ else
11
+ old_env = ENV.to_h
12
+ end
13
+
14
+ block.call
15
+ ensure
16
+ ENV.clear
17
+ ENV.update old_env
18
+ end
19
+ end
20
+ end
21
21
 
22
22
  Before do
23
+ # this is ENV by default ...
23
24
  aruba.environment.update aruba.config.command_runtime_environment
25
+
26
+ # ... so every change needs to be done later
24
27
  prepend_environment_variable 'PATH', aruba.config.command_search_paths.join(':') + ':'
28
+ set_environment_variable 'HOME', aruba.config.home_directory
25
29
  end
26
30
 
27
31
  After do
@@ -67,13 +71,23 @@ Before('@announce-directory') do
67
71
  end
68
72
 
69
73
  Before('@announce-env') do
70
- Aruba::Platform.deprecated 'The use of "@announce-env"-hook is deprecated. Please use "@announce-environment"'
74
+ Aruba::Platform.deprecated 'The use of "@announce-env"-hook is deprecated. Please use "@announce-modified-environment"'
71
75
 
72
76
  announcer.activate :environment
73
77
  end
74
78
 
75
79
  Before('@announce-environment') do
76
- announcer.activate :environment
80
+ Aruba::Platform.deprecated '@announce-environment is deprecated. Use @announce-modified-environment instead'
81
+
82
+ announcer.activate :modified_environment
83
+ end
84
+
85
+ Before('@announce-full-environment') do
86
+ announcer.activate :full_environment
87
+ end
88
+
89
+ Before('@announce-modified-environment') do
90
+ announcer.activate :modified_environment
77
91
  end
78
92
 
79
93
  Before('@announce-timeout') do
@@ -85,6 +99,7 @@ Before('@announce') do
85
99
  announcer.activate :stdout
86
100
  announcer.activate :stderr
87
101
  announcer.activate :directory
102
+ announcer.activate :modified_environment
88
103
  announcer.activate :environment
89
104
  announcer.activate :timeout
90
105
  end
@@ -0,0 +1 @@
1
+ Aruba::Platform.require_matching_files('../matchers/environment/*.rb', __FILE__)
@@ -27,7 +27,7 @@ module Aruba
27
27
 
28
28
  def stop_processes!
29
29
  processes.each do |_, process|
30
- stop_process(process)
30
+ @last_exit_status = stop_process(process)
31
31
  end
32
32
  end
33
33
 
@@ -2,10 +2,18 @@ require 'rspec/core'
2
2
 
3
3
  require 'aruba'
4
4
  require 'aruba/api'
5
+ require 'aruba/version'
6
+
7
+ if Aruba::VERSION >= '1.0.0'
8
+ Aruba.configure do |config|
9
+ config.working_directory = 'tmp/rspec'
10
+ end
11
+ end
5
12
 
6
13
  RSpec.configure do |config|
7
14
  config.include Aruba::Api, :type => :aruba
8
15
 
16
+ # Setup environment for aruba
9
17
  config.before :each do
10
18
  next unless self.class.include? Aruba::Api
11
19
 
@@ -13,43 +21,41 @@ RSpec.configure do |config|
13
21
  setup_aruba
14
22
  end
15
23
 
16
- # Activate on 1.0.0
17
- # config.around :each do |example|
18
- # old_env = ENV.to_hash
19
- # example.run
20
- # ENV.update old_env
21
- # end
22
-
23
- config.around :each do |example|
24
- project_bin = Aruba::ArubaPath.new(Aruba.config.root_directory)
25
- project_bin << 'bin'
26
-
27
- old_path = ENV.fetch 'PATH', ''
28
-
29
- paths = old_path.split(File::PATH_SEPARATOR)
30
- paths.unshift project_bin
31
-
32
- ENV['PATH'] = paths.join(File::PATH_SEPARATOR)
33
-
34
- example.run
35
-
36
- ENV['PATH'] = old_path
24
+ if Aruba::VERSION >= '1.0.0'
25
+ config.around :each do |example|
26
+ begin
27
+ old_env = ENV.to_hash
28
+ example.run
29
+ ensure
30
+ ENV.clear
31
+ ENV.update old_env
32
+ end
33
+ end
37
34
  end
38
35
 
36
+ # Use rspec metadata as option for aruba
39
37
  config.before :each do |example|
40
38
  next unless self.class.include? Aruba::Api
41
39
 
42
40
  example.metadata.each { |k, v| aruba.config.set_if_option(k, v) }
43
41
  end
44
42
 
43
+ # Activate announcers based on rspec metadata
45
44
  config.before :each do |example|
46
45
  next unless self.class.include?(Aruba::Api)
47
46
 
48
- announcer.activate(:environment) if example.metadata[:announce_environment]
49
- announcer.activate(:command) if example.metadata[:announce_command]
50
- announcer.activate(:directory) if example.metadata[:announce_directory]
51
- announcer.activate(:stdout) if example.metadata[:announce_stdout]
52
- announcer.activate(:stderr) if example.metadata[:announce_stderr]
47
+ if example.metadata[:announce_environment]
48
+ Aruba::Platform.deprecated 'announce_environment is deprecated. Use announce_modified_environment instead'
49
+
50
+ announcer.activate(:modified_environment)
51
+ end
52
+
53
+ announcer.activate(:full_environment) if example.metadata[:announce_full_environment]
54
+ announcer.activate(:modified_environment) if example.metadata[:announce_modified_environment]
55
+ announcer.activate(:command) if example.metadata[:announce_command]
56
+ announcer.activate(:directory) if example.metadata[:announce_directory]
57
+ announcer.activate(:stdout) if example.metadata[:announce_stdout]
58
+ announcer.activate(:stderr) if example.metadata[:announce_stderr]
53
59
 
54
60
  if example.metadata[:announce_output]
55
61
  announcer.activate(:stderr)
@@ -60,15 +66,25 @@ RSpec.configure do |config|
60
66
  announcer.activate(:stderr)
61
67
  announcer.activate(:stdout)
62
68
  announcer.activate(:environment)
69
+ announcer.activate(:modified_environment)
70
+ announcer.activate(:full_environment)
63
71
  announcer.activate(:command)
64
72
  announcer.activate(:directory)
65
73
  end
66
74
  end
67
75
 
76
+ # Modify PATH to include project/bin
68
77
  config.before :each do
69
78
  next unless self.class.include? Aruba::Api
70
79
 
71
80
  aruba.environment.update aruba.config.command_runtime_environment
72
81
  aruba.environment.prepend 'PATH', aruba.config.command_search_paths.join(':') + ':'
73
82
  end
83
+
84
+ # Use configured home directory as HOME
85
+ config.before :each do |example|
86
+ next unless self.class.include? Aruba::Api
87
+
88
+ aruba.environment['HOME'] = aruba.config.home_directory
89
+ end
74
90
  end
@@ -0,0 +1,3 @@
1
+ module Aruba
2
+ VERSION = '0.8.1'
3
+ end
@@ -1,3 +1,3 @@
1
1
  #!/bin/sh
2
2
 
3
- bundle exec rake test
3
+ bundle exec rake test $*
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aruba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2015-07-13 00:00:00.000000000 Z
16
+ date: 2015-07-15 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: cucumber
@@ -107,6 +107,7 @@ files:
107
107
  - README.md
108
108
  - Rakefile
109
109
  - TODO.md
110
+ - appveyor.yml
110
111
  - aruba.gemspec
111
112
  - config/.gitignore
112
113
  - cucumber.yml
@@ -114,12 +115,14 @@ files:
114
115
  - features/api/cd.feature
115
116
  - features/api/command/run.feature
116
117
  - features/api/command/which.feature
118
+ - features/api/core/expand_path.feature
117
119
  - features/api/environment/append_environment_variable.feature
118
120
  - features/api/environment/prepend_environment_variable.feature
119
121
  - features/api/environment/set_environment_variable.feature
120
122
  - features/configuration/exit_timeout.feature
121
123
  - features/configuration/fixtures_directories.feature
122
124
  - features/configuration/fixtures_path_prefix.feature
125
+ - features/configuration/home_directory.feature
123
126
  - features/configuration/io_timeout.feature
124
127
  - features/configuration/keep_ansi.feature
125
128
  - features/configuration/root_directory.feature
@@ -139,11 +142,22 @@ files:
139
142
  - features/fixtures/cli-app/spec/cli/app_spec.rb
140
143
  - features/fixtures/cli-app/spec/spec_helper.rb
141
144
  - features/fixtures/copy/file.txt
145
+ - features/fixtures/empty-app/.gitignore
146
+ - features/fixtures/empty-app/.rspec
147
+ - features/fixtures/empty-app/README.md
148
+ - features/fixtures/empty-app/Rakefile
149
+ - features/fixtures/empty-app/bin/cli
150
+ - features/fixtures/empty-app/cli-app.gemspec
151
+ - features/fixtures/empty-app/lib/cli/app.rb
152
+ - features/fixtures/empty-app/lib/cli/app/version.rb
153
+ - features/fixtures/empty-app/script/console
154
+ - features/fixtures/empty-app/spec/spec_helper.rb
142
155
  - features/fixtures/fixtures-app/test.txt
143
156
  - features/fixtures/spawn_process/stderr.sh
144
157
  - features/flushing.feature
145
158
  - features/hooks/after/command.feature
146
159
  - features/hooks/before/command.feature
160
+ - features/integration/rspec/getting_started.feature
147
161
  - features/interactive.feature
148
162
  - features/matchers/directory/have_sub_directory.feature
149
163
  - features/matchers/file/be_existing_file.feature
@@ -183,6 +197,7 @@ files:
183
197
  - lib/aruba/config.rb
184
198
  - lib/aruba/config/jruby.rb
185
199
  - lib/aruba/config_wrapper.rb
200
+ - lib/aruba/contracts/absolute_path.rb
186
201
  - lib/aruba/contracts/enum.rb
187
202
  - lib/aruba/contracts/is_a.rb
188
203
  - lib/aruba/contracts/relative_path.rb
@@ -203,6 +218,7 @@ files:
203
218
  - lib/aruba/matchers/directory.rb
204
219
  - lib/aruba/matchers/directory/be_an_existing_directory.rb
205
220
  - lib/aruba/matchers/directory/have_sub_directory.rb
221
+ - lib/aruba/matchers/environment.rb
206
222
  - lib/aruba/matchers/file.rb
207
223
  - lib/aruba/matchers/file/be_an_existing_file.rb
208
224
  - lib/aruba/matchers/file/have_file_content.rb
@@ -226,6 +242,7 @@ files:
226
242
  - lib/aruba/rspec.rb
227
243
  - lib/aruba/runtime.rb
228
244
  - lib/aruba/spawn_process.rb
245
+ - lib/aruba/version.rb
229
246
  - script/bootstrap
230
247
  - script/console
231
248
  - script/test
@@ -281,28 +298,7 @@ post_install_message: |
281
298
 
282
299
  gem 'cucumber', ~> '1.3.20'
283
300
 
284
- With aruba >= 1.0
285
- * "ruby 1.8.7"-support is discontinued.
286
- * aruba requires "cucumber 2" for the feature steps. The rest of aruba should
287
- be usable by whatever testing framework you are using.
288
- * Overwriting methods for configuration is discontinued. You need to use
289
- `aruba.config.<variable>` or `Aruba.configure { |config| config.<variable>`
290
- instead.
291
- * "aruba/reporting" will be removed. Please use `@debug`-tag + `byebug`,
292
- `debugger`, `pry` to troubleshoot your feature tests.
293
- * Set environment variables will have only effect on `#run` and the like +
294
- `#with_environment { }`.
295
- * The process environment will be fully resetted between tests. Sharing state
296
- via ENV['VAR'] = 'shared state' between tests will not be possible anymore.
297
- Please make that obvious by using explicit steps or use the aruba API for
298
- that.
299
- * There will be a major cleanup for command execution. There will be only
300
- `run` and `run_simple` left. `run_interactive` is replaced by `run`.
301
- * Setting the root directory of aruba via method overwrite or configuration -
302
- this should be your project root directory where the test suite is run.
303
- * The direct use of "InProcess", "DebugProcess" and "SpawnProcess" is not
304
- supported anymore. You need to use "Command" instead. But be careful, it has
305
- a different API.
301
+ With aruba >= 1.0 there will be breaking changes. Make sure to read https://github.com/cucumber/aruba/blob/master/History.md for 1.0.0
306
302
  rdoc_options:
307
303
  - "--charset=UTF-8"
308
304
  require_paths:
@@ -322,17 +318,19 @@ rubyforge_project:
322
318
  rubygems_version: 2.4.5
323
319
  signing_key:
324
320
  specification_version: 4
325
- summary: aruba-0.8.0
321
+ summary: aruba-0.8.1
326
322
  test_files:
327
323
  - features/api/cd.feature
328
324
  - features/api/command/run.feature
329
325
  - features/api/command/which.feature
326
+ - features/api/core/expand_path.feature
330
327
  - features/api/environment/append_environment_variable.feature
331
328
  - features/api/environment/prepend_environment_variable.feature
332
329
  - features/api/environment/set_environment_variable.feature
333
330
  - features/configuration/exit_timeout.feature
334
331
  - features/configuration/fixtures_directories.feature
335
332
  - features/configuration/fixtures_path_prefix.feature
333
+ - features/configuration/home_directory.feature
336
334
  - features/configuration/io_timeout.feature
337
335
  - features/configuration/keep_ansi.feature
338
336
  - features/configuration/root_directory.feature
@@ -352,11 +350,22 @@ test_files:
352
350
  - features/fixtures/cli-app/spec/cli/app_spec.rb
353
351
  - features/fixtures/cli-app/spec/spec_helper.rb
354
352
  - features/fixtures/copy/file.txt
353
+ - features/fixtures/empty-app/.gitignore
354
+ - features/fixtures/empty-app/.rspec
355
+ - features/fixtures/empty-app/README.md
356
+ - features/fixtures/empty-app/Rakefile
357
+ - features/fixtures/empty-app/bin/cli
358
+ - features/fixtures/empty-app/cli-app.gemspec
359
+ - features/fixtures/empty-app/lib/cli/app.rb
360
+ - features/fixtures/empty-app/lib/cli/app/version.rb
361
+ - features/fixtures/empty-app/script/console
362
+ - features/fixtures/empty-app/spec/spec_helper.rb
355
363
  - features/fixtures/fixtures-app/test.txt
356
364
  - features/fixtures/spawn_process/stderr.sh
357
365
  - features/flushing.feature
358
366
  - features/hooks/after/command.feature
359
367
  - features/hooks/before/command.feature
368
+ - features/integration/rspec/getting_started.feature
360
369
  - features/interactive.feature
361
370
  - features/matchers/directory/have_sub_directory.feature
362
371
  - features/matchers/file/be_existing_file.feature