aruba 1.0.2 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -2
- data/CONTRIBUTING.md +18 -22
- data/README.md +7 -8
- data/exe/aruba +2 -2
- data/lib/aruba.rb +1 -1
- data/lib/aruba/api.rb +11 -12
- data/lib/aruba/api/bundler.rb +19 -3
- data/lib/aruba/api/commands.rb +11 -11
- data/lib/aruba/api/core.rb +21 -21
- data/lib/aruba/api/environment.rb +2 -2
- data/lib/aruba/api/filesystem.rb +41 -15
- data/lib/aruba/api/text.rb +4 -4
- data/lib/aruba/aruba_path.rb +3 -4
- data/lib/aruba/basic_configuration.rb +51 -69
- data/lib/aruba/cli.rb +7 -7
- data/lib/aruba/command.rb +4 -4
- data/lib/aruba/config/jruby.rb +9 -9
- data/lib/aruba/config_wrapper.rb +2 -2
- data/lib/aruba/configuration.rb +36 -46
- data/lib/aruba/console.rb +11 -11
- data/lib/aruba/console/help.rb +7 -7
- data/lib/aruba/contracts/absolute_path.rb +1 -1
- data/lib/aruba/contracts/enum.rb +1 -1
- data/lib/aruba/contracts/is_power_of_two.rb +1 -1
- data/lib/aruba/contracts/relative_path.rb +1 -1
- data/lib/aruba/cucumber.rb +7 -7
- data/lib/aruba/cucumber/command.rb +41 -49
- data/lib/aruba/cucumber/environment.rb +7 -7
- data/lib/aruba/cucumber/file.rb +7 -3
- data/lib/aruba/cucumber/hooks.rb +29 -29
- data/lib/aruba/cucumber/testing_frameworks.rb +18 -18
- data/lib/aruba/event_bus.rb +4 -4
- data/lib/aruba/event_bus/name_resolver.rb +4 -4
- data/lib/aruba/file_size.rb +1 -1
- data/lib/aruba/generators/script_file.rb +2 -2
- data/lib/aruba/in_config_wrapper.rb +1 -1
- data/lib/aruba/initializer.rb +10 -10
- data/lib/aruba/matchers/base/base_matcher.rb +1 -1
- data/lib/aruba/matchers/base/message_indenter.rb +2 -2
- data/lib/aruba/matchers/base/object_formatter.rb +2 -2
- data/lib/aruba/matchers/collection.rb +1 -1
- data/lib/aruba/matchers/collection/all.rb +1 -1
- data/lib/aruba/matchers/collection/include_an_object.rb +2 -2
- data/lib/aruba/matchers/command.rb +1 -1
- data/lib/aruba/matchers/command/be_successfully_executed.rb +4 -4
- data/lib/aruba/matchers/command/have_finished_in_time.rb +1 -1
- data/lib/aruba/matchers/command/have_output.rb +1 -1
- data/lib/aruba/matchers/directory.rb +1 -1
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +2 -2
- data/lib/aruba/matchers/directory/have_sub_directory.rb +3 -3
- data/lib/aruba/matchers/environment.rb +1 -1
- data/lib/aruba/matchers/file.rb +1 -1
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +1 -1
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +2 -2
- data/lib/aruba/matchers/file/be_an_existing_file.rb +2 -2
- data/lib/aruba/matchers/file/have_file_content.rb +1 -1
- data/lib/aruba/matchers/file/have_file_size.rb +1 -1
- data/lib/aruba/matchers/file/have_same_file_content.rb +2 -2
- data/lib/aruba/matchers/path.rb +1 -1
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +1 -1
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +1 -1
- data/lib/aruba/matchers/path/be_an_existing_path.rb +1 -1
- data/lib/aruba/matchers/path/have_permissions.rb +5 -4
- data/lib/aruba/matchers/string.rb +1 -1
- data/lib/aruba/matchers/string/include_output_string.rb +1 -1
- data/lib/aruba/matchers/string/match_output_string.rb +1 -1
- data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
- data/lib/aruba/platform.rb +2 -2
- data/lib/aruba/platforms/announcer.rb +15 -15
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +1 -1
- data/lib/aruba/platforms/aruba_logger.rb +11 -10
- data/lib/aruba/platforms/command_monitor.rb +6 -8
- data/lib/aruba/platforms/determine_disk_usage.rb +2 -4
- data/lib/aruba/platforms/filesystem_status.rb +20 -14
- data/lib/aruba/platforms/simple_table.rb +1 -1
- data/lib/aruba/platforms/unix_command_string.rb +2 -2
- data/lib/aruba/platforms/unix_environment_variables.rb +1 -1
- data/lib/aruba/platforms/unix_platform.rb +23 -23
- data/lib/aruba/platforms/unix_which.rb +1 -1
- data/lib/aruba/platforms/windows_command_string.rb +2 -2
- data/lib/aruba/platforms/windows_environment_variables.rb +1 -1
- data/lib/aruba/platforms/windows_platform.rb +7 -7
- data/lib/aruba/platforms/windows_which.rb +5 -5
- data/lib/aruba/processes/basic_process.rb +4 -4
- data/lib/aruba/processes/debug_process.rb +5 -5
- data/lib/aruba/processes/in_process.rb +8 -8
- data/lib/aruba/processes/spawn_process.rb +18 -23
- data/lib/aruba/rspec.rb +6 -6
- data/lib/aruba/runtime.rb +6 -6
- data/lib/aruba/setup.rb +3 -3
- data/lib/aruba/version.rb +1 -1
- metadata +103 -88
- data/.cucumberproignore +0 -3
- data/.document +0 -5
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -41
- data/.gitignore +0 -38
- data/.rspec +0 -3
- data/.rubocop.yml +0 -52
- data/.rubocop_todo.yml +0 -216
- data/.simplecov +0 -36
- data/.travis.yml +0 -62
- data/.yardopts +0 -11
- data/Dockerfile +0 -67
- data/Gemfile +0 -14
- data/Rakefile +0 -82
- data/TODO.md +0 -13
- data/appveyor.yml +0 -28
- data/aruba.gemspec +0 -57
- data/bin/console +0 -7
- data/bin/test +0 -9
- data/config/.gitignore +0 -1
- data/cucumber.yml +0 -6
- data/docker-compose.yml +0 -26
- data/fixtures/cli-app/.gitignore +0 -9
- data/fixtures/cli-app/.rspec +0 -2
- data/fixtures/cli-app/README.md +0 -39
- data/fixtures/cli-app/Rakefile +0 -1
- data/fixtures/cli-app/bin/aruba-test-cli +0 -6
- data/fixtures/cli-app/cli-app.gemspec +0 -26
- data/fixtures/cli-app/features/support/aruba.rb +0 -1
- data/fixtures/cli-app/features/support/env.rb +0 -1
- data/fixtures/cli-app/lib/cli/app.rb +0 -9
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +0 -15
- data/fixtures/cli-app/lib/cli/app/version.rb +0 -5
- data/fixtures/cli-app/script/console +0 -14
- data/fixtures/cli-app/spec/spec_helper.rb +0 -8
- data/fixtures/cli-app/spec/support/aruba.rb +0 -1
- data/fixtures/copy/file.txt +0 -1
- data/fixtures/empty-app/.gitignore +0 -9
- data/fixtures/empty-app/.rspec +0 -2
- data/fixtures/empty-app/README.md +0 -24
- data/fixtures/empty-app/Rakefile +0 -1
- data/fixtures/empty-app/cli-app.gemspec +0 -26
- data/fixtures/empty-app/lib/cli/app.rb +0 -7
- data/fixtures/empty-app/lib/cli/app/version.rb +0 -5
- data/fixtures/getting-started-app/.gitignore +0 -4
- data/fixtures/getting-started-app/Gemfile +0 -4
- data/fixtures/getting-started-app/README.md +0 -3
- data/fixtures/getting-started-app/features/support/env.rb +0 -1
- data/lib/aruba/extensions/string/strip.rb +0 -25
- data/lib/aruba/tasks/docker_helpers.rb +0 -156
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "aruba/file_size"
|
2
2
|
|
3
3
|
module Aruba
|
4
4
|
module Platforms
|
@@ -7,9 +7,7 @@ module Aruba
|
|
7
7
|
# @private
|
8
8
|
class DetermineDiskUsage
|
9
9
|
def call(paths)
|
10
|
-
size = paths.flatten.
|
11
|
-
minimum_disk_space_used path
|
12
|
-
end.inject(0, &:+)
|
10
|
+
size = paths.flatten.sum { |path| minimum_disk_space_used path }
|
13
11
|
|
14
12
|
FileSize.new(size)
|
15
13
|
end
|
@@ -1,28 +1,34 @@
|
|
1
|
-
require 'forwardable'
|
2
|
-
|
3
1
|
module Aruba
|
4
2
|
module Platforms
|
5
3
|
# File System Status object
|
6
4
|
#
|
7
5
|
# This is a wrapper for File::Stat returning only a subset of information.
|
8
6
|
class FilesystemStatus
|
9
|
-
METHODS = [
|
10
|
-
:executable?,
|
11
|
-
:ctime,
|
12
|
-
:atime,
|
13
|
-
:mtime,
|
14
|
-
:size
|
15
|
-
].freeze
|
16
|
-
|
17
|
-
extend Forwardable
|
18
|
-
|
19
7
|
private
|
20
8
|
|
21
9
|
attr_reader :status
|
22
10
|
|
23
11
|
public
|
24
12
|
|
25
|
-
|
13
|
+
def executable?
|
14
|
+
status.executable?
|
15
|
+
end
|
16
|
+
|
17
|
+
def ctime
|
18
|
+
status.ctime
|
19
|
+
end
|
20
|
+
|
21
|
+
def atime
|
22
|
+
status.atime
|
23
|
+
end
|
24
|
+
|
25
|
+
def mtime
|
26
|
+
status.mtime
|
27
|
+
end
|
28
|
+
|
29
|
+
def size
|
30
|
+
status.size
|
31
|
+
end
|
26
32
|
|
27
33
|
def initialize(path)
|
28
34
|
@status = File::Stat.new(path)
|
@@ -30,7 +36,7 @@ module Aruba
|
|
30
36
|
|
31
37
|
# Return permissions
|
32
38
|
def mode
|
33
|
-
format(
|
39
|
+
format("%o", status.mode)[-4, 4].gsub(/^0*/, "")
|
34
40
|
end
|
35
41
|
|
36
42
|
# Return owner
|
@@ -1,20 +1,20 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
|
4
|
-
require
|
5
|
-
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require
|
13
|
-
require
|
14
|
-
require
|
15
|
-
require
|
16
|
-
require
|
17
|
-
require
|
1
|
+
require "rbconfig"
|
2
|
+
require "pathname"
|
3
|
+
|
4
|
+
require "aruba/aruba_path"
|
5
|
+
|
6
|
+
require "aruba/platforms/simple_table"
|
7
|
+
require "aruba/platforms/unix_command_string"
|
8
|
+
require "aruba/platforms/unix_which"
|
9
|
+
require "aruba/platforms/determine_file_size"
|
10
|
+
require "aruba/platforms/determine_disk_usage"
|
11
|
+
require "aruba/platforms/aruba_file_creator"
|
12
|
+
require "aruba/platforms/aruba_fixed_size_file_creator"
|
13
|
+
require "aruba/platforms/local_environment"
|
14
|
+
require "aruba/platforms/aruba_logger"
|
15
|
+
require "aruba/platforms/announcer"
|
16
|
+
require "aruba/platforms/command_monitor"
|
17
|
+
require "aruba/platforms/filesystem_status"
|
18
18
|
|
19
19
|
# Aruba
|
20
20
|
module Aruba
|
@@ -31,7 +31,7 @@ module Aruba
|
|
31
31
|
# @private
|
32
32
|
class UnixPlatform
|
33
33
|
def self.match?
|
34
|
-
!
|
34
|
+
!Cucumber::WINDOWS
|
35
35
|
end
|
36
36
|
|
37
37
|
def environment_variables
|
@@ -79,7 +79,7 @@ module Aruba
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def default_shell
|
82
|
-
|
82
|
+
"bash"
|
83
83
|
end
|
84
84
|
|
85
85
|
def detect_ruby(cmd)
|
@@ -91,11 +91,11 @@ module Aruba
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def deprecated(msg)
|
94
|
-
warn(format(
|
94
|
+
warn(format("%s. Called by %s", msg, caller[1]))
|
95
95
|
end
|
96
96
|
|
97
97
|
def current_ruby
|
98
|
-
::File.join(RbConfig::CONFIG[
|
98
|
+
::File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"])
|
99
99
|
end
|
100
100
|
|
101
101
|
def require_matching_files(pattern, base)
|
@@ -125,7 +125,7 @@ module Aruba
|
|
125
125
|
def chdir(dir_name, &block)
|
126
126
|
dir_name = ::File.expand_path(dir_name.to_s)
|
127
127
|
|
128
|
-
with_environment
|
128
|
+
with_environment "OLDPWD" => getwd, "PWD" => dir_name do
|
129
129
|
::Dir.chdir(dir_name, &block)
|
130
130
|
end
|
131
131
|
end
|
@@ -233,7 +233,7 @@ module Aruba
|
|
233
233
|
# @param [String] path
|
234
234
|
# The PATH, a string concatenated with ":", e.g. /usr/bin/:/bin on a
|
235
235
|
# UNIX-system
|
236
|
-
def which(program, path = ENV[
|
236
|
+
def which(program, path = ENV["PATH"])
|
237
237
|
UnixWhich.new.call(program, path)
|
238
238
|
end
|
239
239
|
|
@@ -15,7 +15,7 @@ module Aruba
|
|
15
15
|
|
16
16
|
# Convert to array
|
17
17
|
def to_a
|
18
|
-
[cmd_path,
|
18
|
+
[cmd_path, "/c", [escaped_command, *escaped_arguments].join(" ")]
|
19
19
|
end
|
20
20
|
|
21
21
|
private
|
@@ -30,7 +30,7 @@ module Aruba
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def cmd_path
|
33
|
-
Aruba.platform.which(
|
33
|
+
Aruba.platform.which("cmd.exe")
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require
|
1
|
+
require "cucumber/platform"
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
3
|
+
require "aruba/platforms/unix_platform"
|
4
|
+
require "aruba/platforms/windows_command_string"
|
5
|
+
require "aruba/platforms/windows_environment_variables"
|
6
|
+
require "aruba/platforms/windows_which"
|
7
7
|
|
8
8
|
# Aruba
|
9
9
|
module Aruba
|
@@ -20,7 +20,7 @@ module Aruba
|
|
20
20
|
# @private
|
21
21
|
class WindowsPlatform < UnixPlatform
|
22
22
|
def self.match?
|
23
|
-
|
23
|
+
Cucumber::WINDOWS
|
24
24
|
end
|
25
25
|
|
26
26
|
# @see UnixPlatform#command_string
|
@@ -34,7 +34,7 @@ module Aruba
|
|
34
34
|
end
|
35
35
|
|
36
36
|
# @see UnixPlatform#which
|
37
|
-
def which(program, path = ENV[
|
37
|
+
def which(program, path = ENV["PATH"])
|
38
38
|
WindowsWhich.new.call(program, path)
|
39
39
|
end
|
40
40
|
|
@@ -49,7 +49,7 @@ module Aruba
|
|
49
49
|
file = File.join(dir, program)
|
50
50
|
# Dir[] doesn't handle backslashes properly, so convert them. Also, if
|
51
51
|
# the program name doesn't have an extension, try them all.
|
52
|
-
file = file.tr('\\',
|
52
|
+
file = file.tr('\\', "/")
|
53
53
|
|
54
54
|
found = Dir[file].first
|
55
55
|
|
@@ -84,7 +84,7 @@ module Aruba
|
|
84
84
|
#
|
85
85
|
# @param [String] path
|
86
86
|
# ENV['PATH']
|
87
|
-
def call(program, path = ENV[
|
87
|
+
def call(program, path = ENV["PATH"])
|
88
88
|
raise ArgumentError, "ENV['PATH'] cannot be empty" if path.nil? || path.empty?
|
89
89
|
|
90
90
|
program = program.to_s
|
@@ -96,10 +96,10 @@ module Aruba
|
|
96
96
|
private
|
97
97
|
|
98
98
|
def windows_executable_extentions
|
99
|
-
if ENV[
|
100
|
-
format(
|
99
|
+
if ENV["PATHEXT"]
|
100
|
+
format(".{%s}", ENV["PATHEXT"].tr(";", ",").tr(".", "")).downcase
|
101
101
|
else
|
102
|
-
|
102
|
+
".{exe,com,bat}"
|
103
103
|
end
|
104
104
|
end
|
105
105
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "aruba/platform"
|
2
|
+
require "shellwords"
|
3
3
|
|
4
4
|
# Aruba
|
5
5
|
module Aruba
|
@@ -14,7 +14,7 @@ module Aruba
|
|
14
14
|
attr_reader :exit_status, :environment, :working_directory, :main_class,
|
15
15
|
:io_wait_timeout, :exit_timeout, :startup_wait_time, :stop_signal
|
16
16
|
|
17
|
-
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
|
17
|
+
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
|
18
18
|
environment = Aruba.platform.environment_variables.hash_from_env,
|
19
19
|
main_class = nil, stop_signal = nil, startup_wait_time = 0)
|
20
20
|
@cmd = cmd
|
@@ -135,7 +135,7 @@ module Aruba
|
|
135
135
|
def truncate(string, max_length)
|
136
136
|
return string if string.length <= max_length
|
137
137
|
|
138
|
-
string[0, max_length - 1]
|
138
|
+
"#{string[0, max_length - 1]} ..."
|
139
139
|
end
|
140
140
|
end
|
141
141
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "aruba/processes/spawn_process"
|
2
2
|
|
3
3
|
# Aruba
|
4
4
|
module Aruba
|
@@ -41,8 +41,8 @@ module Aruba
|
|
41
41
|
# @return [String]
|
42
42
|
# A predefined string to make users aware they are using the DebugProcess
|
43
43
|
def stdout(*)
|
44
|
-
|
45
|
-
|
44
|
+
"This is the debug launcher on STDOUT." \
|
45
|
+
" If this output is unexpected, please check your setup."
|
46
46
|
end
|
47
47
|
|
48
48
|
# Return stderr
|
@@ -50,8 +50,8 @@ module Aruba
|
|
50
50
|
# @return [String]
|
51
51
|
# A predefined string to make users aware they are using the DebugProcess
|
52
52
|
def stderr(*)
|
53
|
-
|
54
|
-
|
53
|
+
"This is the debug launcher on STDERR." \
|
54
|
+
" If this output is unexpected, please check your setup."
|
55
55
|
end
|
56
56
|
|
57
57
|
# Write to nothing
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require "shellwords"
|
2
|
+
require "stringio"
|
3
|
+
require "aruba/processes/basic_process"
|
4
|
+
require "aruba/platform"
|
5
5
|
|
6
6
|
# Aruba
|
7
7
|
module Aruba
|
@@ -46,7 +46,7 @@ module Aruba
|
|
46
46
|
# @private
|
47
47
|
attr_reader :main_class
|
48
48
|
|
49
|
-
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
|
49
|
+
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
|
50
50
|
environment = Aruba.platform.environment_variables.hash_from_env,
|
51
51
|
main_class = nil, stop_signal = nil, startup_wait_time = 0)
|
52
52
|
@cmd = cmd
|
@@ -61,14 +61,14 @@ module Aruba
|
|
61
61
|
|
62
62
|
# Start command
|
63
63
|
def start
|
64
|
-
raise
|
64
|
+
raise "You need to call aruba.config.main_class = YourMainClass" unless main_class
|
65
65
|
|
66
66
|
@started = true
|
67
67
|
|
68
68
|
Dir.chdir @working_directory do
|
69
69
|
before_run
|
70
70
|
|
71
|
-
Aruba.platform.with_environment environment.merge(
|
71
|
+
Aruba.platform.with_environment environment.merge("PWD" => @working_directory) do
|
72
72
|
main_class.new(@argv, @stdin, @stdout, @stderr, @kernel).execute!
|
73
73
|
end
|
74
74
|
|
@@ -110,7 +110,7 @@ module Aruba
|
|
110
110
|
# Close io
|
111
111
|
def close_io(name)
|
112
112
|
unless [:stdin, :stdout, :stderr].include? name
|
113
|
-
raise ArgumentError,
|
113
|
+
raise ArgumentError, "Only stdin stdout and stderr are allowed to close"
|
114
114
|
end
|
115
115
|
|
116
116
|
get_instance_variable(name.to_sym).close
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "childprocess"
|
2
|
+
require "tempfile"
|
3
|
+
require "shellwords"
|
4
4
|
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
5
|
+
require "aruba/errors"
|
6
|
+
require "aruba/processes/basic_process"
|
7
|
+
require "aruba/platform"
|
8
8
|
|
9
9
|
# Aruba
|
10
10
|
module Aruba
|
@@ -48,7 +48,7 @@ module Aruba
|
|
48
48
|
#
|
49
49
|
# @param [Numeric] startup_wait_time
|
50
50
|
# The amount of seconds to wait after Aruba has started a command.
|
51
|
-
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
|
51
|
+
def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
|
52
52
|
environment = Aruba.platform.environment_variables.hash_from_env,
|
53
53
|
main_class = nil, stop_signal = nil, startup_wait_time = 0)
|
54
54
|
super
|
@@ -67,31 +67,28 @@ module Aruba
|
|
67
67
|
if started?
|
68
68
|
error_message =
|
69
69
|
"Command \"#{commandline}\" has already been started." \
|
70
|
-
|
71
|
-
|
70
|
+
" Please `#stop` the command first and `#start` it again." \
|
71
|
+
" Alternatively use `#restart`."
|
72
72
|
raise CommandAlreadyStartedError, error_message
|
73
73
|
end
|
74
74
|
|
75
75
|
@started = true
|
76
76
|
|
77
77
|
@process = ChildProcess.build(*command_string.to_a)
|
78
|
-
@stdout_file = Tempfile.new(
|
79
|
-
@stderr_file = Tempfile.new(
|
78
|
+
@stdout_file = Tempfile.new("aruba-stdout-")
|
79
|
+
@stderr_file = Tempfile.new("aruba-stderr-")
|
80
80
|
|
81
81
|
@stdout_file.sync = true
|
82
82
|
@stderr_file.sync = true
|
83
83
|
|
84
|
-
|
85
|
-
|
86
|
-
@stderr_file.set_encoding('ASCII-8BIT')
|
87
|
-
end
|
84
|
+
@stdout_file.set_encoding("ASCII-8BIT")
|
85
|
+
@stderr_file.set_encoding("ASCII-8BIT")
|
88
86
|
|
89
87
|
@exit_status = nil
|
90
88
|
@duplex = true
|
91
89
|
|
92
90
|
before_run
|
93
91
|
|
94
|
-
@process.leader = true
|
95
92
|
@process.io.stdout = @stdout_file
|
96
93
|
@process.io.stderr = @stderr_file
|
97
94
|
@process.duplex = @duplex
|
@@ -275,12 +272,10 @@ module Aruba
|
|
275
272
|
|
276
273
|
def command_path
|
277
274
|
@command_path ||=
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
Aruba.platform.which(command, environment['PATH'])
|
283
|
-
end
|
275
|
+
if Aruba.platform.builtin_shell_commands.include?(command)
|
276
|
+
command
|
277
|
+
else
|
278
|
+
Aruba.platform.which(command, environment["PATH"])
|
284
279
|
end
|
285
280
|
end
|
286
281
|
|
@@ -295,7 +290,7 @@ module Aruba
|
|
295
290
|
data = file.read
|
296
291
|
file.close
|
297
292
|
|
298
|
-
data.force_encoding(
|
293
|
+
data.force_encoding("UTF-8")
|
299
294
|
end
|
300
295
|
end
|
301
296
|
end
|