aruba 0.8.0 → 0.8.1

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.
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