aruba-win-fix 0.14.2
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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.gitignore +37 -0
- data/.rspec +3 -0
- data/.rubocop.yml +188 -0
- data/.simplecov +34 -0
- data/.travis.yml +47 -0
- data/.yardopts +8 -0
- data/CONTRIBUTING.md +71 -0
- data/Gemfile +83 -0
- data/History.md +579 -0
- data/LICENSE +20 -0
- data/README.md +226 -0
- data/Rakefile +49 -0
- data/TODO.md +13 -0
- data/appveyor.yml +32 -0
- data/aruba.gemspec +48 -0
- data/bin/aruba +7 -0
- data/config/.gitignore +1 -0
- data/cucumber.yml +26 -0
- data/features/.nav +72 -0
- data/features/api/command/find_command.feature +83 -0
- data/features/api/command/last_command_started.feature +50 -0
- data/features/api/command/last_command_stopped.feature +89 -0
- data/features/api/command/run.feature +414 -0
- data/features/api/command/run_simple.feature +242 -0
- data/features/api/command/send_signal.feature +53 -0
- data/features/api/command/stderr.feature +46 -0
- data/features/api/command/stdout.feature +46 -0
- data/features/api/command/stop.feature +131 -0
- data/features/api/command/stop_all_commands.feature +53 -0
- data/features/api/command/terminate_all_commands.feature +53 -0
- data/features/api/command/which.feature +37 -0
- data/features/api/core/expand_path.feature +88 -0
- data/features/api/environment/append_environment_variable.feature +128 -0
- data/features/api/environment/delete_environment_variable.feature +63 -0
- data/features/api/environment/prepend_environment_variable.feature +128 -0
- data/features/api/environment/set_environment_variable.feature +376 -0
- data/features/api/filesystem/cd.feature +184 -0
- data/features/api/filesystem/create_directory.feature +57 -0
- data/features/api/filesystem/disk_usage.feature +152 -0
- data/features/api/filesystem/does_exist.feature +62 -0
- data/features/api/filesystem/fixtures.feature +104 -0
- data/features/api/filesystem/is_absolute.feature +48 -0
- data/features/api/filesystem/is_directory.feature +53 -0
- data/features/api/filesystem/is_file.feature +54 -0
- data/features/api/filesystem/is_relative.feature +48 -0
- data/features/api/filesystem/move.feature +119 -0
- data/features/api/text/extract_text.feature +87 -0
- data/features/api/text/replace_variables.feature +45 -0
- data/features/api/text/sanitize_text.feature +228 -0
- data/features/api/text/unescape_text.feature +127 -0
- data/features/cli/console.feature +52 -0
- data/features/cli/init.feature +79 -0
- data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
- data/features/configuration/command_runtime_environment.feature +129 -0
- data/features/configuration/console_history_file.feature +38 -0
- data/features/configuration/exit_timeout.feature +52 -0
- data/features/configuration/fixtures_directories.feature +38 -0
- data/features/configuration/fixtures_path_prefix.feature +23 -0
- data/features/configuration/home_directory.feature +80 -0
- data/features/configuration/io_timeout.feature +30 -0
- data/features/configuration/keep_ansi.feature +30 -0
- data/features/configuration/log_level.feature +38 -0
- data/features/configuration/physical_block_size.feature +53 -0
- data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
- data/features/configuration/root_directory.feature +30 -0
- data/features/configuration/startup_wait_time.feature +48 -0
- data/features/configuration/usage.feature +159 -0
- data/features/configuration/working_directory.feature +33 -0
- data/features/development/build.feature +15 -0
- data/features/development/test.feature +24 -0
- data/features/getting_started/cleanup.feature +67 -0
- data/features/getting_started/install.feature +8 -0
- data/features/getting_started/run_commands.feature +177 -0
- data/features/getting_started/supported_testing_frameworks.feature +104 -0
- data/features/getting_started/writing_good_feature_tests.feature +38 -0
- data/features/hooks/after/command.feature +44 -0
- data/features/hooks/before/command.feature +71 -0
- data/features/matchers/collection/include_an_object.feature +72 -0
- data/features/matchers/directory/have_sub_directory.feature +110 -0
- data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
- data/features/matchers/file/be_existing_executable.feature +88 -0
- data/features/matchers/file/be_existing_file.feature +82 -0
- data/features/matchers/file/have_file_content.feature +123 -0
- data/features/matchers/file/have_file_size.feature +107 -0
- data/features/matchers/path/be_an_absolute_path.feature +74 -0
- data/features/matchers/path/be_an_existing_path.feature +97 -0
- data/features/matchers/path/have_permissions.feature +118 -0
- data/features/matchers/timeouts.feature +48 -0
- data/features/platforms/jruby.feature +14 -0
- data/features/rspec/integration.feature +179 -0
- data/features/step_definitions/aruba_dev_steps.rb +56 -0
- data/features/step_definitions/hooks.rb +96 -0
- data/features/steps/command/debug.feature +92 -0
- data/features/steps/command/exit_statuses.feature +136 -0
- data/features/steps/command/in_process.feature +485 -0
- data/features/steps/command/interactive.feature +90 -0
- data/features/steps/command/output.feature +588 -0
- data/features/steps/command/run.feature +66 -0
- data/features/steps/command/send_signal.feature +104 -0
- data/features/steps/command/shell.feature +155 -0
- data/features/steps/command/stderr.feature +68 -0
- data/features/steps/command/stdout.feature +109 -0
- data/features/steps/command/stop.feature +313 -0
- data/features/steps/core/announce.feature +283 -0
- data/features/steps/environment/append_environment_variable.feature +52 -0
- data/features/steps/environment/home_variable.feature +62 -0
- data/features/steps/environment/prepend_environment_variable.feature +52 -0
- data/features/steps/environment/set_environment_variable.feature +49 -0
- data/features/steps/filesystem/append_to_file.feature +45 -0
- data/features/steps/filesystem/cd_to_directory.feature +33 -0
- data/features/steps/filesystem/check_file_content.feature +61 -0
- data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
- data/features/steps/filesystem/compare_files.feature +42 -0
- data/features/steps/filesystem/copy.feature +45 -0
- data/features/steps/filesystem/create_directory.feature +57 -0
- data/features/steps/filesystem/create_file.feature +76 -0
- data/features/steps/filesystem/existence_of_directory.feature +57 -0
- data/features/steps/filesystem/existence_of_file.feature +43 -0
- data/features/steps/filesystem/file_content.feature +86 -0
- data/features/steps/filesystem/fixtures.feature +64 -0
- data/features/steps/filesystem/move.feature +45 -0
- data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
- data/features/steps/filesystem/non_existence_of_file.feature +80 -0
- data/features/steps/filesystem/overwrite_file.feature +72 -0
- data/features/steps/filesystem/remove_directory.feature +38 -0
- data/features/steps/filesystem/remove_file.feature +38 -0
- data/features/steps/filesystem/use_fixture.feature +77 -0
- data/features/steps/overview.feature +60 -0
- data/features/support/aruba.rb +7 -0
- data/features/support/env.rb +33 -0
- data/features/support/jruby.rb +5 -0
- data/features/support/simplecov_setup.rb +8 -0
- data/fixtures/cli-app/.gitignore +9 -0
- data/fixtures/cli-app/.rspec +2 -0
- data/fixtures/cli-app/README.md +39 -0
- data/fixtures/cli-app/Rakefile +1 -0
- data/fixtures/cli-app/bin/cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +26 -0
- data/fixtures/cli-app/features/support/env.rb +1 -0
- data/fixtures/cli-app/lib/cli/app.rb +13 -0
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
- data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
- data/fixtures/cli-app/script/console +14 -0
- data/fixtures/cli-app/spec/spec_helper.rb +9 -0
- data/fixtures/cli-app/spec/support/aruba.rb +1 -0
- data/fixtures/copy/file.txt +1 -0
- data/fixtures/empty-app/.gitignore +9 -0
- data/fixtures/empty-app/.rspec +2 -0
- data/fixtures/empty-app/README.md +24 -0
- data/fixtures/empty-app/Rakefile +1 -0
- data/fixtures/empty-app/cli-app.gemspec +26 -0
- data/fixtures/empty-app/lib/cli/app.rb +13 -0
- data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
- data/fixtures/getting-started-app/.gitignore +4 -0
- data/fixtures/getting-started-app/Gemfile +4 -0
- data/fixtures/getting-started-app/README.md +3 -0
- data/fixtures/getting-started-app/features/support/env.rb +1 -0
- data/fixtures/spawn_process/stderr.sh +3 -0
- data/lib/aruba.rb +1 -0
- data/lib/aruba/api.rb +34 -0
- data/lib/aruba/api/command.rb +307 -0
- data/lib/aruba/api/core.rb +191 -0
- data/lib/aruba/api/deprecated.rb +897 -0
- data/lib/aruba/api/environment.rb +89 -0
- data/lib/aruba/api/filesystem.rb +392 -0
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/api/text.rb +56 -0
- data/lib/aruba/aruba_path.rb +133 -0
- data/lib/aruba/basic_configuration.rb +240 -0
- data/lib/aruba/basic_configuration/option.rb +32 -0
- data/lib/aruba/cli.rb +26 -0
- data/lib/aruba/colorizer.rb +108 -0
- data/lib/aruba/command.rb +74 -0
- data/lib/aruba/config.rb +108 -0
- data/lib/aruba/config/jruby.rb +17 -0
- data/lib/aruba/config_wrapper.rb +58 -0
- data/lib/aruba/console.rb +70 -0
- data/lib/aruba/console/help.rb +35 -0
- data/lib/aruba/contracts/absolute_path.rb +20 -0
- data/lib/aruba/contracts/enum.rb +26 -0
- data/lib/aruba/contracts/is_power_of_two.rb +22 -0
- data/lib/aruba/contracts/relative_path.rb +20 -0
- data/lib/aruba/cucumber.rb +13 -0
- data/lib/aruba/cucumber/command.rb +422 -0
- data/lib/aruba/cucumber/core.rb +5 -0
- data/lib/aruba/cucumber/environment.rb +42 -0
- data/lib/aruba/cucumber/file.rb +201 -0
- data/lib/aruba/cucumber/hooks.rb +160 -0
- data/lib/aruba/cucumber/rvm.rb +3 -0
- data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
- data/lib/aruba/errors.rb +37 -0
- data/lib/aruba/event_bus.rb +59 -0
- data/lib/aruba/event_bus/name_resolver.rb +168 -0
- data/lib/aruba/events.rb +39 -0
- data/lib/aruba/extensions/string/strip.rb +25 -0
- data/lib/aruba/file_size.rb +63 -0
- data/lib/aruba/generators/script_file.rb +46 -0
- data/lib/aruba/hooks.rb +56 -0
- data/lib/aruba/in_config_wrapper.rb +24 -0
- data/lib/aruba/in_process.rb +14 -0
- data/lib/aruba/initializer.rb +222 -0
- data/lib/aruba/jruby.rb +4 -0
- data/lib/aruba/matchers/base/base_matcher.rb +96 -0
- data/lib/aruba/matchers/base/object_formatter.rb +114 -0
- data/lib/aruba/matchers/collection.rb +1 -0
- data/lib/aruba/matchers/collection/all.rb +11 -0
- data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
- data/lib/aruba/matchers/command.rb +1 -0
- data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
- data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
- data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
- data/lib/aruba/matchers/command/have_output.rb +36 -0
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
- data/lib/aruba/matchers/command/have_output_size.rb +28 -0
- data/lib/aruba/matchers/directory.rb +1 -0
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
- data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
- data/lib/aruba/matchers/environment.rb +1 -0
- data/lib/aruba/matchers/file.rb +1 -0
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
- data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
- data/lib/aruba/matchers/file/have_file_content.rb +62 -0
- data/lib/aruba/matchers/file/have_file_size.rb +47 -0
- data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
- data/lib/aruba/matchers/path.rb +1 -0
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
- data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
- data/lib/aruba/matchers/path/have_permissions.rb +64 -0
- data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
- data/lib/aruba/matchers/string.rb +1 -0
- data/lib/aruba/matchers/string/include_output_string.rb +36 -0
- data/lib/aruba/matchers/string/match_output_string.rb +37 -0
- data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
- data/lib/aruba/platform.rb +25 -0
- data/lib/aruba/platforms/announcer.rb +232 -0
- data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_logger.rb +81 -0
- data/lib/aruba/platforms/command_monitor.rb +229 -0
- data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
- data/lib/aruba/platforms/determine_file_size.rb +22 -0
- data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
- data/lib/aruba/platforms/filesystem_status.rb +68 -0
- data/lib/aruba/platforms/local_environment.rb +29 -0
- data/lib/aruba/platforms/simple_table.rb +54 -0
- data/lib/aruba/platforms/unix_command_string.rb +27 -0
- data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
- data/lib/aruba/platforms/unix_platform.rb +276 -0
- data/lib/aruba/platforms/unix_which.rb +85 -0
- data/lib/aruba/platforms/windows_command_string.rb +31 -0
- data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
- data/lib/aruba/platforms/windows_platform.rb +42 -0
- data/lib/aruba/platforms/windows_which.rb +106 -0
- data/lib/aruba/processes/basic_process.rb +143 -0
- data/lib/aruba/processes/debug_process.rb +69 -0
- data/lib/aruba/processes/in_process.rb +125 -0
- data/lib/aruba/processes/spawn_process.rb +278 -0
- data/lib/aruba/reporting.rb +126 -0
- data/lib/aruba/rspec.rb +107 -0
- data/lib/aruba/runtime.rb +96 -0
- data/lib/aruba/setup.rb +90 -0
- data/lib/aruba/spawn_process.rb +11 -0
- data/lib/aruba/version.rb +3 -0
- data/script/bootstrap +28 -0
- data/script/console +16 -0
- data/script/test +3 -0
- data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
- data/spec/aruba/api/environment/set_env_spec.rb +42 -0
- data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
- data/spec/aruba/api/runtime_spec.rb +28 -0
- data/spec/aruba/api_spec.rb +1209 -0
- data/spec/aruba/aruba_path_spec.rb +103 -0
- data/spec/aruba/basic_configuration_spec.rb +5 -0
- data/spec/aruba/configuration_spec.rb +5 -0
- data/spec/aruba/hooks_spec.rb +17 -0
- data/spec/aruba/in_config_wrapper_spec.rb +25 -0
- data/spec/aruba/jruby_spec.rb +55 -0
- data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
- data/spec/aruba/matchers/command_spec.rb +174 -0
- data/spec/aruba/matchers/directory_spec.rb +57 -0
- data/spec/aruba/matchers/file_spec.rb +127 -0
- data/spec/aruba/matchers/path_spec.rb +88 -0
- data/spec/aruba/platform/simple_table_spec.rb +23 -0
- data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
- data/spec/aruba/rspec_spec.rb +15 -0
- data/spec/aruba/runtime_spec.rb +29 -0
- data/spec/aruba/spawn_process_spec.rb +60 -0
- data/spec/event_bus/name_resolver_spec.rb +68 -0
- data/spec/event_bus_spec.rb +160 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +5 -0
- data/spec/support/configs/pry.rb +3 -0
- data/spec/support/configs/rspec.rb +15 -0
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +44 -0
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +35 -0
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +48 -0
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +116 -0
- data/spec/support/shared_examples/directory.rb +7 -0
- data/spec/support/shared_examples/file.rb +7 -0
- data/templates/css/console.css +24 -0
- data/templates/css/filesystem.css +42 -0
- data/templates/css/pygments-autumn.css +59 -0
- data/templates/files.erb +14 -0
- data/templates/images/LICENSE +22 -0
- data/templates/images/folder.png +0 -0
- data/templates/images/page_white.png +0 -0
- data/templates/images/page_white_gherkin.png +0 -0
- data/templates/images/page_white_ruby.png +0 -0
- data/templates/index.erb +20 -0
- data/templates/js/filesystem.js +5 -0
- data/templates/js/jquery-1.11.3.min.js +5 -0
- data/templates/main.erb +34 -0
- metadata +629 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Feature: Create Directory
|
|
2
|
+
|
|
3
|
+
Use the `#create_directory`-method to create a directory within `aruba`'s
|
|
4
|
+
working directory.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.configure do |config|
|
|
10
|
+
config.include Aruba::Api
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
RSpec.describe 'Create directory' do
|
|
14
|
+
let(:directory) { 'dir.d' }
|
|
15
|
+
before(:each) { create_directory(directory) }
|
|
16
|
+
|
|
17
|
+
it { expect(directory).to be_an_existing_directory }
|
|
18
|
+
end
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Background:
|
|
22
|
+
Given I use a fixture named "cli-app"
|
|
23
|
+
|
|
24
|
+
Scenario: New directory
|
|
25
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
26
|
+
"""ruby
|
|
27
|
+
require 'spec_helper'
|
|
28
|
+
|
|
29
|
+
RSpec.describe 'Create directory', :type => :aruba do
|
|
30
|
+
let(:directory) { 'dir.d' }
|
|
31
|
+
before(:each) { create_directory(directory) }
|
|
32
|
+
|
|
33
|
+
it { expect(directory).to be_an_existing_directory }
|
|
34
|
+
end
|
|
35
|
+
"""
|
|
36
|
+
When I run `rspec`
|
|
37
|
+
Then the specs should all pass
|
|
38
|
+
|
|
39
|
+
Scenario: Existing directory
|
|
40
|
+
|
|
41
|
+
It does not complain if a directory already exists.
|
|
42
|
+
|
|
43
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
44
|
+
"""ruby
|
|
45
|
+
require 'spec_helper'
|
|
46
|
+
|
|
47
|
+
RSpec.describe 'Create directory', :type => :aruba do
|
|
48
|
+
let(:directory) { 'dir.d' }
|
|
49
|
+
|
|
50
|
+
before(:each) { create_directory(directory) }
|
|
51
|
+
before(:each) { create_directory(directory) }
|
|
52
|
+
|
|
53
|
+
it { expect(directory).to be_an_existing_directory }
|
|
54
|
+
end
|
|
55
|
+
"""
|
|
56
|
+
When I run `rspec`
|
|
57
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
@unsupported-on-ruby-older-19
|
|
2
|
+
Feature: Report disk usage
|
|
3
|
+
|
|
4
|
+
Sometimes you need to check, what amount of disk space a file consumes. We do
|
|
5
|
+
NOT support "directories" with `#disk_usage`. This does not work reliably
|
|
6
|
+
over different systems. Here can help `'#disk_usage`. But be careful, by
|
|
7
|
+
default it uses a block size of "512" (physical block size) to calculate the
|
|
8
|
+
usage. You may need to adjust this by using `Aruba.configure { |config|
|
|
9
|
+
config.physical_block_size = 4_096 }`. Don't get confused, if you check the
|
|
10
|
+
block size by using `File::Stat` (in ruby). It reports the block size of your
|
|
11
|
+
filesystem, which can be "4_096" for example.
|
|
12
|
+
|
|
13
|
+
We're gonna use the (correct) IEC-notation
|
|
14
|
+
(https://en.wikipedia.org/wiki/Binary_prefix) here:
|
|
15
|
+
|
|
16
|
+
\* kilo => kibi
|
|
17
|
+
\* mega => mebi
|
|
18
|
+
\* giga => gibi
|
|
19
|
+
|
|
20
|
+
Background:
|
|
21
|
+
Given I use a fixture named "cli-app"
|
|
22
|
+
|
|
23
|
+
Scenario: Show disk usage for file
|
|
24
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
25
|
+
"""ruby
|
|
26
|
+
require 'spec_helper'
|
|
27
|
+
|
|
28
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
29
|
+
let(:file) { 'file.txt' }
|
|
30
|
+
|
|
31
|
+
before(:each) do
|
|
32
|
+
write_file file, 'a'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
let(:size_of_single_block) { File::Stat.new(expand_path(file)).blksize }
|
|
36
|
+
|
|
37
|
+
it { expect(disk_usage(file)).to eq size_of_single_block }
|
|
38
|
+
end
|
|
39
|
+
"""
|
|
40
|
+
When I run `rspec`
|
|
41
|
+
Then the specs should all pass
|
|
42
|
+
|
|
43
|
+
Scenario: Show disk usage for multiple files
|
|
44
|
+
|
|
45
|
+
`#disk_usage` creates the sum of all given objects' sizes.
|
|
46
|
+
|
|
47
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
48
|
+
"""ruby
|
|
49
|
+
require 'spec_helper'
|
|
50
|
+
|
|
51
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
52
|
+
let(:file1) { 'file1.txt' }
|
|
53
|
+
let(:file2) { 'file2.txt' }
|
|
54
|
+
|
|
55
|
+
before(:each) do
|
|
56
|
+
write_file file1, 'a'
|
|
57
|
+
write_file file2, 'a'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
let(:size_of_single_block) { File::Stat.new(expand_path(file1)).blksize }
|
|
61
|
+
|
|
62
|
+
it { expect(disk_usage(file1, file2)).to eq size_of_single_block * 2 }
|
|
63
|
+
it { expect(disk_usage([file1, file2])).to eq size_of_single_block * 2 }
|
|
64
|
+
end
|
|
65
|
+
"""
|
|
66
|
+
When I run `rspec`
|
|
67
|
+
Then the specs should all pass
|
|
68
|
+
|
|
69
|
+
Scenario: Convert reported disk usage to KibiByte
|
|
70
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
71
|
+
"""ruby
|
|
72
|
+
require 'spec_helper'
|
|
73
|
+
|
|
74
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
75
|
+
let(:file) { 'file.txt' }
|
|
76
|
+
|
|
77
|
+
before(:each) do
|
|
78
|
+
write_file file, 'a'
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 }
|
|
82
|
+
|
|
83
|
+
it { expect(disk_usage(file).to_kibi_byte).to eq converted_size }
|
|
84
|
+
end
|
|
85
|
+
"""
|
|
86
|
+
When I run `rspec`
|
|
87
|
+
Then the specs should all pass
|
|
88
|
+
|
|
89
|
+
Scenario: Convert reported disk usage to MebiByte
|
|
90
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
91
|
+
"""ruby
|
|
92
|
+
require 'spec_helper'
|
|
93
|
+
|
|
94
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
95
|
+
let(:file) { 'file.txt' }
|
|
96
|
+
|
|
97
|
+
before(:each) do
|
|
98
|
+
write_file file, 'a'
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 / 1024 }
|
|
102
|
+
|
|
103
|
+
it { expect(disk_usage(file).to_mebi_byte).to eq converted_size }
|
|
104
|
+
end
|
|
105
|
+
"""
|
|
106
|
+
When I run `rspec`
|
|
107
|
+
Then the specs should all pass
|
|
108
|
+
|
|
109
|
+
Scenario: Convert reported disk usage to GibiByte
|
|
110
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
111
|
+
"""ruby
|
|
112
|
+
require 'spec_helper'
|
|
113
|
+
|
|
114
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
115
|
+
let(:file) { 'file.txt' }
|
|
116
|
+
|
|
117
|
+
before(:each) do
|
|
118
|
+
write_file file, 'a'
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 / 1_024 / 1_024 }
|
|
122
|
+
|
|
123
|
+
it { expect(disk_usage(file).to_gibi_byte).to eq converted_size }
|
|
124
|
+
end
|
|
125
|
+
"""
|
|
126
|
+
When I run `rspec`
|
|
127
|
+
Then the specs should all pass
|
|
128
|
+
|
|
129
|
+
Scenario: Compare two repored disk usages
|
|
130
|
+
Given a file named "spec/disk_usage_spec.rb" with:
|
|
131
|
+
"""ruby
|
|
132
|
+
require 'spec_helper'
|
|
133
|
+
|
|
134
|
+
RSpec.describe 'disk usage', :type => :aruba do
|
|
135
|
+
let(:file1) { 'file1.txt' }
|
|
136
|
+
let(:file2) { 'file2.txt' }
|
|
137
|
+
|
|
138
|
+
before(:each) do
|
|
139
|
+
write_file file1, 'a' * 10_000
|
|
140
|
+
write_file file2, 'a'
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
before :each do
|
|
144
|
+
@size1 = disk_usage(file1)
|
|
145
|
+
@size2 = disk_usage(file2)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
it { expect(@size1).to be > @size2 }
|
|
149
|
+
end
|
|
150
|
+
"""
|
|
151
|
+
When I run `rspec`
|
|
152
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Feature: Check existence of files and directories
|
|
2
|
+
|
|
3
|
+
Use the `#exist?` to check if a path exists within
|
|
4
|
+
`aruba`'s working directory. , May also want to look for `#file?` or
|
|
5
|
+
`#directory?` for some more specific tests.
|
|
6
|
+
|
|
7
|
+
```ruby
|
|
8
|
+
require 'spec_helper'
|
|
9
|
+
|
|
10
|
+
RSpec.configure do |config|
|
|
11
|
+
config.include Aruba::Api
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
RSpec.describe 'Check if directory and file exist' do
|
|
15
|
+
let(:directory) { 'dir.d' }
|
|
16
|
+
let(:file) { 'file.txt' }
|
|
17
|
+
|
|
18
|
+
before(:each) { create_directory(directory) }
|
|
19
|
+
before(:each) { touch(file) }
|
|
20
|
+
|
|
21
|
+
it { expect(exist?(directory)).to be true }
|
|
22
|
+
it { expect(exist?(file)).to be true }
|
|
23
|
+
end
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Background:
|
|
27
|
+
Given I use a fixture named "cli-app"
|
|
28
|
+
|
|
29
|
+
Scenario: Is file or directory and exists
|
|
30
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
31
|
+
"""ruby
|
|
32
|
+
require 'spec_helper'
|
|
33
|
+
|
|
34
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
35
|
+
let(:directory) { 'dir.d' }
|
|
36
|
+
let(:file) { 'file.txt' }
|
|
37
|
+
|
|
38
|
+
before(:each) { create_directory(directory) }
|
|
39
|
+
before(:each) { touch(file) }
|
|
40
|
+
|
|
41
|
+
it { expect(exist?(directory)).to be true }
|
|
42
|
+
it { expect(exist?(file)).to be true }
|
|
43
|
+
end
|
|
44
|
+
"""
|
|
45
|
+
When I run `rspec`
|
|
46
|
+
Then the specs should all pass
|
|
47
|
+
|
|
48
|
+
Scenario: Is file or directory and does not exist
|
|
49
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
50
|
+
"""ruby
|
|
51
|
+
require 'spec_helper'
|
|
52
|
+
|
|
53
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
54
|
+
let(:directory) { 'dir.d' }
|
|
55
|
+
let(:file) { 'file.txt' }
|
|
56
|
+
|
|
57
|
+
it { expect(exist?(directory)).to be false }
|
|
58
|
+
it { expect(exist?(file)).to be false }
|
|
59
|
+
end
|
|
60
|
+
"""
|
|
61
|
+
When I run `rspec`
|
|
62
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Feature: Use fixtures in your tests
|
|
2
|
+
|
|
3
|
+
Sometimes your tests need existing files to work - e.g binary data files you
|
|
4
|
+
cannot create programmatically. Since `aruba` >= 0.6.3 includes some basic
|
|
5
|
+
support for fixtures. All you need to do is the following:
|
|
6
|
+
|
|
7
|
+
1. Create a `fixtures`-directory
|
|
8
|
+
2. Create fixture files in this directory
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Background:
|
|
12
|
+
Given I use a fixture named "cli-app"
|
|
13
|
+
|
|
14
|
+
Scenario: Use a fixture for your tests
|
|
15
|
+
Given a file named "features/fixtures.feature" with:
|
|
16
|
+
"""
|
|
17
|
+
Feature: Fixture
|
|
18
|
+
Scenario: Fixture
|
|
19
|
+
Given a file named "fixtures_spec.rb" with:
|
|
20
|
+
\"\"\"
|
|
21
|
+
RSpec.describe 'My Feature' do
|
|
22
|
+
describe '#read_music_file' do
|
|
23
|
+
context 'when the file exists' do
|
|
24
|
+
before :each { copy '%/song.mp3', 'file.mp3' }
|
|
25
|
+
|
|
26
|
+
it { expect('file.mp3').to be_an_existing_file }
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
\"\"\"
|
|
31
|
+
"""
|
|
32
|
+
And a directory named "fixtures"
|
|
33
|
+
And an empty file named "fixtures/fixtures-app/test.txt"
|
|
34
|
+
When I run `rspec`
|
|
35
|
+
Then the specs should all pass
|
|
36
|
+
|
|
37
|
+
Scenario: Use a fixture for your tests in test/
|
|
38
|
+
Given a file named "features/fixtures.feature" with:
|
|
39
|
+
"""
|
|
40
|
+
Feature: Fixture
|
|
41
|
+
Scenario: Fixture
|
|
42
|
+
Given a file named "fixtures_spec.rb" with:
|
|
43
|
+
\"\"\"
|
|
44
|
+
RSpec.describe 'My Feature' do
|
|
45
|
+
describe '#read_music_file' do
|
|
46
|
+
context 'when the file exists' do
|
|
47
|
+
before :each { copy '%/song.mp3', 'file.mp3' }
|
|
48
|
+
|
|
49
|
+
it { expect('file.mp3').to be_an_existing_file }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
\"\"\"
|
|
54
|
+
"""
|
|
55
|
+
And a directory named "test/fixtures"
|
|
56
|
+
And an empty file named "test/fixtures/fixtures-app/test.txt"
|
|
57
|
+
When I run `rspec`
|
|
58
|
+
Then the specs should all pass
|
|
59
|
+
|
|
60
|
+
Scenario: Use a fixture for your tests in spec/
|
|
61
|
+
Given a file named "features/fixtures.feature" with:
|
|
62
|
+
"""
|
|
63
|
+
Feature: Fixture
|
|
64
|
+
Scenario: Fixture
|
|
65
|
+
Given a file named "fixtures_spec.rb" with:
|
|
66
|
+
\"\"\"
|
|
67
|
+
RSpec.describe 'My Feature' do
|
|
68
|
+
describe '#read_music_file' do
|
|
69
|
+
context 'when the file exists' do
|
|
70
|
+
before :each { copy '%/song.mp3', 'file.mp3' }
|
|
71
|
+
|
|
72
|
+
it { expect('file.mp3').to be_an_existing_file }
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
\"\"\"
|
|
77
|
+
"""
|
|
78
|
+
And a directory named "spec/fixtures"
|
|
79
|
+
And an empty file named "spec/fixtures/fixtures-app/test.txt"
|
|
80
|
+
When I run `rspec`
|
|
81
|
+
Then the specs should all pass
|
|
82
|
+
|
|
83
|
+
Scenario: Use a fixture for your tests in features/
|
|
84
|
+
Given a file named "features/fixtures.feature" with:
|
|
85
|
+
"""
|
|
86
|
+
Feature: Fixture
|
|
87
|
+
Scenario: Fixture
|
|
88
|
+
Given a file named "fixtures_spec.rb" with:
|
|
89
|
+
\"\"\"
|
|
90
|
+
RSpec.describe 'My Feature' do
|
|
91
|
+
describe '#read_music_file' do
|
|
92
|
+
context 'when the file exists' do
|
|
93
|
+
before :each { copy '%/song.mp3', 'file.mp3' }
|
|
94
|
+
|
|
95
|
+
it { expect('file.mp3').to be_an_existing_file }
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
\"\"\"
|
|
100
|
+
"""
|
|
101
|
+
And a directory named "features/fixtures"
|
|
102
|
+
And an empty file named "features/fixtures/fixtures-app/test.txt"
|
|
103
|
+
When I run `rspec`
|
|
104
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Feature: Check if path is absolute
|
|
2
|
+
|
|
3
|
+
Use the `#absolute?`-method to check if a path is an absolute path.
|
|
4
|
+
|
|
5
|
+
```ruby
|
|
6
|
+
require 'spec_helper'
|
|
7
|
+
|
|
8
|
+
RSpec.configure do |config|
|
|
9
|
+
config.include Aruba::Api
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
RSpec.describe 'Check if directory or file is absolute' do
|
|
13
|
+
let(:path) { '/path/to/file.txt' }
|
|
14
|
+
|
|
15
|
+
it { expect(absolute?(path)).to be true }
|
|
16
|
+
end
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Background:
|
|
20
|
+
Given I use a fixture named "cli-app"
|
|
21
|
+
|
|
22
|
+
Scenario: Is path absolute
|
|
23
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
24
|
+
"""ruby
|
|
25
|
+
require 'spec_helper'
|
|
26
|
+
|
|
27
|
+
RSpec.describe 'Check if directory or file is absolute', :type => :aruba do
|
|
28
|
+
let(:path) { '/path/to/file.txt' }
|
|
29
|
+
|
|
30
|
+
it { expect(absolute?(path)).to be true }
|
|
31
|
+
end
|
|
32
|
+
"""
|
|
33
|
+
When I run `rspec`
|
|
34
|
+
Then the specs should all pass
|
|
35
|
+
|
|
36
|
+
Scenario: Path should be absolute, but it's relative
|
|
37
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
38
|
+
"""ruby
|
|
39
|
+
require 'spec_helper'
|
|
40
|
+
|
|
41
|
+
RSpec.describe 'Check if directory or file is absolute', :type => :aruba do
|
|
42
|
+
let(:path) { 'file.txt' }
|
|
43
|
+
|
|
44
|
+
it { expect(absolute?(path)).to be false }
|
|
45
|
+
end
|
|
46
|
+
"""
|
|
47
|
+
When I run `rspec`
|
|
48
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Feature: Check existence of directories
|
|
2
|
+
|
|
3
|
+
Use the `#directory?` to check if a path is a directory and exists within
|
|
4
|
+
`aruba`'s working directory.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.configure do |config|
|
|
10
|
+
config.include Aruba::Api
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
RSpec.describe 'Check if directory and file exist' do
|
|
14
|
+
let(:directory) { 'dir.d' }
|
|
15
|
+
|
|
16
|
+
before(:each) { create_directory(directory) }
|
|
17
|
+
|
|
18
|
+
it { expect(directory?(directory)).to be true }
|
|
19
|
+
end
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Background:
|
|
23
|
+
Given I use a fixture named "cli-app"
|
|
24
|
+
|
|
25
|
+
Scenario: Is directory and exist
|
|
26
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
27
|
+
"""ruby
|
|
28
|
+
require 'spec_helper'
|
|
29
|
+
|
|
30
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
31
|
+
let(:directory) { 'dir.d' }
|
|
32
|
+
before(:each) { create_directory(directory) }
|
|
33
|
+
|
|
34
|
+
it { expect(directory?(directory)).to be true }
|
|
35
|
+
end
|
|
36
|
+
"""
|
|
37
|
+
When I run `rspec`
|
|
38
|
+
Then the specs should all pass
|
|
39
|
+
|
|
40
|
+
Scenario: Is file, but should be directory and exist
|
|
41
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
42
|
+
"""ruby
|
|
43
|
+
require 'spec_helper'
|
|
44
|
+
|
|
45
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
46
|
+
let(:file) { 'file.txt' }
|
|
47
|
+
before(:each) { touch(file) }
|
|
48
|
+
|
|
49
|
+
it { expect(directory?(file)).to be false }
|
|
50
|
+
end
|
|
51
|
+
"""
|
|
52
|
+
When I run `rspec`
|
|
53
|
+
Then the specs should all pass
|