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
@@ -8,9 +8,9 @@ module Aruba
|
|
8
8
|
module_function
|
9
9
|
|
10
10
|
def indent_multiline_message(message)
|
11
|
-
message = message.sub(/\n+\z/,
|
11
|
+
message = message.sub(/\n+\z/, "")
|
12
12
|
message.lines.map do |line|
|
13
|
-
/\S/.match?(line) ?
|
13
|
+
/\S/.match?(line) ? " #{line}" : line
|
14
14
|
end.join
|
15
15
|
end
|
16
16
|
end
|
@@ -52,7 +52,7 @@ module Aruba
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
TIME_FORMAT =
|
55
|
+
TIME_FORMAT = "%Y-%m-%d %H:%M:%S".freeze
|
56
56
|
|
57
57
|
if Time.method_defined?(:nsec)
|
58
58
|
# @private
|
@@ -61,7 +61,7 @@ module Aruba
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
DATE_TIME_FORMAT =
|
64
|
+
DATE_TIME_FORMAT = "%a, %d %b %Y %H:%M:%S.%N %z".freeze
|
65
65
|
|
66
66
|
# ActiveSupport sometimes overrides inspect. If `ActiveSupport` is
|
67
67
|
# defined use a custom format string that includes more time precision.
|
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../collection/**/*.rb", __FILE__)
|
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../command/**/*.rb", __FILE__)
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
1
|
+
require "rspec/expectations/version"
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "aruba/matchers/command/have_exit_status"
|
4
|
+
require "aruba/matchers/command/have_finished_in_time"
|
5
5
|
|
6
6
|
# @!method be_successfuly_executed
|
7
7
|
# This matchers checks if execution of <command> was successful
|
@@ -30,7 +30,7 @@ RSpec::Matchers.define :be_successfully_executed do
|
|
30
30
|
|
31
31
|
failure_message do |_actual|
|
32
32
|
"Expected `#{@actual}` to succeed" \
|
33
|
-
|
33
|
+
" but got non-zero exit status and the following output:" \
|
34
34
|
"\n\n#{@old_actual.output}\n"
|
35
35
|
end
|
36
36
|
end
|
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../directory/**/*.rb", __FILE__)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rspec/expectations/version"
|
2
2
|
|
3
3
|
# @!method be_an_existing_directory
|
4
4
|
# This matchers checks if <directory> exists in filesystem
|
@@ -19,7 +19,7 @@ RSpec::Matchers.define :be_an_existing_directory do |_|
|
|
19
19
|
match do |actual|
|
20
20
|
stop_all_commands
|
21
21
|
|
22
|
-
raise
|
22
|
+
raise "String expected" unless actual.is_a? String
|
23
23
|
|
24
24
|
directory?(actual)
|
25
25
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rspec/expectations/version"
|
2
2
|
|
3
3
|
# @!method have_sub_directory(sub_directory)
|
4
4
|
# This matchers checks if <directory> has given sub-directory
|
@@ -42,13 +42,13 @@ RSpec::Matchers.define :have_sub_directory do |expected|
|
|
42
42
|
|
43
43
|
failure_message do |actual|
|
44
44
|
format('expected that directory "%s" has the following sub-directories: %s.',
|
45
|
-
actual.join(
|
45
|
+
actual.join(", "),
|
46
46
|
expected)
|
47
47
|
end
|
48
48
|
|
49
49
|
failure_message_when_negated do |actual|
|
50
50
|
format('expected that directory "%s" does not have the following sub-directories: %s.',
|
51
|
-
actual.join(
|
51
|
+
actual.join(", "),
|
52
52
|
expected)
|
53
53
|
end
|
54
54
|
end
|
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../matchers/environment/*.rb", __FILE__)
|
data/lib/aruba/matchers/file.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../file/**/*.rb", __FILE__)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rspec/expectations/version"
|
2
2
|
|
3
3
|
# @!method be_an_existing_file
|
4
4
|
# This matchers checks if <file> exists in filesystem
|
@@ -19,7 +19,7 @@ RSpec::Matchers.define :be_an_existing_file do |_|
|
|
19
19
|
match do |actual|
|
20
20
|
stop_all_commands
|
21
21
|
|
22
|
-
raise
|
22
|
+
raise "String expected" unless actual.is_a? String
|
23
23
|
|
24
24
|
file?(actual)
|
25
25
|
end
|
data/lib/aruba/matchers/path.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../path/**/*.rb", __FILE__)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rspec/expectations/version"
|
2
2
|
|
3
3
|
# @!method have_permissions(permissions)
|
4
4
|
# This matchers checks if <file> or <directory> has <perm> permissions
|
@@ -39,10 +39,11 @@ RSpec::Matchers.define :have_permissions do |expected|
|
|
39
39
|
@old_actual = actual
|
40
40
|
@actual = permissions(expand_path(@old_actual))
|
41
41
|
|
42
|
-
@expected =
|
42
|
+
@expected = case expected
|
43
|
+
when Integer
|
43
44
|
expected.to_s(8)
|
44
|
-
|
45
|
-
expected.gsub(/^0*/,
|
45
|
+
when String
|
46
|
+
expected.gsub(/^0*/, "")
|
46
47
|
else
|
47
48
|
expected
|
48
49
|
end
|
@@ -1 +1 @@
|
|
1
|
-
Aruba.platform.require_matching_files(
|
1
|
+
Aruba.platform.require_matching_files("../string/**/*.rb", __FILE__)
|
@@ -18,7 +18,7 @@
|
|
18
18
|
# end
|
19
19
|
RSpec::Matchers.define :include_output_string do |expected|
|
20
20
|
match do |actual|
|
21
|
-
actual.force_encoding(
|
21
|
+
actual.force_encoding("UTF-8")
|
22
22
|
@expected = Regexp.new(Regexp.escape(sanitize_text(expected.to_s)), Regexp::MULTILINE)
|
23
23
|
@actual = sanitize_text(actual)
|
24
24
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
# end
|
19
19
|
RSpec::Matchers.define :match_output_string do |expected|
|
20
20
|
match do |actual|
|
21
|
-
actual.force_encoding(
|
21
|
+
actual.force_encoding("UTF-8")
|
22
22
|
@expected = Regexp.new(unescape_text(expected), Regexp::MULTILINE)
|
23
23
|
@actual = sanitize_text(actual)
|
24
24
|
|
data/lib/aruba/platform.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "shellwords"
|
2
|
+
require "aruba/colorizer"
|
3
3
|
|
4
|
-
Aruba::Colorizer.coloring = false if
|
4
|
+
Aruba::Colorizer.coloring = false if !$stdout.tty? && !ENV.key?("AUTOTEST")
|
5
5
|
|
6
6
|
# Aruba
|
7
7
|
module Aruba
|
@@ -81,29 +81,29 @@ module Aruba
|
|
81
81
|
private
|
82
82
|
|
83
83
|
def after_init
|
84
|
-
output_format :changed_configuration, proc { |n, v| format(
|
84
|
+
output_format :changed_configuration, proc { |n, v| format("# %s = %s", n, v) }
|
85
85
|
output_format :changed_environment,
|
86
|
-
proc { |n, v| format(
|
87
|
-
output_format :command,
|
88
|
-
output_format :directory,
|
86
|
+
proc { |n, v| format("$ export %s=%s", n, Shellwords.escape(v)) }
|
87
|
+
output_format :command, "$ %s"
|
88
|
+
output_format :directory, "$ cd %s"
|
89
89
|
output_format :environment,
|
90
|
-
proc { |n, v| format(
|
90
|
+
proc { |n, v| format("$ export %s=%s", n, Shellwords.escape(v)) }
|
91
91
|
output_format :full_environment,
|
92
92
|
proc { |h|
|
93
93
|
format("<<-ENVIRONMENT\n%s\nENVIRONMENT",
|
94
94
|
Aruba.platform.simple_table(h))
|
95
95
|
}
|
96
96
|
output_format :modified_environment,
|
97
|
-
proc { |n, v| format(
|
97
|
+
proc { |n, v| format("$ export %s=%s", n, Shellwords.escape(v)) }
|
98
98
|
output_format :stderr, "<<-STDERR\n%s\nSTDERR"
|
99
99
|
output_format :stdout, "<<-STDOUT\n%s\nSTDOUT"
|
100
100
|
output_format :command_content, "<<-COMMAND\n%s\nCOMMAND"
|
101
101
|
output_format :stop_signal,
|
102
102
|
proc { |p, s|
|
103
|
-
format(
|
103
|
+
format("Command will be stopped with `kill -%s %s`", s, p)
|
104
104
|
}
|
105
|
-
output_format :timeout,
|
106
|
-
output_format :wait_time,
|
105
|
+
output_format :timeout, "# %s-timeout: %s seconds"
|
106
|
+
output_format :wait_time, "# %s: %s seconds"
|
107
107
|
output_format :command_filesystem_status,
|
108
108
|
proc { |status|
|
109
109
|
format("<<-COMMAND FILESYSTEM STATUS\n%s\nCOMMAND FILESYSTEM STATUS",
|
@@ -111,8 +111,8 @@ module Aruba
|
|
111
111
|
}
|
112
112
|
end
|
113
113
|
|
114
|
-
def output_format(channel, string =
|
115
|
-
output_formats[channel.to_sym] = if
|
114
|
+
def output_format(channel, string = "%s", &block)
|
115
|
+
output_formats[channel.to_sym] = if block
|
116
116
|
block
|
117
117
|
elsif string.is_a?(Proc)
|
118
118
|
string
|
@@ -180,7 +180,7 @@ module Aruba
|
|
180
180
|
the_output_format = if output_formats.key? channel
|
181
181
|
output_formats[channel]
|
182
182
|
else
|
183
|
-
proc { |v| format(
|
183
|
+
proc { |v| format("%s", v) }
|
184
184
|
end
|
185
185
|
|
186
186
|
return unless activated?(channel)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "logger"
|
2
2
|
|
3
3
|
# Aruba
|
4
4
|
module Aruba
|
@@ -47,20 +47,21 @@ module Aruba
|
|
47
47
|
def logger
|
48
48
|
l = ::Logger.new($stderr)
|
49
49
|
|
50
|
-
|
51
|
-
when :debug
|
52
|
-
l.level = ::Logger::DEBUG
|
50
|
+
if mode == :debug
|
53
51
|
format_debug(l)
|
54
|
-
when :silent
|
55
|
-
l.level = 9_999
|
56
|
-
when :info
|
57
|
-
l.level = ::Logger::INFO
|
58
|
-
format_standard(l)
|
59
52
|
else
|
60
|
-
l.level = ::Logger::INFO
|
61
53
|
format_standard(l)
|
62
54
|
end
|
63
55
|
|
56
|
+
l.level = case mode
|
57
|
+
when :debug
|
58
|
+
::Logger::DEBUG
|
59
|
+
when :silent
|
60
|
+
9_999
|
61
|
+
else
|
62
|
+
::Logger::INFO
|
63
|
+
end
|
64
|
+
|
64
65
|
l
|
65
66
|
end
|
66
67
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "aruba/errors"
|
2
2
|
|
3
3
|
# Aruba
|
4
4
|
module Aruba
|
@@ -12,7 +12,7 @@ module Aruba
|
|
12
12
|
|
13
13
|
public
|
14
14
|
|
15
|
-
attr_reader :registered_commands, :last_command_started
|
15
|
+
attr_reader :registered_commands, :last_command_started, :last_command_stopped
|
16
16
|
|
17
17
|
class DefaultLastCommandStopped
|
18
18
|
def nil?
|
@@ -20,7 +20,7 @@ module Aruba
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def method_missing(*)
|
23
|
-
raise NoCommandHasBeenStoppedError,
|
23
|
+
raise NoCommandHasBeenStoppedError, "No last command stopped available"
|
24
24
|
end
|
25
25
|
|
26
26
|
def respond_to_missing?(*)
|
@@ -34,7 +34,7 @@ module Aruba
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def method_missing(*)
|
37
|
-
raise NoCommandHasBeenStartedError,
|
37
|
+
raise NoCommandHasBeenStartedError, "No last command started available"
|
38
38
|
end
|
39
39
|
|
40
40
|
def respond_to_missing?(*)
|
@@ -52,8 +52,6 @@ module Aruba
|
|
52
52
|
raise ArgumentError, e.message
|
53
53
|
end
|
54
54
|
|
55
|
-
attr_reader :last_command_stopped
|
56
|
-
|
57
55
|
# Set last command started
|
58
56
|
#
|
59
57
|
# @param [String] cmd
|
@@ -98,7 +96,7 @@ module Aruba
|
|
98
96
|
def all_stdout
|
99
97
|
registered_commands.each(&:stop)
|
100
98
|
|
101
|
-
registered_commands.each_with_object(
|
99
|
+
registered_commands.each_with_object("") { |e, a| a << e.stdout }
|
102
100
|
end
|
103
101
|
|
104
102
|
# Get stderr of all commands
|
@@ -108,7 +106,7 @@ module Aruba
|
|
108
106
|
def all_stderr
|
109
107
|
registered_commands.each(&:stop)
|
110
108
|
|
111
|
-
registered_commands.each_with_object(
|
109
|
+
registered_commands.each_with_object("") { |e, a| a << e.stderr }
|
112
110
|
end
|
113
111
|
|
114
112
|
# Get stderr and stdout of all commands
|