beaker 4.40.2 → 5.0.0
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 +4 -4
- data/.github/dependabot.yml +9 -0
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/test.yml +26 -13
- data/.rubocop.yml +23 -10
- data/.rubocop_todo.yml +34 -10
- data/CHANGELOG.md +17 -28
- data/Gemfile +12 -7
- data/Rakefile +99 -111
- data/acceptance/config/acceptance-options.rb +1 -1
- data/acceptance/config/base/acceptance-options.rb +2 -2
- data/acceptance/config/hypervisor/acceptance-options.rb +2 -2
- data/acceptance/config/subcommands/acceptance-options.rb +2 -2
- data/acceptance/fixtures/module/Rakefile +1 -1
- data/acceptance/fixtures/module/spec/acceptance/demo_spec.rb +8 -12
- data/acceptance/fixtures/module/spec/classes/init_spec.rb +0 -1
- data/acceptance/fixtures/module/spec/spec_helper_acceptance.rb +3 -5
- data/acceptance/lib/helpers/test_helper.rb +6 -5
- data/acceptance/pre_suite/subcommands/05_install_ruby.rb +2 -3
- data/acceptance/pre_suite/subcommands/08_install_beaker.rb +1 -2
- data/acceptance/tests/base/dsl/helpers/configuration_test.rb +4 -4
- data/acceptance/tests/base/dsl/helpers/hocon_helpers_test.rb +1 -2
- data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +0 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/archive_file_from_test.rb +3 -1
- data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +9 -9
- data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +0 -4
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +19 -26
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +2 -2
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +0 -1
- data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +18 -13
- data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +3 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +22 -27
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +12 -16
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +3 -4
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +3 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +4 -4
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +3 -4
- data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +5 -5
- data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +3 -5
- data/acceptance/tests/base/dsl/platform_tag_confiner_test.rb +14 -17
- data/acceptance/tests/base/dsl/structure_test.rb +5 -11
- data/acceptance/tests/base/host/file_test.rb +2 -2
- data/acceptance/tests/base/host/group_test.rb +0 -1
- data/acceptance/tests/base/host/host_test.rb +66 -63
- data/acceptance/tests/base/host/packages.rb +1 -2
- data/acceptance/tests/base/host/packages_unix.rb +0 -55
- data/acceptance/tests/base/host/user_test.rb +0 -1
- data/acceptance/tests/base/host_prebuilt_steps/ssh_environment_test.rb +1 -2
- data/acceptance/tests/base/test_suite/export.rb +6 -9
- data/acceptance/tests/install/from_file.rb +2 -4
- data/acceptance/tests/load_path_bootstrap.rb +1 -1
- data/acceptance/tests/subcommands/destroy.rb +19 -21
- data/acceptance/tests/subcommands/exec.rb +0 -1
- data/acceptance/tests/subcommands/init.rb +2 -3
- data/acceptance/tests/subcommands/provision.rb +0 -1
- data/beaker.gemspec +4 -7
- data/docs/concepts/argument_processing_and_precedence.md +1 -10
- data/docs/how_to/debug_beaker_tests.md +12 -12
- data/docs/how_to/hosts/eos.md +2 -12
- data/docs/how_to/install_puppet.md +0 -18
- data/docs/how_to/the_beaker_dsl.md +0 -2
- data/lib/beaker/cli.rb +59 -68
- data/lib/beaker/command.rb +20 -28
- data/lib/beaker/command_factory.rb +3 -2
- data/lib/beaker/dsl/assertions.rb +6 -18
- data/lib/beaker/dsl/helpers/hocon_helpers.rb +3 -7
- data/lib/beaker/dsl/helpers/host_helpers.rb +62 -123
- data/lib/beaker/dsl/helpers/test_helpers.rb +3 -5
- data/lib/beaker/dsl/helpers/web_helpers.rb +19 -39
- data/lib/beaker/dsl/helpers.rb +2 -4
- data/lib/beaker/dsl/outcomes.rb +13 -15
- data/lib/beaker/dsl/patterns.rb +1 -3
- data/lib/beaker/dsl/roles.rb +17 -20
- data/lib/beaker/dsl/structure.rb +53 -65
- data/lib/beaker/dsl/test_tagging.rb +7 -10
- data/lib/beaker/dsl/wrappers.rb +15 -16
- data/lib/beaker/dsl.rb +2 -3
- data/lib/beaker/host/aix/exec.rb +1 -1
- data/lib/beaker/host/aix/file.rb +0 -1
- data/lib/beaker/host/aix/group.rb +1 -1
- data/lib/beaker/host/aix/user.rb +1 -1
- data/lib/beaker/host/aix.rb +3 -4
- data/lib/beaker/host/cisco.rb +27 -39
- data/lib/beaker/host/eos.rb +4 -30
- data/lib/beaker/host/freebsd/exec.rb +1 -1
- data/lib/beaker/host/freebsd/pkg.rb +3 -3
- data/lib/beaker/host/freebsd.rb +9 -12
- data/lib/beaker/host/mac/exec.rb +4 -4
- data/lib/beaker/host/mac/group.rb +7 -7
- data/lib/beaker/host/mac/pkg.rb +3 -106
- data/lib/beaker/host/mac/user.rb +2 -2
- data/lib/beaker/host/mac.rb +8 -9
- data/lib/beaker/host/pswindows/exec.rb +66 -70
- data/lib/beaker/host/pswindows/file.rb +3 -5
- data/lib/beaker/host/pswindows/group.rb +3 -3
- data/lib/beaker/host/pswindows/pkg.rb +12 -12
- data/lib/beaker/host/pswindows/user.rb +3 -3
- data/lib/beaker/host/pswindows.rb +4 -3
- data/lib/beaker/host/unix/exec.rb +80 -82
- data/lib/beaker/host/unix/file.rb +38 -43
- data/lib/beaker/host/unix/group.rb +1 -1
- data/lib/beaker/host/unix/pkg.rb +154 -417
- data/lib/beaker/host/unix/user.rb +2 -2
- data/lib/beaker/host/unix.rb +8 -11
- data/lib/beaker/host/windows/exec.rb +17 -17
- data/lib/beaker/host/windows/file.rb +3 -3
- data/lib/beaker/host/windows/group.rb +3 -3
- data/lib/beaker/host/windows/pkg.rb +3 -54
- data/lib/beaker/host/windows/user.rb +3 -3
- data/lib/beaker/host/windows.rb +12 -12
- data/lib/beaker/host.rb +76 -133
- data/lib/beaker/host_prebuilt_steps.rb +93 -198
- data/lib/beaker/hypervisor/noop.rb +2 -4
- data/lib/beaker/hypervisor.rb +44 -61
- data/lib/beaker/local_connection.rb +2 -4
- data/lib/beaker/logger.rb +68 -76
- data/lib/beaker/logger_junit.rb +21 -25
- data/lib/beaker/network_manager.rb +39 -42
- data/lib/beaker/options/command_line_parser.rb +12 -23
- data/lib/beaker/options/hosts_file_parser.rb +16 -24
- data/lib/beaker/options/options_file_parser.rb +3 -6
- data/lib/beaker/options/options_hash.rb +2 -7
- data/lib/beaker/options/parser.rb +86 -102
- data/lib/beaker/options/presets.rb +114 -123
- data/lib/beaker/options/subcommand_options_file_parser.rb +3 -6
- data/lib/beaker/options/validator.rb +26 -31
- data/lib/beaker/perf.rb +22 -27
- data/lib/beaker/platform.rb +38 -46
- data/lib/beaker/result.rb +7 -6
- data/lib/beaker/shared/error_handler.rb +8 -10
- data/lib/beaker/shared/fog_credentials.rb +5 -9
- data/lib/beaker/shared/host_manager.rb +36 -41
- data/lib/beaker/shared/options_resolver.rb +3 -7
- data/lib/beaker/shared/repetition.rb +2 -4
- data/lib/beaker/shared/semvar.rb +37 -41
- data/lib/beaker/shared/timed.rb +0 -3
- data/lib/beaker/shared.rb +1 -1
- data/lib/beaker/ssh_connection.rb +38 -47
- data/lib/beaker/subcommand.rb +17 -24
- data/lib/beaker/subcommands/subcommand_util.rb +4 -4
- data/lib/beaker/tasks/quick_start.rb +4 -9
- data/lib/beaker/tasks/rake_task.rb +25 -27
- data/lib/beaker/tasks/test.rb +4 -4
- data/lib/beaker/test_case.rb +16 -28
- data/lib/beaker/test_suite.rb +35 -39
- data/lib/beaker/test_suite_result.rb +45 -47
- data/lib/beaker/version.rb +1 -1
- data/lib/beaker.rb +6 -7
- data/spec/beaker/cli_spec.rb +121 -142
- data/spec/beaker/command_spec.rb +55 -59
- data/spec/beaker/dsl/assertions_spec.rb +36 -36
- data/spec/beaker/dsl/helpers/host_helpers_spec.rb +110 -131
- data/spec/beaker/dsl/helpers/test_helpers_spec.rb +9 -10
- data/spec/beaker/dsl/helpers/web_helpers_spec.rb +22 -31
- data/spec/beaker/dsl/outcomes_spec.rb +14 -14
- data/spec/beaker/dsl/roles_spec.rb +125 -130
- data/spec/beaker/dsl/structure_spec.rb +172 -161
- data/spec/beaker/dsl/test_tagging_spec.rb +89 -90
- data/spec/beaker/dsl/wrappers_spec.rb +32 -33
- data/spec/beaker/host/aix_spec.rb +14 -14
- data/spec/beaker/host/cisco_spec.rb +84 -94
- data/spec/beaker/host/eos_spec.rb +15 -36
- data/spec/beaker/host/freebsd/exec_spec.rb +3 -6
- data/spec/beaker/host/freebsd/pkg_spec.rb +24 -27
- data/spec/beaker/host/mac/exec_spec.rb +2 -3
- data/spec/beaker/host/mac/group_spec.rb +48 -57
- data/spec/beaker/host/mac/user_spec.rb +54 -63
- data/spec/beaker/host/pswindows/exec_spec.rb +30 -32
- data/spec/beaker/host/pswindows/file_spec.rb +16 -16
- data/spec/beaker/host/pswindows/user_spec.rb +17 -23
- data/spec/beaker/host/pswindows_spec.rb +13 -13
- data/spec/beaker/host/unix/exec_spec.rb +75 -80
- data/spec/beaker/host/unix/file_spec.rb +66 -73
- data/spec/beaker/host/unix/pkg_spec.rb +155 -401
- data/spec/beaker/host/unix_spec.rb +11 -207
- data/spec/beaker/host/windows/exec_spec.rb +30 -32
- data/spec/beaker/host/windows/file_spec.rb +18 -19
- data/spec/beaker/host/windows/group_spec.rb +10 -12
- data/spec/beaker/host/windows/pkg_spec.rb +6 -9
- data/spec/beaker/host/windows/user_spec.rb +17 -23
- data/spec/beaker/host/windows_spec.rb +39 -39
- data/spec/beaker/host_prebuilt_steps_spec.rb +172 -326
- data/spec/beaker/host_spec.rb +204 -284
- data/spec/beaker/hypervisor/hypervisor_spec.rb +36 -61
- data/spec/beaker/localhost_connection_spec.rb +10 -11
- data/spec/beaker/logger_junit_spec.rb +19 -30
- data/spec/beaker/logger_spec.rb +153 -136
- data/spec/beaker/network_manager_spec.rb +23 -23
- data/spec/beaker/options/command_line_parser_spec.rb +20 -23
- data/spec/beaker/options/hosts_file_parser_spec.rb +30 -32
- data/spec/beaker/options/options_file_parser_spec.rb +4 -7
- data/spec/beaker/options/options_hash_spec.rb +4 -6
- data/spec/beaker/options/parser_spec.rb +167 -167
- data/spec/beaker/options/presets_spec.rb +7 -9
- data/spec/beaker/options/subcommand_options_parser_spec.rb +13 -14
- data/spec/beaker/options/validator_spec.rb +10 -11
- data/spec/beaker/perf_spec.rb +18 -21
- data/spec/beaker/platform_spec.rb +25 -36
- data/spec/beaker/shared/error_handler_spec.rb +7 -16
- data/spec/beaker/shared/fog_credentials_spec.rb +29 -29
- data/spec/beaker/shared/host_manager_spec.rb +50 -84
- data/spec/beaker/shared/options_resolver_spec.rb +9 -12
- data/spec/beaker/shared/repetition_spec.rb +17 -24
- data/spec/beaker/shared/semvar_spec.rb +21 -26
- data/spec/beaker/ssh_connection_spec.rb +76 -83
- data/spec/beaker/subcommand/subcommand_util_spec.rb +31 -33
- data/spec/beaker/subcommand_spec.rb +75 -77
- data/spec/beaker/test_case_spec.rb +25 -50
- data/spec/beaker/test_suite_spec.rb +147 -154
- data/spec/helpers.rb +48 -53
- data/spec/matchers.rb +8 -7
- data/spec/mocks.rb +1 -6
- data/spec/spec_helper.rb +0 -1
- metadata +7 -24
- data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +0 -142
- data/acceptance/tests/base/external_resources_test.rb +0 -31
- data/spec/beaker/host/mac_spec.rb +0 -113
|
@@ -18,108 +18,102 @@ module Beaker
|
|
|
18
18
|
"me"
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
@logger
|
|
23
|
-
end
|
|
24
|
-
|
|
21
|
+
attr_reader :logger
|
|
25
22
|
end
|
|
26
23
|
|
|
27
24
|
let(:opts) { @opts || {} }
|
|
28
|
-
let(:logger) { double(
|
|
29
|
-
let(:platform)
|
|
25
|
+
let(:logger) { double('logger').as_null_object }
|
|
26
|
+
let(:platform) do
|
|
30
27
|
if @platform
|
|
31
|
-
{ 'platform' => Beaker::Platform.new(
|
|
28
|
+
{ 'platform' => Beaker::Platform.new(@platform) }
|
|
32
29
|
else
|
|
33
|
-
{ 'platform' => Beaker::Platform.new(
|
|
30
|
+
{ 'platform' => Beaker::Platform.new('osx-10.9-x86_64') }
|
|
34
31
|
end
|
|
35
|
-
|
|
32
|
+
end
|
|
36
33
|
let(:instance) { UnixFileTest.new(opts.merge(platform), logger) }
|
|
37
34
|
|
|
38
35
|
describe '#repo_type' do
|
|
39
|
-
|
|
40
|
-
['centos','redhat'].each do |platform|
|
|
36
|
+
%w[centos redhat].each do |platform|
|
|
41
37
|
it "returns correctly for platform '#{platform}'" do
|
|
42
38
|
@platform = "#{platform}-5-x86_64"
|
|
43
|
-
expect(
|
|
39
|
+
expect(instance.repo_type).to be === 'rpm'
|
|
44
40
|
end
|
|
45
41
|
end
|
|
46
42
|
|
|
47
43
|
it 'returns correctly for debian-based platforms' do
|
|
48
44
|
@platform = 'debian-6-x86_64'
|
|
49
|
-
expect(
|
|
45
|
+
expect(instance.repo_type).to be === 'deb'
|
|
50
46
|
end
|
|
51
47
|
|
|
52
48
|
it 'errors for all other platform types' do
|
|
53
49
|
@platform = 'eos-4-x86_64'
|
|
54
|
-
expect
|
|
50
|
+
expect do
|
|
55
51
|
instance.repo_type
|
|
56
|
-
|
|
52
|
+
end.to raise_error(ArgumentError, /repo\ type\ not\ known/)
|
|
57
53
|
end
|
|
58
54
|
end
|
|
59
55
|
|
|
60
56
|
describe '#package_config_dir' do
|
|
61
|
-
|
|
62
|
-
['centos','redhat'].each do |platform|
|
|
57
|
+
%w[centos redhat].each do |platform|
|
|
63
58
|
it "returns correctly for platform '#{platform}'" do
|
|
64
59
|
@platform = "#{platform}-5-x86_64"
|
|
65
|
-
expect(
|
|
60
|
+
expect(instance.package_config_dir).to be === '/etc/yum.repos.d/'
|
|
66
61
|
end
|
|
67
62
|
end
|
|
68
63
|
|
|
69
64
|
it 'returns correctly for debian-based platforms' do
|
|
70
65
|
@platform = 'debian-6-x86_64'
|
|
71
|
-
expect(
|
|
66
|
+
expect(instance.package_config_dir).to be === '/etc/apt/sources.list.d'
|
|
72
67
|
end
|
|
73
68
|
|
|
74
69
|
it 'returns correctly for sles-based platforms' do
|
|
75
70
|
@platform = 'sles-12-x86_64'
|
|
76
|
-
expect(
|
|
71
|
+
expect(instance.package_config_dir).to be === '/etc/zypp/repos.d/'
|
|
77
72
|
end
|
|
78
73
|
|
|
79
74
|
it 'returns correctly for opensuse-based platforms' do
|
|
80
75
|
@platform = 'opensuse-15-x86_64'
|
|
81
|
-
expect(
|
|
76
|
+
expect(instance.package_config_dir).to be === '/etc/zypp/repos.d/'
|
|
82
77
|
end
|
|
83
78
|
|
|
84
79
|
it 'errors for all other platform types' do
|
|
85
80
|
@platform = 'eos-4-x86_64'
|
|
86
|
-
expect
|
|
81
|
+
expect do
|
|
87
82
|
instance.package_config_dir
|
|
88
|
-
|
|
83
|
+
end.to raise_error(ArgumentError, /package\ config\ dir\ unknown/)
|
|
89
84
|
end
|
|
90
85
|
end
|
|
91
86
|
|
|
92
87
|
describe '#repo_filename' do
|
|
93
|
-
|
|
94
|
-
['centos','redhat'].each do |platform|
|
|
88
|
+
%w[centos redhat].each do |platform|
|
|
95
89
|
it "sets the el portion correctly for '#{platform}'" do
|
|
96
90
|
@platform = "#{platform}-5-x86_64"
|
|
97
|
-
allow(
|
|
98
|
-
filename = instance.repo_filename(
|
|
99
|
-
expect(
|
|
91
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
|
92
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
|
93
|
+
expect(filename).to match(/sion7\-el\-/)
|
|
100
94
|
end
|
|
101
95
|
end
|
|
102
96
|
|
|
103
97
|
it 'sets the sles portion correctly for sles platforms' do
|
|
104
98
|
@platform = 'sles-11-x86_64'
|
|
105
|
-
allow(
|
|
106
|
-
filename = instance.repo_filename(
|
|
107
|
-
expect(
|
|
99
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
|
100
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
|
101
|
+
expect(filename).to match(/sion7\-sles\-/)
|
|
108
102
|
end
|
|
109
103
|
|
|
110
104
|
it 'sets the opensuse portion correctly for opensuse platforms' do
|
|
111
105
|
@platform = 'opensuse-15-x86_64'
|
|
112
|
-
allow(
|
|
113
|
-
filename = instance.repo_filename(
|
|
114
|
-
expect(
|
|
106
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
|
107
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
|
108
|
+
expect(filename).to match(/sion7\-opensuse\-/)
|
|
115
109
|
end
|
|
116
110
|
|
|
117
111
|
it 'builds the filename correctly for el-based platforms' do
|
|
118
112
|
@platform = 'el-21-x86_64'
|
|
119
|
-
allow(
|
|
120
|
-
filename = instance.repo_filename(
|
|
113
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
|
114
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version8')
|
|
121
115
|
correct = 'pl-pkg_name-pkg_version8-el-21-x86_64.repo'
|
|
122
|
-
expect(
|
|
116
|
+
expect(filename).to be === correct
|
|
123
117
|
end
|
|
124
118
|
|
|
125
119
|
it 'builds the filename correctly for redhatfips platforms' do
|
|
@@ -128,68 +122,67 @@ module Beaker
|
|
|
128
122
|
expect(instance).to receive(:[]).with('packaging_platform').and_return('redhatfips-7-x86_64')
|
|
129
123
|
filename = instance.repo_filename('pkg_name', 'pkg_version')
|
|
130
124
|
correct = 'pl-pkg_name-pkg_version-redhatfips-7-x86_64.repo'
|
|
131
|
-
expect(
|
|
125
|
+
expect(filename).to be === correct
|
|
132
126
|
end
|
|
133
127
|
|
|
134
128
|
it 'adds in the PE portion of the filename correctly for el-based PE hosts' do
|
|
135
129
|
@platform = 'el-21-x86_64'
|
|
136
|
-
allow(
|
|
137
|
-
filename = instance.repo_filename(
|
|
130
|
+
allow(instance).to receive(:is_pe?).and_return(true)
|
|
131
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version9')
|
|
138
132
|
correct = 'pl-pkg_name-pkg_version9-el-21-x86_64.repo'
|
|
139
|
-
expect(
|
|
133
|
+
expect(filename).to be === correct
|
|
140
134
|
end
|
|
141
135
|
|
|
142
136
|
it 'builds the filename correctly for debian-based platforms' do
|
|
143
137
|
@platform = 'debian-8-x86_64'
|
|
144
|
-
filename = instance.repo_filename(
|
|
138
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version10')
|
|
145
139
|
correct = 'pl-pkg_name-pkg_version10-jessie.list'
|
|
146
|
-
expect(
|
|
140
|
+
expect(filename).to be === correct
|
|
147
141
|
end
|
|
148
142
|
|
|
149
143
|
it 'uses the variant for the codename on the cumulus platform' do
|
|
150
144
|
@platform = 'cumulus-2.5-x86_64'
|
|
151
|
-
filename = instance.repo_filename(
|
|
145
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version11')
|
|
152
146
|
correct = 'pl-pkg_name-pkg_version11-cumulus.list'
|
|
153
|
-
expect(
|
|
147
|
+
expect(filename).to be === correct
|
|
154
148
|
end
|
|
155
149
|
|
|
156
150
|
it 'adds wrlinux to variant on cisco platforms' do
|
|
157
151
|
@platform = 'cisco_nexus-7-x86_64'
|
|
158
|
-
allow(
|
|
159
|
-
filename = instance.repo_filename(
|
|
160
|
-
expect(
|
|
152
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
|
153
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version12')
|
|
154
|
+
expect(filename).to match(/sion12\-cisco\-wrlinux\-/)
|
|
161
155
|
end
|
|
162
156
|
|
|
163
157
|
it 'errors for non-el or debian-based platforms' do
|
|
164
158
|
@platform = 'freebsd-22-x86_64'
|
|
165
|
-
expect
|
|
166
|
-
instance.repo_filename(
|
|
167
|
-
|
|
159
|
+
expect do
|
|
160
|
+
instance.repo_filename('pkg_name', 'pkg_version')
|
|
161
|
+
end.to raise_error(ArgumentError, /repo\ filename\ pattern\ not\ known/)
|
|
168
162
|
end
|
|
169
163
|
end
|
|
170
164
|
|
|
171
165
|
describe '#noask_file_text' do
|
|
172
|
-
|
|
173
166
|
it 'errors on non-solaris platforms' do
|
|
174
167
|
@platform = 'cumulus-4000-x86_64'
|
|
175
|
-
expect
|
|
168
|
+
expect do
|
|
176
169
|
instance.noask_file_text
|
|
177
|
-
|
|
170
|
+
end.to raise_error(ArgumentError, /^noask\ file\ text\ unknown/)
|
|
178
171
|
end
|
|
179
172
|
|
|
180
173
|
it 'errors on solaris versions other than 10' do
|
|
181
174
|
@platform = 'solaris-11-x86_64'
|
|
182
|
-
expect
|
|
175
|
+
expect do
|
|
183
176
|
instance.noask_file_text
|
|
184
|
-
|
|
177
|
+
end.to raise_error(ArgumentError, /^noask\ file\ text\ unknown/)
|
|
185
178
|
end
|
|
186
179
|
|
|
187
180
|
it 'returns the noask file correctly for solaris 10' do
|
|
188
181
|
@platform = 'solaris-10-x86_64'
|
|
189
182
|
text = instance.noask_file_text
|
|
190
|
-
expect(
|
|
191
|
-
expect(
|
|
192
|
-
expect(
|
|
183
|
+
expect(text).to match(/instance\=overwrite/)
|
|
184
|
+
expect(text).to match(/space\=quit/)
|
|
185
|
+
expect(text).to match(/basedir\=default/)
|
|
193
186
|
end
|
|
194
187
|
end
|
|
195
188
|
|
|
@@ -198,13 +191,13 @@ module Beaker
|
|
|
198
191
|
let(:path) { '/path/to/chown/on' }
|
|
199
192
|
|
|
200
193
|
it 'calls the system method' do
|
|
201
|
-
expect(
|
|
202
|
-
expect(
|
|
194
|
+
expect(instance).to receive(:execute).with("chown #{user} #{path}").and_return(0)
|
|
195
|
+
expect(instance.chown(user, path)).to be === 0
|
|
203
196
|
end
|
|
204
197
|
|
|
205
198
|
it 'passes -R if recursive' do
|
|
206
|
-
expect(
|
|
207
|
-
instance.chown(
|
|
199
|
+
expect(instance).to receive(:execute).with("chown \-R #{user} #{path}")
|
|
200
|
+
instance.chown(user, path, true)
|
|
208
201
|
end
|
|
209
202
|
end
|
|
210
203
|
|
|
@@ -212,8 +205,8 @@ module Beaker
|
|
|
212
205
|
let(:path) { '/path/to/cat/on' }
|
|
213
206
|
|
|
214
207
|
it 'calls cat for path' do
|
|
215
|
-
expect(
|
|
216
|
-
expect(
|
|
208
|
+
expect(instance).to receive(:execute).with("cat #{path}").and_return(0)
|
|
209
|
+
expect(instance.cat(path)).to be === 0
|
|
217
210
|
end
|
|
218
211
|
end
|
|
219
212
|
|
|
@@ -223,7 +216,7 @@ module Beaker
|
|
|
223
216
|
path = '/path/to/file'
|
|
224
217
|
mod = '+x'
|
|
225
218
|
|
|
226
|
-
expect(
|
|
219
|
+
expect(instance).to receive(:execute).with("chmod #{mod} #{path}")
|
|
227
220
|
instance.chmod(mod, path)
|
|
228
221
|
end
|
|
229
222
|
end
|
|
@@ -233,7 +226,7 @@ module Beaker
|
|
|
233
226
|
path = '/path/to/file'
|
|
234
227
|
mod = '+x'
|
|
235
228
|
|
|
236
|
-
expect(
|
|
229
|
+
expect(instance).to receive(:execute).with("chmod -R #{mod} #{path}")
|
|
237
230
|
instance.chmod(mod, path, true)
|
|
238
231
|
end
|
|
239
232
|
end
|
|
@@ -244,13 +237,13 @@ module Beaker
|
|
|
244
237
|
let(:path) { '/path/to/chgrp/on' }
|
|
245
238
|
|
|
246
239
|
it 'calls the system method' do
|
|
247
|
-
expect(
|
|
248
|
-
expect(
|
|
240
|
+
expect(instance).to receive(:execute).with("chgrp #{group} #{path}").and_return(0)
|
|
241
|
+
expect(instance.chgrp(group, path)).to be === 0
|
|
249
242
|
end
|
|
250
243
|
|
|
251
244
|
it 'passes -R if recursive' do
|
|
252
|
-
expect(
|
|
253
|
-
instance.chgrp(
|
|
245
|
+
expect(instance).to receive(:execute).with("chgrp \-R #{group} #{path}")
|
|
246
|
+
instance.chgrp(group, path, true)
|
|
254
247
|
end
|
|
255
248
|
end
|
|
256
249
|
|
|
@@ -258,8 +251,8 @@ module Beaker
|
|
|
258
251
|
let(:path) { '/path/to/ls_ld' }
|
|
259
252
|
|
|
260
253
|
it 'calls the system method' do
|
|
261
|
-
expect(
|
|
262
|
-
expect(
|
|
254
|
+
expect(instance).to receive(:execute).with("ls -ld #{path}").and_return(0)
|
|
255
|
+
expect(instance.ls_ld(path)).to be === 0
|
|
263
256
|
end
|
|
264
257
|
end
|
|
265
258
|
end
|