beaker 3.35.0 → 3.36.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +32 -9
- data/CHANGELOG.md +15 -1
- data/CONTRIBUTING.md +37 -31
- data/DOCUMENTING.md +68 -44
- data/README.md +14 -31
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +3 -3
- data/beaker.gemspec +1 -1
- data/docs/README.md +5 -12
- data/docs/concepts/beaker_libraries.md +2 -2
- data/docs/concepts/glossary.md +11 -0
- data/docs/concepts/style_guide.md +24 -91
- data/docs/concepts/test_tagging.md +3 -10
- data/docs/concepts/testing_beaker_itself.md +3 -2
- data/docs/concepts/ticket_process.md +17 -45
- data/docs/how_to/archive_sut_files.md +7 -33
- data/docs/how_to/change_terminal_output_coloring.md +7 -4
- data/docs/how_to/confine.md +5 -16
- data/docs/how_to/debug_beaker_tests.md +14 -6
- data/docs/how_to/hosts/README.md +2 -5
- data/docs/how_to/hosts/archlinux.md +4 -2
- data/docs/how_to/hosts/cisco.md +9 -30
- data/docs/how_to/hosts/eos.md +5 -14
- data/docs/how_to/hypervisors/README.md +9 -31
- data/docs/how_to/install_puppet.md +16 -51
- data/docs/how_to/platform_specific_tag_confines.md +11 -31
- data/docs/how_to/preserve_hosts.md +13 -54
- data/docs/how_to/rake_tasks.md +1 -4
- data/docs/how_to/recipes.md +9 -2
- data/docs/how_to/run_in_parallel.md +10 -10
- data/docs/how_to/ssh_agent_forwarding.md +8 -13
- data/docs/how_to/ssh_connection_preference.md +10 -10
- data/docs/how_to/test_arbitrary_beaker_versions.md +5 -12
- data/docs/how_to/the_beaker_dsl.md +44 -21
- data/docs/how_to/upgrade_from_2_to_3.md +13 -53
- data/docs/how_to/use_hocon_helpers.md +10 -28
- data/docs/how_to/use_user_password_authentication.md +13 -10
- data/docs/how_to/write_a_beaker_test_for_a_module.md +6 -2
- data/docs/tutorials/README.md +14 -55
- data/docs/tutorials/creating_a_test_environment.md +47 -52
- data/docs/tutorials/installation.md +57 -21
- data/docs/tutorials/lets_write_a_test.md +8 -1
- data/docs/tutorials/quick_start_rake_tasks.md +63 -62
- data/docs/tutorials/subcommands.md +19 -32
- data/docs/tutorials/test_run.md +14 -16
- data/docs/tutorials/test_suites.md +14 -43
- data/docs/tutorials/the_command_line.md +14 -2
- data/lib/beaker/host/unix/pkg.rb +9 -2
- data/lib/beaker/host_prebuilt_steps.rb +1 -1
- data/lib/beaker/shared/host_manager.rb +6 -3
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/host/unix/pkg_spec.rb +66 -17
- data/spec/beaker/host/unix_spec.rb +4 -4
- data/spec/beaker/host_prebuilt_steps_spec.rb +10 -6
- data/spec/beaker/hypervisor/hypervisor_spec.rb +2 -2
- data/spec/beaker/shared/host_manager_spec.rb +8 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d09c76b61894b47c8131999162c587bc7430888d
|
4
|
+
data.tar.gz: 87c6c59e580f70e2aeabdee1b8705d4ed67830d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56f5aded90aa96fe6783706b8b2fc7c264d65d4e8e718283135320760797be9a9c274f4016ce2b7d8d0a8e84c60cf64db410b1810140fddf707ec963b7f12b9e
|
7
|
+
data.tar.gz: 7aaca5742753ddb30f74cf6c602a0e162b4bbe1e655e5f6b33b433be9649cf0ee93634069e022505377b97a0f175391f84f30ef6bb0ef63839ec2a6dd592464c
|
data/.gitignore
CHANGED
@@ -1,20 +1,46 @@
|
|
1
|
-
*.swp
|
2
|
-
log/*
|
3
1
|
!.gitignore
|
2
|
+
|
3
|
+
# Gem structure
|
4
4
|
junit
|
5
5
|
acceptance-tests
|
6
6
|
pkg
|
7
7
|
Gemfile.lock
|
8
|
-
|
8
|
+
|
9
|
+
# Beaker-generated & local testing
|
9
10
|
test.cfg
|
11
|
+
options.rb
|
12
|
+
merged_options.rb
|
13
|
+
tmp/
|
14
|
+
log/
|
15
|
+
sut-files.tgz
|
16
|
+
|
17
|
+
# YARD
|
10
18
|
.yardoc
|
11
19
|
yard_docs
|
12
|
-
|
20
|
+
doc
|
21
|
+
|
22
|
+
# Dependencies
|
23
|
+
# NOTE: For consistency, please use `vendor/bundle` for Bundler-installed dependencies
|
13
24
|
.bundle
|
14
25
|
.vendor
|
15
26
|
_vendor
|
16
|
-
|
17
|
-
|
27
|
+
vendor
|
28
|
+
|
29
|
+
# Byebug
|
30
|
+
.byebugrc
|
31
|
+
.byebug_history
|
32
|
+
|
33
|
+
# SimpleCov
|
34
|
+
coverage
|
35
|
+
|
36
|
+
|
37
|
+
#
|
38
|
+
# Editor/IDE Clutter
|
39
|
+
#
|
40
|
+
# (TODO: consider removing these; use local personal .gitignore instead)
|
41
|
+
|
42
|
+
# Vim
|
43
|
+
*.swp
|
18
44
|
# JetBrains IDEA
|
19
45
|
*.iml
|
20
46
|
.idea/
|
@@ -24,6 +50,3 @@ doc
|
|
24
50
|
# Vagrant folder
|
25
51
|
.vagrant/
|
26
52
|
.vagrant_files/
|
27
|
-
# Byebug
|
28
|
-
.byebugrc
|
29
|
-
.byebug_history
|
data/CHANGELOG.md
CHANGED
@@ -11,7 +11,21 @@ Tracking in this Changelog began for this project in version 3.25.0.
|
|
11
11
|
If you're looking for changes from before this, refer to the project's
|
12
12
|
git logs & PR history.
|
13
13
|
|
14
|
-
# [Unreleased](https://github.com/puppetlabs/beaker/compare/3.
|
14
|
+
# [Unreleased](https://github.com/puppetlabs/beaker/compare/3.36.0...master)
|
15
|
+
|
16
|
+
# [3.36.0](https://github.com/puppetlabs/beaker/compare/3.35.0...3.36.0) - 2018-06-18
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- Raise `ArgumentError` when passing `role = nil` to `only_host_with_role()` or `find_at_most_one_host_with_role()`
|
21
|
+
- Use `install_package_with_rpm` in `add_el_extras`
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Installation instructions for contributors
|
26
|
+
- Markdown formatting guidelines for `docs/`
|
27
|
+
- Glossary for project jargon in [`docs/concepts/glossary.md`](docs/concepts/glossary.md)
|
28
|
+
- Use AIX 6.1 packages everywhere for puppet6
|
15
29
|
|
16
30
|
# [3.35.0](https://github.com/puppetlabs/beaker/compare/3.34.0...3.35.0) - 2018-05-16
|
17
31
|
|
data/CONTRIBUTING.md
CHANGED
@@ -1,41 +1,42 @@
|
|
1
1
|
# How To Contribute To Beaker
|
2
2
|
|
3
|
+
Contributions are welcomed. Simple bug fixes and minor enhancements will usually be accepted. Larger features should be discussed with a team member before you invest in developing them with the expectation that they will be merged.
|
4
|
+
|
3
5
|
## Getting Started
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
*
|
7
|
+
Beaker does not use GitHub Issues, but an internal ticketing system running Jira that interfaces with other services. To be accepted by the maintainers, changes must follow this workflow and tagging scheme. See [ticket process doc](docs/concepts/ticket_process.md) for a
|
8
|
+
|
9
|
+
* Create a [Jira account](http://tickets.puppetlabs.com).
|
10
|
+
* Make sure you have a [GitHub account](https://github.com/signup/free).
|
11
|
+
* Submit a ticket for your issue on Jira, assuming one does not already exist.
|
8
12
|
* Clearly describe the issue including steps to reproduce when it is a bug.
|
9
|
-
* File
|
10
|
-
* Fork the [Beaker repository on GitHub](https://github.com/puppetlabs/beaker)
|
13
|
+
* File the ticket in the [BKR project](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR).
|
14
|
+
* Fork the [Beaker repository on GitHub](https://github.com/puppetlabs/beaker).
|
15
|
+
* [Get Beaker set up for development](docs/tutorials/installation.md#for-development).
|
11
16
|
|
12
17
|
## Making Changes
|
13
18
|
|
14
|
-
* Create a topic branch
|
15
|
-
|
16
|
-
*
|
17
|
-
*
|
18
|
-
|
19
|
-
|
20
|
-
````
|
19
|
+
* Create a topic branch on your fork of [puppetlabs/beaker](https://github.com/puppetlabs/beaker).
|
20
|
+
* Make commits of logical units. If your commits are a mess, you may be asked to [rebase or at least squash](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) your PR.
|
21
|
+
* Check for unnecessary whitespace with `git diff --check` before committing.
|
22
|
+
* Make sure your commit messages are in the proper format:
|
23
|
+
```
|
21
24
|
(BKR-1234) Make the example in CONTRIBUTING imperative and concrete
|
22
25
|
|
23
|
-
Without this patch applied the example commit message in the CONTRIBUTING
|
24
|
-
document is not a concrete example. This is a problem because the
|
25
|
-
contributor is left to imagine what the commit message should look like
|
26
|
-
based on a description rather than an example. This patch fixes the
|
27
|
-
problem by making the example concrete and imperative.
|
26
|
+
Without this patch applied the example commit message in the CONTRIBUTING document is not a concrete example. This is a problem because the contributor is left to imagine what the commit message should look like based on a description rather than an example. This patch fixes the problem by making the example concrete and imperative.
|
28
27
|
|
29
|
-
The first line is a real life imperative statement with a ticket number
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
The first line is a real life imperative statement with a ticket number from our issue tracker. The body describes the behavior without the patch, why this is a problem, and how the patch fixes the problem when applied.
|
29
|
+
```
|
30
|
+
* During the time that you are working on your patch the master Beaker branch may have changed - be sure to [rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) on top of [Beaker's](https://github.com/puppetlabs/beaker) master branch before you submit your PR. A successful rebase ensures that your PR will merge cleanly.
|
31
|
+
|
32
|
+
#### Courtesy
|
33
33
|
|
34
|
-
|
34
|
+
Please do not introduce personal ignores into the `.gitignore`, such as IDE configurations, editor version files, or personal testing artefacts. You may find it valuable to add the first two to [a global ignore](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore), and the third to [a repository-level ignore](https://help.github.com/articles/ignoring-files/#explicit-repository-excludes).
|
35
35
|
|
36
36
|
### Testing
|
37
37
|
|
38
|
-
|
38
|
+
Submitted PR's will be tested in a series of spec and acceptance level tests - the results of these tests will be evaluated by a Beaker team member, as acceptance test results are not accessible by the public. Testing failures that require code changes will be communicated in the PR discussion.
|
39
|
+
|
39
40
|
* Make sure you have added [RSpec](http://rspec.info/) tests that exercise your new code. These test should be located in the appropriate `beaker/spec/` subdirectory. The addition of new methods/classes or the addition of code paths to existing methods/classes requires additional RSpec coverage.
|
40
41
|
* Beaker uses RSpec 3.1.0+, and you should **NOT USE** deprecated `should`/`stub` methods - **USE** `expect`/`allow`. See a nice blog post from 2013 on [RSpec's new message expectation syntax](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/).
|
41
42
|
* Run the tests to assure nothing else was accidentally broken, using `rake test`
|
@@ -44,20 +45,23 @@
|
|
44
45
|
### Documentation
|
45
46
|
|
46
47
|
* Add an entry in the [CHANGELOG.md](CHANGELOG.md). Refer to the CHANGELOG itself for message style/form details.
|
47
|
-
* Make sure that you have added documentation using [
|
48
|
+
* Make sure that you have added documentation using [YARD](http://yardoc.org/) as necessary for any new code introduced. See [DOCUMENTING](DOCUMENTING.md).
|
48
49
|
* More user friendly documentation will be required for PRs unless exempted. Documentation lives in the [docs/ folder](docs).
|
49
50
|
|
50
|
-
## Making
|
51
|
+
## Making Changes Without a Ticket
|
52
|
+
|
53
|
+
The following kinds of changes are made without a corresponding Jira ticket.
|
51
54
|
|
52
55
|
### Maintenance
|
53
56
|
|
54
|
-
For changes of a trivial nature, it is not always necessary to create a new ticket in Jira. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
|
57
|
+
For changes of a trivial nature, it is not always necessary to create a new ticket in Jira. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
|
55
58
|
|
56
59
|
````
|
57
|
-
(MAINT) Fix whitespace
|
60
|
+
(MAINT) Fix whitespace
|
58
61
|
|
59
62
|
- remove additional spaces that appear at EOL
|
60
63
|
````
|
64
|
+
|
61
65
|
### Version Bump For Gem Release
|
62
66
|
|
63
67
|
To prepare for a new gem release of Beaker the `version.rb` file is updated with the upcoming gem version number. This is submitted with `(GEM)` instead of a ticket/issue number.
|
@@ -65,6 +69,7 @@ To prepare for a new gem release of Beaker the `version.rb` file is updated with
|
|
65
69
|
````
|
66
70
|
(GEM) Update version for Beaker 1.16.1
|
67
71
|
````
|
72
|
+
|
68
73
|
### History File Update
|
69
74
|
|
70
75
|
To prepare for a new gem release of Beaker (after the version has been bumped) the `HISTORY.md` file is updated with the latest GitHub log. This is submitted with `(HISTORY)` instead of a ticket/issue number.
|
@@ -72,17 +77,18 @@ To prepare for a new gem release of Beaker (after the version has been bumped) t
|
|
72
77
|
````
|
73
78
|
(HISTORY) Update history for release of Beaker 1.16.1
|
74
79
|
````
|
80
|
+
|
75
81
|
## Submitting Changes
|
76
82
|
|
77
83
|
* Push your changes to a topic branch in your fork of the repository.
|
78
84
|
* Submit a pull request to [Beaker](https://github.com/puppetlabs/beaker)
|
79
|
-
* Update your ticket
|
80
|
-
|
81
|
-
|
82
|
-
* PRs are reviewed as time permits.
|
85
|
+
* Update your [Jira](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR) ticket to mark that you have submitted code and are ready for it to be considered for merge (Status: Ready for Merge).
|
86
|
+
|
87
|
+
PRs are reviewed as time permits.
|
83
88
|
|
84
89
|
# Additional Resources
|
85
90
|
|
91
|
+
* [Beaker Glossary](docs/concepts/glossary.md)
|
86
92
|
* [Puppet community guidelines](https://docs.puppet.com/community/community_guidelines.html)
|
87
93
|
* [Bug tracker (Jira)](http://tickets.puppetlabs.com)
|
88
94
|
* [BKR Jira Project](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR)
|
data/DOCUMENTING.md
CHANGED
@@ -1,15 +1,49 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
# Contributing Documentation to Beaker
|
3
3
|
|
4
|
+
## Documents
|
4
5
|
|
5
|
-
|
6
|
-
summary of documentation expectations and finally a short reference
|
7
|
-
for those new to YARD.
|
6
|
+
Beyond the usual README, Beaker has an ever-growing amount of written documentation including tutorials, recipes, and other helpful information (see [docs/](docs)). Changes larger than bug fixes will usually be required to include such user-friendly documentation.
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
## Style
|
9
|
+
|
10
|
+
User-friendly Documentation (tutorials, how-tos, etc.) uses [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/). We adopt the following conventions.
|
11
|
+
|
12
|
+
### Text
|
13
|
+
|
14
|
+
- Don't hard-wrap text blocks (including lists). There is disagreement about the ideal editor width, so don't hard-wrap text. Code blocks may be wrapped as appropriate.
|
15
|
+
|
16
|
+
### Lists
|
17
|
+
|
18
|
+
- Use `-` lists to avoid confusion with `*emphasis*`.
|
19
|
+
- Be sure to indent code blocks within list items.
|
20
|
+
|
21
|
+
### Headers
|
22
|
+
|
23
|
+
- Use Markdown Headers.
|
24
|
+
- Always place a blank line before and after headers.
|
25
|
+
|
26
|
+
### Code
|
27
|
+
|
28
|
+
- Use inline code for snippets (paths, file names, variables, partial commands, etc.)
|
29
|
+
- Use fenced blocks for code of one full line or greater
|
30
|
+
- Offset fenced blocks with whitespace before and after, except in list items.
|
31
|
+
- Mark the language of code blocks:
|
32
|
+
~~~
|
33
|
+
```console
|
34
|
+
$ beaker --help
|
35
|
+
```
|
36
|
+
~~~
|
37
|
+
Supported languages are documented [here](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). You will probably be using `console`, `ruby`, `puppet`, or `yaml` most of the time.
|
38
|
+
- It's nice to provide a shebang (`$`) in console examples to distinguish input from output.
|
39
|
+
|
40
|
+
## Inline
|
12
41
|
|
42
|
+
All inline/generated documentation uses [YARD](http://yardoc.org/). Below is an example usage, a quick summary of documentation expectations, and finally a short reference for those new to YARD.
|
43
|
+
|
44
|
+
They say a picture is worth a thousand words, hopefully this example will be worth more than the 154 it’s composed of:
|
45
|
+
|
46
|
+
```ruby
|
13
47
|
#
|
14
48
|
# @param [Array<Host>, Host, #execute] hosts The host(s) to act on
|
15
49
|
# @param [String] action The action to perform
|
@@ -44,15 +78,11 @@ be worth more than the 154 it’s composed of:
|
|
44
78
|
yield result if block_given?
|
45
79
|
end
|
46
80
|
end
|
47
|
-
|
48
81
|
```
|
49
82
|
|
83
|
+
## Documentation Guide
|
50
84
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
Most of our documentation is done with the @tag syntax. With a few
|
55
|
-
execptions tags follow this format:
|
85
|
+
Most of our documentation is done with the @tag syntax. With a few execptions tags follow this format:
|
56
86
|
|
57
87
|
@tag [TypeOfValueInBrackets] nameOfValue Multi-word description that
|
58
88
|
can span multiple lines, as long as lines after the first have
|
@@ -60,71 +90,65 @@ execptions tags follow this format:
|
|
60
90
|
|
61
91
|
Note: The `tag` name and the `nameOfValue` in question cannot contain spaces.
|
62
92
|
|
63
|
-
All sections should be considered mandatory, but in practice a committer
|
64
|
-
can walk a contributor through the process and help ensure a high quality
|
65
|
-
of documentation. When contributing keep especially in mind that an
|
93
|
+
All sections should be considered mandatory, but in practice a committer can walk a contributor through the process and help ensure a high quality of documentation. When contributing keep especially in mind that an
|
66
94
|
`@example` block will go a long way in helping understand the use case
|
67
|
-
(which also encourages use by others) and the @api tag helps to understand
|
68
|
-
the scope of a Pull Request.
|
95
|
+
(which also encourages use by others) and the @api tag helps to understand the scope of a Pull Request.
|
69
96
|
|
70
|
-
Please be liberal with whitespace (not trailing whitespace) and vertical
|
71
|
-
alignment as it helps readability while “in code”. Default indentation
|
72
|
-
is two spaces unless there are readability/vertical alignment concerns.
|
97
|
+
Please be liberal with whitespace (not trailing whitespace) and vertical alignment as it helps readability while “in code”. Default indentation is two spaces unless there are readability/vertical alignment concerns.
|
73
98
|
|
74
|
-
While the `@params`, `@returns`, etc... may seem redundant they encourage
|
75
|
-
thinking through exactly what you are doing and because of their strict
|
76
|
-
format they allow a level of tooling not available in regular ruby.
|
99
|
+
While the `@params`, `@returns`, etc... may seem redundant, they encourage thinking through exactly what you are doing and because of their strict format they allow a level of tooling not available in regular Ruby.
|
77
100
|
|
78
101
|
You are encouraged to run the YARD documentation server locally by:
|
79
102
|
|
80
|
-
|
103
|
+
```console
|
104
|
+
$ rake docs
|
105
|
+
```
|
81
106
|
|
82
107
|
or
|
83
108
|
|
84
|
-
|
109
|
+
```console
|
110
|
+
$ rake docs:bg
|
111
|
+
```
|
85
112
|
|
86
113
|
depending on whether you want the server to run in the foreground or not
|
87
114
|
|
88
|
-
Wait for the documentation to compile and then point your browser to:
|
89
|
-
|
90
|
-
http://localhost:8808
|
91
|
-
|
115
|
+
Wait for the documentation to compile and then point your browser to [http://localhost:8808](http://localhost:8808).
|
92
116
|
|
93
|
-
## A Simple YARD Reference: ##
|
94
117
|
|
118
|
+
## A Simple YARD Reference
|
95
119
|
|
96
120
|
A Hash that must be in `{:symbol => ‘string’}` format:
|
97
121
|
|
98
122
|
@param [Hash<Symbol, String>] my_hash
|
99
123
|
|
100
|
-
This is also valid, and maybe more obvious to those used to Ruby
|
124
|
+
This is also valid, and maybe more obvious to those used to Ruby:
|
101
125
|
|
102
126
|
@param [Hash{Symbol=>String}]
|
103
127
|
|
104
|
-
When specifying an options hash you use
|
128
|
+
When specifying an options hash you use `@option` to specify keys/values:
|
105
129
|
|
106
130
|
@param [Hash{Symbol=>String}] my_opts An options hash
|
107
131
|
@option my_opts [ClassOfValue] :key_in_question A Description
|
108
132
|
@option my_opts [Fixnum] :log_level The log level to run in.
|
109
133
|
@option my_opts [Boolean] :turbo (true) Who doesn’t want turbos?
|
110
134
|
|
111
|
-
This parameter takes an unordered list of Strings, Fixnums, and Floats
|
135
|
+
This parameter takes an unordered list of Strings, Fixnums, and Floats:
|
112
136
|
|
113
137
|
@param [Array<String, Fixnum, Float>]
|
114
138
|
|
115
|
-
This is an ordered list of String, then Fixnum
|
139
|
+
This is an ordered list of String, then Fixnum:
|
116
140
|
|
117
141
|
@param [Array<(String, Fixnum)>]
|
118
142
|
|
119
|
-
This is a parameter that needs to implement certain methods
|
143
|
+
This is a parameter that needs to implement certain methods:
|
120
144
|
|
121
145
|
@param [#[], #to_s]
|
122
146
|
|
123
|
-
This documents that a method may return any of the types listed
|
147
|
+
This documents that a method may return any of the types listed:
|
124
148
|
|
125
149
|
@return [String, self, nil]
|
126
150
|
|
127
|
-
This is the return statement for a method only used for side effects
|
151
|
+
This is the return statement for a method only used for side effects:
|
128
152
|
|
129
153
|
@return [void]
|
130
154
|
|
@@ -136,11 +160,11 @@ List possible classes that the method may raise:
|
|
136
160
|
|
137
161
|
@raise [Beaker::PendingTest]
|
138
162
|
|
139
|
-
List parameter names yielded by a method
|
163
|
+
List parameter names yielded by a method:
|
140
164
|
|
141
165
|
@yield [result, self]
|
142
166
|
|
143
|
-
And specify what kind of object is yielded
|
167
|
+
And specify what kind of object is yielded:
|
144
168
|
|
145
169
|
@yieldparam [Result] result
|
146
170
|
|
@@ -149,19 +173,19 @@ An `example` block contains a tag, description and then indented code:
|
|
149
173
|
@example Accessing Host defaults using hash syntax
|
150
174
|
host[‘platform’] #=> ‘debian-6-amd64’
|
151
175
|
|
152
|
-
The `api` tag can have anything behind it, please use the following
|
153
|
-
when documenting harness methods:
|
176
|
+
The `api` tag can have anything behind it, please use the following when documenting harness methods:
|
154
177
|
|
155
178
|
@api dsl Part of the testing dsl used within tests
|
156
179
|
@api public Methods third party integrations can rely on
|
157
180
|
@api private Methods private to the harness, not to be used externally
|
158
181
|
|
159
|
-
When deprecating a method include information on newer alternatives
|
182
|
+
When deprecating a method include information on newer alternatives:
|
160
183
|
|
161
184
|
@deprecated This method is horrible. Please use {#foo} or {#bar}.
|
162
185
|
|
163
|
-
When you want to reference other information use
|
186
|
+
When you want to reference other information use:
|
164
187
|
|
165
188
|
@see ClassOrModule
|
189
|
+
@see #other_method
|
166
190
|
@see http://web.url.com/reference Title for the link
|
167
191
|
|
data/README.md
CHANGED
@@ -1,14 +1,8 @@
|
|
1
1
|
# Beaker
|
2
2
|
|
3
|
-
Beaker is a test harness focused on acceptance testing via interactions
|
4
|
-
between multiple (virtual) machines. It provides platform abstraction between
|
5
|
-
different Systems Under Test (SUTs), and it can also be used as a virtual machine
|
6
|
-
provisioner - setting up machines, running any commands on those machines,
|
7
|
-
and then exiting.
|
3
|
+
Beaker is a test harness focused on acceptance testing via interactions between multiple (virtual) machines. It provides platform abstraction between different Systems Under Test (SUTs), and it can also be used as a virtual machine provisioner - setting up machines, running any commands on those machines, and then exiting.
|
8
4
|
|
9
|
-
Beaker runs tests written in Ruby, and provides additional Domain-Specific
|
10
|
-
Language (DSL) methods. This gives you access to all standard Ruby along with
|
11
|
-
acceptance testing specific commands.
|
5
|
+
Beaker runs tests written in Ruby, and provides additional Domain-Specific Language (DSL) methods. This gives you access to all standard Ruby along with acceptance testing specific commands.
|
12
6
|
|
13
7
|
# Installation
|
14
8
|
|
@@ -21,24 +15,14 @@ Documentation for Beaker can be found in this repository in
|
|
21
15
|
|
22
16
|
## Table of Contents
|
23
17
|
|
24
|
-
- [Tutorials](docs/tutorials) take you by the hand through the steps to setup a
|
25
|
-
|
26
|
-
- [
|
27
|
-
|
28
|
-
- [Rubydocs](http://rubydoc.info/github/puppetlabs/beaker/frames) contains the
|
29
|
-
technical reference for APIs and other aspects of Beaker. They describe how it
|
30
|
-
works and how to use it but assume that you have a basic understanding of key concepts.
|
31
|
-
- [How-to guides](docs/how_to) are recipes. They guide you through the steps
|
32
|
-
involved in addressing key problems and use-cases. They are more advanced than
|
33
|
-
tutorials and assume some knowledge of how Beaker works.
|
18
|
+
- [Tutorials](docs/tutorials) take you by the hand through the steps to setup a beaker run. Start here if you’re new to Beaker or test development.
|
19
|
+
- [Concepts](docs/concepts) discuss key topics and concepts at a fairly high level and provide useful background information and explanation.
|
20
|
+
- [Rubydocs](http://rubydoc.info/github/puppetlabs/beaker/frames) contains the technical reference for APIs and other aspects of Beaker. They describe how it works and how to use it but assume that you have a basic understanding of key concepts.
|
21
|
+
- [How-to guides](docs/how_to) are recipes. They guide you through the steps involved in addressing key problems and use-cases. They are more advanced than tutorials and assume some knowledge of how Beaker works.
|
34
22
|
|
35
23
|
# Beaker Libraries
|
36
24
|
|
37
|
-
Beaker functionality has been extended through the use of libraries available as
|
38
|
-
gems. See the [complete list](docs/concepts/beaker_libraries.md) for available
|
39
|
-
gems. See the
|
40
|
-
[beaker-template documentation](https://github.com/puppetlabs/beaker-template/blob/master/README.md)
|
41
|
-
for documentation on creating beaker-libraries.
|
25
|
+
Beaker functionality has been extended through the use of libraries available as gems. See the [complete list](docs/concepts/beaker_libraries.md) for available gems. See the [beaker-template documentation](https://github.com/puppetlabs/beaker-template/blob/master/README.md) for documentation on creating beaker-libraries.
|
42
26
|
|
43
27
|
# License
|
44
28
|
|
@@ -46,15 +30,14 @@ See [LICENSE](LICENSE) file.
|
|
46
30
|
|
47
31
|
# Support & Issues
|
48
32
|
|
49
|
-
Please log tickets and issues at our
|
50
|
-
[Beaker Issue Tracker](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR).
|
51
|
-
In addition there is an active #puppet-dev channel on Freenode.
|
33
|
+
Please log tickets and issues at our [Beaker Issue Tracker](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR). In addition there is an active #puppet-dev channel on Freenode.
|
52
34
|
|
53
|
-
For additional information on filing tickets, please check out our
|
54
|
-
|
55
|
-
|
35
|
+
For additional information on filing tickets, please check out our [CONTRIBUTOR doc](CONTRIBUTING.md), and for ticket lifecycle information, check out our [ticket process doc](docs/concepts/ticket_process.md).
|
36
|
+
|
37
|
+
# Contributing
|
38
|
+
|
39
|
+
If you'd like to contribute improvements to Beaker, please see [CONTRIBUTING](CONTRIBUTING.md).
|
56
40
|
|
57
41
|
# Maintainers
|
58
42
|
|
59
|
-
For information on project maintainers, please check out our
|
60
|
-
[MAINTAINERS doc](MAINTAINERS.md).
|
43
|
+
For information on project maintainers, please check out our [MAINTAINERS doc](MAINTAINERS.md).
|