beaker 2.52.0 → 3.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 +8 -8
- data/HISTORY.md +27034 -2
- data/acceptance/tests/base/external_resources_test.rb +7 -25
- data/acceptance/tests/base/host/host_test.rb +106 -0
- data/beaker.gemspec +13 -12
- data/docs/concepts/shared_options_for_executing_beaker_commands.md +1 -1
- data/docs/how_to/hypervisors/openstack.md +9 -0
- data/docs/how_to/test_arbitrary_beaker_versions.md +46 -0
- data/docs/how_to/upgrade_from_2_to_3.md +76 -0
- data/docs/tutorials/README.md +82 -0
- data/lib/beaker/dsl.rb +0 -2
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +2 -1
- data/lib/beaker/dsl/install_utils/windows_utils.rb +27 -1
- data/lib/beaker/host.rb +16 -1
- data/lib/beaker/host/unix/exec.rb +4 -4
- data/lib/beaker/host/unix/pkg.rb +3 -2
- data/lib/beaker/host_prebuilt_steps.rb +2 -46
- data/lib/beaker/hypervisor.rb +1 -1
- data/lib/beaker/hypervisor/openstack.rb +19 -34
- data/lib/beaker/options/presets.rb +1 -5
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +18 -4
- data/spec/beaker/dsl/helpers/web_helpers_spec.rb +26 -4
- data/spec/beaker/dsl/install_utils/windows_utils_spec.rb +47 -1
- data/spec/beaker/host/unix/pkg_spec.rb +1 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +2 -33
- data/spec/beaker/host_spec.rb +14 -2
- data/spec/beaker/hypervisor/hypervisor_spec.rb +0 -15
- data/spec/beaker/hypervisor/openstack_spec.rb +5 -0
- data/spec/helpers.rb +1 -0
- metadata +15 -105
- data/lib/beaker/hypervisor/aixer.rb +0 -48
- data/lib/beaker/hypervisor/solaris.rb +0 -59
- data/spec/beaker/hypervisor/aixer_spec.rb +0 -34
- data/spec/beaker/hypervisor/solaris_spec.rb +0 -40
@@ -1,34 +1,16 @@
|
|
1
1
|
test_name 'External Resources Test' do
|
2
|
-
step 'Verify EPEL
|
3
|
-
def epel_url_test(el_version
|
4
|
-
url = "#{
|
2
|
+
step 'Verify EPEL resources are up and available' do
|
3
|
+
def epel_url_test(el_version)
|
4
|
+
url = "#{options[:epel_url]}/epel-release-latest-#{el_version}.noarch.rpm"
|
5
5
|
curl_headers_result = default.exec(Command.new("curl -I #{url}"))
|
6
6
|
assert_match(/200 OK/, curl_headers_result.stdout, "EPEL #{el_version} should be reachable")
|
7
7
|
end
|
8
8
|
|
9
|
-
step '
|
10
|
-
|
11
|
-
|
12
|
-
step 'EPEL 6' do
|
13
|
-
epel_url_test(6, @arch, :epel_6_pkg)
|
14
|
-
end
|
15
|
-
step 'EPEL 5' do
|
16
|
-
epel_url_test(5, @arch, :epel_5_pkg)
|
9
|
+
step 'Verify el_version numbers 5,6,7 are found on the epel resource' do
|
10
|
+
[5,6,7].each do |el_version|
|
11
|
+
epel_url_test(el_version)
|
17
12
|
end
|
18
13
|
end
|
19
14
|
|
20
|
-
step 'arch is x86_64' do
|
21
|
-
@arch = 'x86_64'
|
22
|
-
step 'EPEL 7' do
|
23
|
-
# note: interpolation gets around URL change for epel 7
|
24
|
-
epel_url_test(7, "#{@arch}/e", :epel_7_pkg)
|
25
|
-
end
|
26
|
-
step 'EPEL 6' do
|
27
|
-
epel_url_test(6, @arch, :epel_6_pkg)
|
28
|
-
end
|
29
|
-
step 'EPEL 5' do
|
30
|
-
epel_url_test(5, @arch, :epel_5_pkg)
|
31
|
-
end
|
32
|
-
end
|
33
15
|
end
|
34
|
-
end
|
16
|
+
end
|
@@ -27,6 +27,112 @@ hosts.each do |host|
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
step "#get_env_var : can get a specific environment variable"
|
31
|
+
hosts.each do |host|
|
32
|
+
env_prefix = 'BEAKER' + SecureRandom.hex(4).upcase
|
33
|
+
env_param1 = "#{env_prefix}_p1"
|
34
|
+
env_value1 = "#{env_prefix}_v1"
|
35
|
+
|
36
|
+
host.clear_env_var(env_param1)
|
37
|
+
host.add_env_var(env_param1,env_value1)
|
38
|
+
|
39
|
+
val = host.get_env_var(env_param1)
|
40
|
+
|
41
|
+
assert_match(/^#{env_param1}=#{env_value1}$/, val, "get_env_var can get a specific environment variable")
|
42
|
+
end
|
43
|
+
|
44
|
+
step "#get_env_var : should not match a partial env key name"
|
45
|
+
hosts.each do |host|
|
46
|
+
env_id = 'BEAKER' + SecureRandom.hex(4).upcase
|
47
|
+
# Used as a prefix
|
48
|
+
env_param1 = "#{env_id}_pre"
|
49
|
+
env_value1 = "#{env_id}_pre"
|
50
|
+
# Used as a suffix
|
51
|
+
env_param2 = "suf_#{env_id}"
|
52
|
+
env_value2 = "suf_#{env_id}"
|
53
|
+
# Used as a infix
|
54
|
+
env_param3 = "in_#{env_id}_in"
|
55
|
+
env_value3 = "in_#{env_id}_in"
|
56
|
+
|
57
|
+
host.clear_env_var(env_param1)
|
58
|
+
host.clear_env_var(env_param2)
|
59
|
+
host.clear_env_var(env_param3)
|
60
|
+
host.add_env_var(env_param1,env_value1)
|
61
|
+
host.add_env_var(env_param1,env_value2)
|
62
|
+
host.add_env_var(env_param1,env_value3)
|
63
|
+
|
64
|
+
val = host.get_env_var(env_id)
|
65
|
+
assert('' == val,'get_env_var should not match a partial env key name')
|
66
|
+
end
|
67
|
+
|
68
|
+
step "#get_env_var : should not return a match from a key\'s value"
|
69
|
+
hosts.each do |host|
|
70
|
+
env_prefix = 'BEAKER' + SecureRandom.hex(4).upcase
|
71
|
+
env_param1 = "#{env_prefix}_p1"
|
72
|
+
env_value1 = "#{env_prefix}_v1"
|
73
|
+
|
74
|
+
host.clear_env_var(env_param1)
|
75
|
+
host.add_env_var(env_param1,env_value1)
|
76
|
+
|
77
|
+
val = host.get_env_var(env_value1)
|
78
|
+
assert('' == val,'get_env_var should not return a match from a key\'s value')
|
79
|
+
end
|
80
|
+
|
81
|
+
step "#clear_env_var : should only remove the specified key"
|
82
|
+
hosts.each do |host|
|
83
|
+
# Note - Must depend on `SecureRandom.hex(4)` creating a unique key as unable to depend on the function under test `clear_env_var`
|
84
|
+
env_id = 'BEAKER' + SecureRandom.hex(4).upcase
|
85
|
+
# Use env_id as a suffix
|
86
|
+
env_param1 = "p1_#{env_id}"
|
87
|
+
env_value1 = "v1_#{env_id}"
|
88
|
+
# Use env_id as a prefix
|
89
|
+
env_param2 = "#{env_id}_p2"
|
90
|
+
env_value2 = "#{env_id}_v2"
|
91
|
+
# Use env_id a key to delete
|
92
|
+
env_param3 = "#{env_id}"
|
93
|
+
env_value3 = "#{env_id}"
|
94
|
+
|
95
|
+
host.add_env_var(env_param1,env_value1)
|
96
|
+
host.add_env_var(env_param2,env_value2)
|
97
|
+
host.add_env_var(env_param3,env_value3)
|
98
|
+
|
99
|
+
host.clear_env_var(env_param3)
|
100
|
+
|
101
|
+
val = host.get_env_var(env_param1)
|
102
|
+
assert_match(/^#{env_param1}=#{env_value1}$/, val, "#{env_param1} should exist after calling clear_env_var")
|
103
|
+
val = host.get_env_var(env_param2)
|
104
|
+
assert_match(/^#{env_param2}=#{env_value2}$/, val, "#{env_param2} should exist after calling clear_env_var")
|
105
|
+
val = host.get_env_var(env_param3)
|
106
|
+
assert('' == val,"#{env_param3} should not exist after calling clear_env_var")
|
107
|
+
end
|
108
|
+
|
109
|
+
step "#add_env_var : can add a unique environment variable"
|
110
|
+
hosts.each do |host|
|
111
|
+
env_id = 'BEAKER' + SecureRandom.hex(4).upcase
|
112
|
+
env_param1 = "#{env_id}"
|
113
|
+
env_value1 = "#{env_id}"
|
114
|
+
# Use env_id as a prefix
|
115
|
+
env_param2 = "#{env_id}_pre"
|
116
|
+
env_value2 = "#{env_id}_pre"
|
117
|
+
# Use env_id as a suffix
|
118
|
+
env_param3 = "suf_#{env_id}"
|
119
|
+
env_value3 = "suf_#{env_id}"
|
120
|
+
|
121
|
+
host.clear_env_var(env_param1)
|
122
|
+
host.clear_env_var(env_param2)
|
123
|
+
host.clear_env_var(env_param3)
|
124
|
+
host.add_env_var(env_param1,env_value1)
|
125
|
+
host.add_env_var(env_param2,env_value2)
|
126
|
+
host.add_env_var(env_param3,env_value3)
|
127
|
+
|
128
|
+
val = host.get_env_var(env_param1)
|
129
|
+
assert_match(/^#{env_param1}=#{env_value1}$/, val, "#{env_param1} should exist")
|
130
|
+
val = host.get_env_var(env_param2)
|
131
|
+
assert_match(/^#{env_param2}=#{env_value2}$/, val, "#{env_param2} should exist")
|
132
|
+
val = host.get_env_var(env_param3)
|
133
|
+
assert_match(/^#{env_param3}=#{env_value3}$/, val, "#{env_param3} should exist")
|
134
|
+
end
|
135
|
+
|
30
136
|
step "#add_env_var : can add an environment variable"
|
31
137
|
hosts.each do |host|
|
32
138
|
host.clear_env_var("test")
|
data/beaker.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency 'rspec', '~> 3.0'
|
22
22
|
s.add_development_dependency 'rspec-its'
|
23
23
|
s.add_development_dependency 'fakefs', '~> 0.6'
|
24
|
-
s.add_development_dependency 'rake', '~>
|
24
|
+
s.add_development_dependency 'rake', '~> 11.2'
|
25
25
|
s.add_development_dependency 'simplecov'
|
26
26
|
s.add_development_dependency 'pry', '~> 0.10'
|
27
27
|
|
@@ -31,34 +31,35 @@ Gem::Specification.new do |s|
|
|
31
31
|
# Run time dependencies
|
32
32
|
s.add_runtime_dependency 'minitest', '~> 5.4'
|
33
33
|
s.add_runtime_dependency 'json', '~> 1.8'
|
34
|
+
## json: will stay <2.0 while aws-sdk-v1 is in use
|
35
|
+
## aws-sdk-2 doesn't require json, so we can give this up when we move
|
36
|
+
|
34
37
|
s.add_runtime_dependency 'hocon', '~> 1.0'
|
35
|
-
s.add_runtime_dependency 'net-ssh', '~> 2
|
38
|
+
s.add_runtime_dependency 'net-ssh', '~> 3.2'
|
36
39
|
s.add_runtime_dependency 'net-scp', '~> 1.2'
|
37
40
|
s.add_runtime_dependency 'inifile', '~> 2.0'
|
41
|
+
## inifile: keep <3.0, breaks puppet_helpers.rb:puppet_conf_for when updated
|
42
|
+
## will need to fix that to upgrade this gem
|
43
|
+
## indicating test from puppet acceptance:
|
44
|
+
## tests/security/cve-2013-1652_improper_query_params.rb
|
45
|
+
|
38
46
|
s.add_runtime_dependency 'rsync', '~> 1.0.9'
|
39
47
|
s.add_runtime_dependency 'open_uri_redirections', '~> 0.2.1'
|
40
48
|
s.add_runtime_dependency 'in-parallel', '~> 0.1'
|
41
49
|
|
42
50
|
# Run time dependencies that are Beaker libraries
|
43
|
-
s.add_runtime_dependency 'beaker-answers', '~> 0.0'
|
44
51
|
s.add_runtime_dependency 'stringify-hash', '~> 0.0'
|
45
52
|
s.add_runtime_dependency 'beaker-hiera', '~> 0.0'
|
46
|
-
s.add_runtime_dependency 'beaker-pe', '~> 0.0'
|
47
53
|
s.add_runtime_dependency 'beaker-hostgenerator'
|
48
54
|
|
49
55
|
# Optional provisioner specific support
|
50
|
-
s.add_runtime_dependency 'rbvmomi',
|
56
|
+
s.add_runtime_dependency 'rbvmomi', '~> 1.9'
|
51
57
|
s.add_runtime_dependency 'fission', '~> 0.4'
|
52
|
-
s.add_runtime_dependency 'google-api-client',
|
58
|
+
s.add_runtime_dependency 'google-api-client', '~> 0.9'
|
53
59
|
s.add_runtime_dependency 'aws-sdk-v1', '~> 1.57'
|
54
60
|
s.add_runtime_dependency 'docker-api'
|
55
|
-
s.add_runtime_dependency '
|
56
|
-
s.add_runtime_dependency 'fog-google', '~> 0.0.9' # dropped ruby 1.9 support in 0.1
|
57
|
-
s.add_runtime_dependency 'fog', ['~> 1.25', '< 1.35.0']
|
61
|
+
s.add_runtime_dependency 'fog', '~> 1.38'
|
58
62
|
|
59
63
|
# So fog doesn't always complain of unmet AWS dependencies
|
60
64
|
s.add_runtime_dependency 'unf', '~> 0.1'
|
61
|
-
# public_suffix is required by addressable, so make sure it pulls a version
|
62
|
-
# that still supports ruby 1.9.3
|
63
|
-
s.add_runtime_dependency 'public_suffix', ' < 1.5.0'
|
64
65
|
end
|
@@ -42,7 +42,7 @@ Specifies standard input to be provided to the command post execution. Defaults
|
|
42
42
|
|
43
43
|
on host, "this command takes input", {:stdin => "hiya"}
|
44
44
|
|
45
|
-
## [:run_in_parallel](how_to/run_in_parallel.md)
|
45
|
+
## [:run_in_parallel](../how_to/run_in_parallel.md)
|
46
46
|
|
47
47
|
Execute the command against all hosts in parallel
|
48
48
|
|
@@ -114,3 +114,12 @@ in the `CONFIG` section of your hosts file:
|
|
114
114
|
security_group: ['my_sg', 'default']
|
115
115
|
|
116
116
|
This is an optional config parameter.
|
117
|
+
|
118
|
+
### Floating IP Pool
|
119
|
+
|
120
|
+
The name of the floating IP pool that a VM can grab IPs from. This is useful
|
121
|
+
if your organization doesn't have a public pool of floating IPs, or give each
|
122
|
+
user their own pool. It's used in allocating new IPs. It's an options
|
123
|
+
parameter in the CONFIG section of the host file:
|
124
|
+
|
125
|
+
floating_ip_pool: 'my_pool_name'
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Test arbitrary beaker versions without modifying test code
|
2
|
+
|
3
|
+
In order to adjust the beaker version used without commiting a change to a Gemfile,
|
4
|
+
we at Puppet often use a method in our code that changes the dependency based on the
|
5
|
+
existence of ENV variables in the shell that beaker is executing from. The code
|
6
|
+
itself looks like this:
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
|
10
|
+
def location_for(place, fake_version = nil)
|
11
|
+
if place =~ /^(git[:@][^#]*)#(.*)/
|
12
|
+
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
|
13
|
+
elsif place =~ /^file:\/\/(.*)/
|
14
|
+
['>= 0', { :path => File.expand_path($1), :require => false }]
|
15
|
+
else
|
16
|
+
[place, { :require => false }]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
```
|
21
|
+
|
22
|
+
Once this method definition is in place in the Gemfile, we can call it in a gem command, like
|
23
|
+
this:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
|
27
|
+
gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '~> 2.0')
|
28
|
+
```
|
29
|
+
|
30
|
+
## Example BEAKER_VERSIONs
|
31
|
+
|
32
|
+
### git locations
|
33
|
+
|
34
|
+
```
|
35
|
+
git@github.com:puppetlabs/beaker.git#master
|
36
|
+
git://github.com/puppetlabs/beaker.git#master
|
37
|
+
```
|
38
|
+
|
39
|
+
### file locations
|
40
|
+
```
|
41
|
+
file://../relative/path/to/beaker
|
42
|
+
```
|
43
|
+
By adjusting the shell environment that beaker is running in, we can modify what version of
|
44
|
+
beaker is installed by bundler on your test coordinator without modifying any of the test
|
45
|
+
code. This strategy can be used for any gem dependency, and is often used when testing
|
46
|
+
[beaker libraries](../concepts/beaker_libraries.md) at Puppet.
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# How To Upgrade from 2.y to 3.0
|
2
|
+
|
3
|
+
This is a guide detailing all the issues to be aware of, and to help people make
|
4
|
+
any changes that you might need to move from beaker 2.y to 3.0. To test out
|
5
|
+
beaker 3.0.0, we recommend implementing the strategy outlined [here](test_arbitrary_beaker_versions.md)
|
6
|
+
to ensure this new major release does not break your existing testing.
|
7
|
+
|
8
|
+
## Locally Cached Files
|
9
|
+
|
10
|
+
This is a change of the `:cache_files_locally` preset from `true` to `false`.
|
11
|
+
|
12
|
+
At this time, the `:cache_files_locally` setting only affects the
|
13
|
+
[`fetch_http_file` method](https://github.com/puppetlabs/beaker/blob/master/lib/beaker/dsl/helpers/web_helpers.rb#L44).
|
14
|
+
This is an internal method used in both Puppet Enterprise (PE) and Open Source
|
15
|
+
Puppet install helpers to download files from the internet to the Beaker
|
16
|
+
coordinator.
|
17
|
+
|
18
|
+
If a file with the same destination name already exists on the coordinator,
|
19
|
+
Beaker would not fetch the file and use the cached copy instead. In general,
|
20
|
+
this wasn't a big problem because we typically have our version numbers in our
|
21
|
+
install artifacts, so file name matching is enough. In our Windows MSI
|
22
|
+
installers, however, we would many times not have versions built into the file
|
23
|
+
name. Since that's the case, you could get an old version installed because it
|
24
|
+
was already on your coordinator filesystem. The `:cache_files_locally` setting
|
25
|
+
allows you to set whether you want to use a local file cache, or get fresh
|
26
|
+
installers every time. This setting is now set to false, and will get installers
|
27
|
+
from the online source every time.
|
28
|
+
|
29
|
+
If you'd like to keep this setting the way it was in 2.y, then just set the
|
30
|
+
global option `:cache_files_locally` to `false`. Checkout the
|
31
|
+
[Argument Processing and Precedence](../concepts/argument_processing_and_precedence.md)
|
32
|
+
doc for info on how to do this.
|
33
|
+
|
34
|
+
## EPEL package update
|
35
|
+
|
36
|
+
In beaker < 3.0.0, the epel package names had hardcoded defaults listed in the
|
37
|
+
presets default; in beaker >= 3.0.0, beaker utilizes the `release-latest` file
|
38
|
+
provided on epel mirrors for el versions 5, 6, and 7. Since only the latest epel
|
39
|
+
packages are available on epel mirrors, beaker only supports installation of
|
40
|
+
that latest version.
|
41
|
+
|
42
|
+
## Solaris and AIX Hypervisors removed
|
43
|
+
|
44
|
+
Special cased hypervisor support for Solaris and AIX have been removed in favor
|
45
|
+
of a `hypervisor=none` workflow where the provisioning of SUTs is handled separately
|
46
|
+
outside of beaker itself. Solaris and AIX are still of course supported as `platform`
|
47
|
+
strings; only these special-cased hypervisors have been removed.
|
48
|
+
|
49
|
+
## Environment Variable DSL Methods
|
50
|
+
|
51
|
+
In [BKR-914](https://tickets.puppetlabs.com/browse/BKR-914) we fixed our host
|
52
|
+
methods that deal with environment variables (
|
53
|
+
[#add_env_var](http://www.rubydoc.info/github/puppetlabs/beaker/Unix/Exec#add_env_var-instance_method),
|
54
|
+
[#get_env_var](http://www.rubydoc.info/github/puppetlabs/beaker/Unix/Exec#get_env_var-instance_method),
|
55
|
+
and
|
56
|
+
[#clear_env_var](http://www.rubydoc.info/github/puppetlabs/beaker/Unix/Exec#clear_env_var-instance_method)).
|
57
|
+
|
58
|
+
Before, these methods used regular expressions that were too loose. This means
|
59
|
+
that in an example of a call like `get_env_var('abc')`, the environment variables
|
60
|
+
`abc=123`, `xx_abc_xx=123`, and `123=abc` would all be matched, where the intent
|
61
|
+
is to get `abc=123` alone. From Beaker 3.0 forward, this will be the case.
|
62
|
+
|
63
|
+
## beaker-pe Import Changes
|
64
|
+
|
65
|
+
Starting in beaker 3.0, there is no explicit beaker-pe requirement in beaker. This
|
66
|
+
separates the two, meaning that you'll have to explicitly require beaker-pe if you
|
67
|
+
do need it in your testing. And if you don't need it, you won't get it, limiting
|
68
|
+
your dependencies & exposure to unnecessary code.
|
69
|
+
|
70
|
+
Luckily, if you do need it, this shouldn't be hard to update. These are the steps
|
71
|
+
needed to use beaker-pe with beaker 3.0:
|
72
|
+
|
73
|
+
1. put a dependency on beaker-pe in your Gemfile as a sibling to your beaker
|
74
|
+
requirement (make sure beaker-pe is >= 1.0)
|
75
|
+
2. put a `require 'beaker-pe'` statement where you'd like to use beaker-pe-specific
|
76
|
+
functionality
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Tutorials
|
2
|
+
|
3
|
+
This doc is here to help you get acquainted with beaker
|
4
|
+
and how we run our acceptance tests at Puppet. We'll go
|
5
|
+
over the purpose of each doc, giving you an idea of when
|
6
|
+
you might need each one. The list has been organized as
|
7
|
+
a learning guide for someone new to using beaker, so be
|
8
|
+
aware of that if you're just dipping into a topic.
|
9
|
+
|
10
|
+
For more high level & motivation topics, checkout our
|
11
|
+
[concepts docs](../concepts). If you're looking for
|
12
|
+
more details on a topic than what is provided in the
|
13
|
+
tutorials, checkout our [how to docs](../how_to). And
|
14
|
+
if you'd like API level details, feel free to skip on
|
15
|
+
over to our
|
16
|
+
[Rubydocs](http://www.rubydoc.info/github/puppetlabs/beaker/frames).
|
17
|
+
And without further pre-amble, we beaker!
|
18
|
+
|
19
|
+
## Installation
|
20
|
+
|
21
|
+
If you haven't installed beaker yet, your guide to doing
|
22
|
+
so can be found [here](installation.md).
|
23
|
+
|
24
|
+
## Quick Start
|
25
|
+
|
26
|
+
As a completely new beaker user, the
|
27
|
+
[quick start rake tasks doc](quick_start_rake_tasks.md)
|
28
|
+
will take you through getting beaker running for the
|
29
|
+
first time.
|
30
|
+
|
31
|
+
## OK, We're Running. Now What?
|
32
|
+
|
33
|
+
This is where things get interesting. There are a
|
34
|
+
number of directions you can go, based on your needs.
|
35
|
+
Here's a list of the common directions people take at
|
36
|
+
this point.
|
37
|
+
|
38
|
+
### Test Writing
|
39
|
+
|
40
|
+
Most people reading this doc are in Quality orgs, or
|
41
|
+
are developers who need to get some testing done for
|
42
|
+
their current work. If getting a particular bit of
|
43
|
+
testing done is your next step, this is the direction
|
44
|
+
for you.
|
45
|
+
|
46
|
+
Checkout our [let's write a test](lets_write_a_test.md)
|
47
|
+
to start with test writing!
|
48
|
+
|
49
|
+
### Running Beaker Itself
|
50
|
+
|
51
|
+
For the quick start guide, we resorted to using rake
|
52
|
+
tasks to get beaker running quickly and easily. In
|
53
|
+
the real world, people need much more customization
|
54
|
+
out of their testing environments. One of the main
|
55
|
+
ways people provide these options is through
|
56
|
+
command line arguments.
|
57
|
+
|
58
|
+
If you want to find out more about running beaker
|
59
|
+
itself, checkout [the command line](the_command_line.md).
|
60
|
+
|
61
|
+
### Environment Details
|
62
|
+
|
63
|
+
If you don't need to get your tests running _anywhere_,
|
64
|
+
but need them on a ton of Operating Systems (OSes),
|
65
|
+
then your next stop is setting up your test environment.
|
66
|
+
|
67
|
+
Our
|
68
|
+
[creating a test environment doc](creating_a_test_environment.md)
|
69
|
+
is the next spot for you!
|
70
|
+
|
71
|
+
### High Level Execution Details
|
72
|
+
|
73
|
+
For a higher level look at what happens during beaker
|
74
|
+
execution, which we call a _run_, checkout our
|
75
|
+
[test run doc](test_run.md). A _run_ is an entire
|
76
|
+
beaker execution cycle, from when the command is run
|
77
|
+
until beaker exits.
|
78
|
+
|
79
|
+
As one phase of a test run, the test suites are executed.
|
80
|
+
To get more information about the test suites that
|
81
|
+
are available, and how you configure them, you can
|
82
|
+
checkout our [test suites doc](test_suites.md).
|
data/lib/beaker/dsl.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require "beaker/dsl/#{lib}"
|
4
4
|
end
|
5
5
|
|
6
|
-
require 'beaker-pe'
|
7
6
|
module Beaker
|
8
7
|
# This is a catch all module for including Puppetlabs home grown testing
|
9
8
|
# DSL. This module is mixed into {Beaker::TestCase} and can be
|
@@ -80,7 +79,6 @@ module Beaker
|
|
80
79
|
include Beaker::DSL::Helpers
|
81
80
|
include Beaker::DSL::InstallUtils
|
82
81
|
include Beaker::DSL::Patterns
|
83
|
-
include Beaker::DSL::PE
|
84
82
|
|
85
83
|
def self.register(helper_module)
|
86
84
|
include helper_module
|