beaker-rspec 8.2.0 → 9.1.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/release.yml +41 -0
- data/.github/workflows/release.yml +91 -16
- data/.github/workflows/test.yml +18 -14
- data/.rubocop_todo.yml +12 -45
- data/CHANGELOG.md +37 -0
- data/Gemfile +5 -3
- data/beaker-rspec.gemspec +10 -8
- data/lib/beaker-rspec/beaker_shim.rb +2 -0
- data/lib/beaker-rspec/helpers/serverspec.rb +12 -47
- data/lib/beaker-rspec/rake_task.rb +2 -0
- data/lib/beaker-rspec/spec_helper.rb +4 -0
- data/lib/beaker-rspec/version.rb +3 -1
- data/lib/beaker-rspec.rb +2 -0
- data/spec/acceptance/example_spec.rb +3 -1
- data/spec/spec_helper.rb +3 -1
- metadata +20 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d9cc71e435ebcddca6fe39047a81c1170d7bebd027d49d7ceea815c402d36e9d
|
|
4
|
+
data.tar.gz: c1e04ffae101bb23f6901deb194d3ba128597c7ff9bfb8aeeefd74539d14cd1b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e1aa258712a808fcf4bfc979b3e512d94c240959bcd7b8aa2821b7341df654577a84b53165b6abcbeded44b233f278d14e3480819961f214207669563396d0ee
|
|
7
|
+
data.tar.gz: bb0fcecbf2c257a3c479509e0914de4aab446e883eaba519b73f04f135cdfe1b0c3edf74ae5032af8195e38997afb71e2ca5e83b13397b90c20abceeb1e095d4
|
data/.github/release.yml
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
|
|
3
|
+
|
|
4
|
+
changelog:
|
|
5
|
+
exclude:
|
|
6
|
+
labels:
|
|
7
|
+
- duplicate
|
|
8
|
+
- invalid
|
|
9
|
+
- modulesync
|
|
10
|
+
- question
|
|
11
|
+
- skip-changelog
|
|
12
|
+
- wont-fix
|
|
13
|
+
- wontfix
|
|
14
|
+
- github_actions
|
|
15
|
+
|
|
16
|
+
categories:
|
|
17
|
+
- title: Breaking Changes 🛠
|
|
18
|
+
labels:
|
|
19
|
+
- backwards-incompatible
|
|
20
|
+
|
|
21
|
+
- title: New Features 🎉
|
|
22
|
+
labels:
|
|
23
|
+
- enhancement
|
|
24
|
+
|
|
25
|
+
- title: Bug Fixes 🐛
|
|
26
|
+
labels:
|
|
27
|
+
- bug
|
|
28
|
+
- bugfix
|
|
29
|
+
|
|
30
|
+
- title: Documentation Updates 📚
|
|
31
|
+
labels:
|
|
32
|
+
- documentation
|
|
33
|
+
- docs
|
|
34
|
+
|
|
35
|
+
- title: Dependency Updates ⬆️
|
|
36
|
+
labels:
|
|
37
|
+
- dependencies
|
|
38
|
+
|
|
39
|
+
- title: Other Changes
|
|
40
|
+
labels:
|
|
41
|
+
- "*"
|
|
@@ -1,31 +1,106 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: Gem Release
|
|
2
3
|
|
|
3
4
|
on:
|
|
4
5
|
push:
|
|
5
6
|
tags:
|
|
6
7
|
- '*'
|
|
7
8
|
|
|
9
|
+
permissions: {}
|
|
10
|
+
|
|
8
11
|
jobs:
|
|
9
|
-
release:
|
|
10
|
-
|
|
12
|
+
build-release:
|
|
13
|
+
# Prevent releases from forked repositories
|
|
11
14
|
if: github.repository_owner == 'voxpupuli'
|
|
15
|
+
name: Build the gem
|
|
16
|
+
runs-on: ubuntu-24.04
|
|
12
17
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
14
|
-
- name: Install Ruby
|
|
18
|
+
- uses: actions/checkout@v6
|
|
19
|
+
- name: Install Ruby
|
|
15
20
|
uses: ruby/setup-ruby@v1
|
|
16
21
|
with:
|
|
17
|
-
ruby-version: '
|
|
18
|
-
bundler: 'none'
|
|
22
|
+
ruby-version: 'ruby'
|
|
19
23
|
- name: Build gem
|
|
20
|
-
|
|
24
|
+
shell: bash
|
|
25
|
+
run: gem build --verbose *.gemspec
|
|
26
|
+
- name: Upload gem to GitHub cache
|
|
27
|
+
uses: actions/upload-artifact@v6
|
|
28
|
+
with:
|
|
29
|
+
name: gem-artifact
|
|
30
|
+
path: '*.gem'
|
|
31
|
+
retention-days: 1
|
|
32
|
+
compression-level: 0
|
|
33
|
+
|
|
34
|
+
create-github-release:
|
|
35
|
+
needs: build-release
|
|
36
|
+
name: Create GitHub release
|
|
37
|
+
runs-on: ubuntu-24.04
|
|
38
|
+
permissions:
|
|
39
|
+
contents: write # clone repo and create release
|
|
40
|
+
steps:
|
|
41
|
+
- name: Download gem from GitHub cache
|
|
42
|
+
uses: actions/download-artifact@v7
|
|
43
|
+
with:
|
|
44
|
+
name: gem-artifact
|
|
45
|
+
- name: Create Release
|
|
46
|
+
shell: bash
|
|
47
|
+
env:
|
|
48
|
+
GH_TOKEN: ${{ github.token }}
|
|
49
|
+
run: gh release create --repo ${{ github.repository }} ${{ github.ref_name }} --generate-notes *.gem
|
|
50
|
+
|
|
51
|
+
release-to-github:
|
|
52
|
+
needs: build-release
|
|
53
|
+
name: Release to GitHub
|
|
54
|
+
runs-on: ubuntu-24.04
|
|
55
|
+
permissions:
|
|
56
|
+
packages: write # publish to rubygems.pkg.github.com
|
|
57
|
+
steps:
|
|
58
|
+
- name: Download gem from GitHub cache
|
|
59
|
+
uses: actions/download-artifact@v7
|
|
60
|
+
with:
|
|
61
|
+
name: gem-artifact
|
|
62
|
+
- name: Publish gem to GitHub packages
|
|
63
|
+
run: gem push --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
|
|
64
|
+
env:
|
|
65
|
+
GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
|
66
|
+
|
|
67
|
+
release-to-rubygems:
|
|
68
|
+
needs: build-release
|
|
69
|
+
name: Release gem to rubygems.org
|
|
70
|
+
runs-on: ubuntu-24.04
|
|
71
|
+
environment: release # recommended by rubygems.org
|
|
72
|
+
permissions:
|
|
73
|
+
id-token: write # rubygems.org authentication
|
|
74
|
+
steps:
|
|
75
|
+
- name: Download gem from GitHub cache
|
|
76
|
+
uses: actions/download-artifact@v7
|
|
77
|
+
with:
|
|
78
|
+
name: gem-artifact
|
|
79
|
+
- uses: rubygems/configure-rubygems-credentials@v1.0.0
|
|
21
80
|
- name: Publish gem to rubygems.org
|
|
81
|
+
shell: bash
|
|
22
82
|
run: gem push *.gem
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
83
|
+
|
|
84
|
+
release-verification:
|
|
85
|
+
name: Check that all releases are done
|
|
86
|
+
runs-on: ubuntu-24.04
|
|
87
|
+
permissions:
|
|
88
|
+
contents: read # minimal permissions that we have to grant
|
|
89
|
+
needs:
|
|
90
|
+
- create-github-release
|
|
91
|
+
- release-to-github
|
|
92
|
+
- release-to-rubygems
|
|
93
|
+
steps:
|
|
94
|
+
- name: Download gem from GitHub cache
|
|
95
|
+
uses: actions/download-artifact@v7
|
|
96
|
+
with:
|
|
97
|
+
name: gem-artifact
|
|
98
|
+
- name: Install Ruby
|
|
99
|
+
uses: ruby/setup-ruby@v1
|
|
100
|
+
with:
|
|
101
|
+
ruby-version: 'ruby'
|
|
102
|
+
- name: Wait for release to propagate
|
|
103
|
+
shell: bash
|
|
26
104
|
run: |
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
chmod 0600 ~/.gem/credentials
|
|
30
|
-
- name: Publish gem to GitHub packages
|
|
31
|
-
run: gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
|
|
105
|
+
gem install rubygems-await
|
|
106
|
+
gem await *.gem
|
data/.github/workflows/test.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
name: Test
|
|
2
3
|
|
|
3
4
|
on:
|
|
@@ -6,36 +7,39 @@ on:
|
|
|
6
7
|
branches:
|
|
7
8
|
- master
|
|
8
9
|
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
9
13
|
env:
|
|
10
|
-
BUNDLE_WITHOUT: release
|
|
11
14
|
BEAKER_HYPERVISOR: docker
|
|
12
15
|
|
|
13
16
|
jobs:
|
|
14
|
-
|
|
15
|
-
runs-on: ubuntu-
|
|
17
|
+
rubocop_and_matrix:
|
|
18
|
+
runs-on: ubuntu-24.04
|
|
19
|
+
outputs:
|
|
20
|
+
ruby: ${{ steps.ruby.outputs.versions }}
|
|
16
21
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@v6
|
|
18
23
|
- name: Install Ruby ${{ matrix.ruby }}
|
|
19
24
|
uses: ruby/setup-ruby@v1
|
|
20
25
|
with:
|
|
21
|
-
ruby-version:
|
|
26
|
+
ruby-version: '4.0'
|
|
22
27
|
bundler-cache: true
|
|
23
28
|
- name: Run Rubocop
|
|
24
29
|
run: bundle exec rake rubocop
|
|
30
|
+
- id: ruby
|
|
31
|
+
uses: voxpupuli/ruby-version@v2
|
|
32
|
+
|
|
25
33
|
build:
|
|
26
|
-
runs-on: ubuntu-
|
|
34
|
+
runs-on: ubuntu-24.04
|
|
35
|
+
needs: rubocop_and_matrix
|
|
27
36
|
strategy:
|
|
28
37
|
fail-fast: false
|
|
29
38
|
matrix:
|
|
30
|
-
ruby:
|
|
31
|
-
- "2.7"
|
|
32
|
-
- "3.0"
|
|
33
|
-
- "3.1"
|
|
34
|
-
- "3.2"
|
|
35
|
-
- "3.3"
|
|
39
|
+
ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
|
|
36
40
|
name: Ruby ${{ matrix.ruby }}
|
|
37
41
|
steps:
|
|
38
|
-
- uses: actions/checkout@
|
|
42
|
+
- uses: actions/checkout@v6
|
|
39
43
|
- name: Install Ruby ${{ matrix.ruby }}
|
|
40
44
|
uses: ruby/setup-ruby@v1
|
|
41
45
|
with:
|
|
@@ -48,7 +52,7 @@ jobs:
|
|
|
48
52
|
|
|
49
53
|
tests:
|
|
50
54
|
needs:
|
|
51
|
-
-
|
|
55
|
+
- rubocop_and_matrix
|
|
52
56
|
- build
|
|
53
57
|
runs-on: ubuntu-latest
|
|
54
58
|
name: Test suite
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
|
-
# `rubocop --auto-gen-config`
|
|
3
|
-
#
|
|
2
|
+
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
|
|
3
|
+
# using RuboCop version 1.81.7.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count: 3
|
|
10
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
11
|
-
# Configuration parameters: AutoCorrect.
|
|
12
|
-
Lint/UselessAssignment:
|
|
13
|
-
Exclude:
|
|
14
|
-
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
15
|
-
|
|
16
9
|
# Offense count: 1
|
|
17
10
|
Naming/AccessorMethodName:
|
|
18
11
|
Exclude:
|
|
@@ -34,14 +27,6 @@ Naming/MethodParameterName:
|
|
|
34
27
|
Exclude:
|
|
35
28
|
- 'lib/beaker-rspec/beaker_shim.rb'
|
|
36
29
|
|
|
37
|
-
# Offense count: 1
|
|
38
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
39
|
-
# Configuration parameters: EnforcedStyle.
|
|
40
|
-
# SupportedStyles: be_a, be_kind_of
|
|
41
|
-
RSpec/ClassCheck:
|
|
42
|
-
Exclude:
|
|
43
|
-
- 'spec/acceptance/example_spec.rb'
|
|
44
|
-
|
|
45
30
|
# Offense count: 3
|
|
46
31
|
# Configuration parameters: Prefixes, AllowedPatterns.
|
|
47
32
|
# Prefixes: when, with, without
|
|
@@ -60,6 +45,11 @@ RSpec/DescribeClass:
|
|
|
60
45
|
- '**/spec/views/**/*'
|
|
61
46
|
- 'spec/acceptance/example_spec.rb'
|
|
62
47
|
|
|
48
|
+
# Offense count: 1
|
|
49
|
+
RSpec/LeakyLocalVariable:
|
|
50
|
+
Exclude:
|
|
51
|
+
- 'spec/acceptance/example_spec.rb'
|
|
52
|
+
|
|
63
53
|
# Offense count: 5
|
|
64
54
|
# Configuration parameters: AllowedPatterns.
|
|
65
55
|
# AllowedPatterns: ^expect_, ^assert_
|
|
@@ -75,10 +65,12 @@ Style/AndOr:
|
|
|
75
65
|
Exclude:
|
|
76
66
|
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
77
67
|
|
|
78
|
-
# Offense count:
|
|
68
|
+
# Offense count: 6
|
|
79
69
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
80
|
-
# Configuration parameters: EnforcedStyle.
|
|
70
|
+
# Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules.
|
|
81
71
|
# SupportedStyles: nested, compact
|
|
72
|
+
# SupportedStylesForClasses: ~, nested, compact
|
|
73
|
+
# SupportedStylesForModules: ~, nested, compact
|
|
82
74
|
Style/ClassAndModuleChildren:
|
|
83
75
|
Exclude:
|
|
84
76
|
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
@@ -88,7 +80,7 @@ Style/ClassVars:
|
|
|
88
80
|
Exclude:
|
|
89
81
|
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
90
82
|
|
|
91
|
-
# Offense count:
|
|
83
|
+
# Offense count: 9
|
|
92
84
|
# Configuration parameters: AllowedConstants.
|
|
93
85
|
Style/Documentation:
|
|
94
86
|
Exclude:
|
|
@@ -97,23 +89,6 @@ Style/Documentation:
|
|
|
97
89
|
- 'lib/beaker-rspec.rb'
|
|
98
90
|
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
99
91
|
|
|
100
|
-
# Offense count: 10
|
|
101
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
102
|
-
# Configuration parameters: EnforcedStyle.
|
|
103
|
-
# SupportedStyles: always, always_true, never
|
|
104
|
-
Style/FrozenStringLiteralComment:
|
|
105
|
-
Exclude:
|
|
106
|
-
- 'Gemfile'
|
|
107
|
-
- 'beaker-rspec.gemspec'
|
|
108
|
-
- 'lib/beaker-rspec.rb'
|
|
109
|
-
- 'lib/beaker-rspec/beaker_shim.rb'
|
|
110
|
-
- 'lib/beaker-rspec/helpers/serverspec.rb'
|
|
111
|
-
- 'lib/beaker-rspec/rake_task.rb'
|
|
112
|
-
- 'lib/beaker-rspec/spec_helper.rb'
|
|
113
|
-
- 'lib/beaker-rspec/version.rb'
|
|
114
|
-
- 'spec/acceptance/example_spec.rb'
|
|
115
|
-
- 'spec/spec_helper.rb'
|
|
116
|
-
|
|
117
92
|
# Offense count: 1
|
|
118
93
|
Style/MissingRespondToMissing:
|
|
119
94
|
Exclude:
|
|
@@ -124,14 +99,6 @@ Style/MixinUsage:
|
|
|
124
99
|
Exclude:
|
|
125
100
|
- 'lib/beaker-rspec/spec_helper.rb'
|
|
126
101
|
|
|
127
|
-
# Offense count: 1
|
|
128
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
129
|
-
# Configuration parameters: EnforcedStyle.
|
|
130
|
-
# SupportedStyles: literals, strict
|
|
131
|
-
Style/MutableConstant:
|
|
132
|
-
Exclude:
|
|
133
|
-
- 'lib/beaker-rspec/version.rb'
|
|
134
|
-
|
|
135
102
|
# Offense count: 1
|
|
136
103
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
137
104
|
# Configuration parameters: RequireEnglish.
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [9.1.0](https://github.com/voxpupuli/beaker-rspec/tree/9.1.0) (2025-12-27)
|
|
6
|
+
|
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/9.0.0...9.1.0)
|
|
8
|
+
|
|
9
|
+
**Implemented enhancements:**
|
|
10
|
+
|
|
11
|
+
- Add Ruby 4.0 support [\#161](https://github.com/voxpupuli/beaker-rspec/pull/161) ([bastelfreak](https://github.com/bastelfreak))
|
|
12
|
+
- minitest: allow 6.x [\#160](https://github.com/voxpupuli/beaker-rspec/pull/160) ([bastelfreak](https://github.com/bastelfreak))
|
|
13
|
+
|
|
14
|
+
## [9.0.0](https://github.com/voxpupuli/beaker-rspec/tree/9.0.0) (2025-08-07)
|
|
15
|
+
|
|
16
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/8.3.0...9.0.0)
|
|
17
|
+
|
|
18
|
+
**Breaking changes:**
|
|
19
|
+
|
|
20
|
+
- Require Ruby 3.2 or newer [\#150](https://github.com/voxpupuli/beaker-rspec/pull/150) ([bastelfreak](https://github.com/bastelfreak))
|
|
21
|
+
|
|
22
|
+
**Implemented enhancements:**
|
|
23
|
+
|
|
24
|
+
- beaker: Allow 7.x [\#149](https://github.com/voxpupuli/beaker-rspec/pull/149) ([bastelfreak](https://github.com/bastelfreak))
|
|
25
|
+
|
|
26
|
+
## [8.3.0](https://github.com/voxpupuli/beaker-rspec/tree/8.3.0) (2025-05-27)
|
|
27
|
+
|
|
28
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/8.2.0...8.3.0)
|
|
29
|
+
|
|
30
|
+
**Implemented enhancements:**
|
|
31
|
+
|
|
32
|
+
- Use the backend variable inside the loop [\#145](https://github.com/voxpupuli/beaker-rspec/pull/145) ([ekohl](https://github.com/ekohl))
|
|
33
|
+
- Remove redundant Specinfra::Runner.run definition [\#144](https://github.com/voxpupuli/beaker-rspec/pull/144) ([ekohl](https://github.com/ekohl))
|
|
34
|
+
- Remove unused get\_windows\_cmd method [\#143](https://github.com/voxpupuli/beaker-rspec/pull/143) ([ekohl](https://github.com/ekohl))
|
|
35
|
+
- Add Ruby 3.4 to CI / generate matrix automatically [\#142](https://github.com/voxpupuli/beaker-rspec/pull/142) ([bastelfreak](https://github.com/bastelfreak))
|
|
36
|
+
- Vagrant: Add options to configure memsize/cpu cores [\#139](https://github.com/voxpupuli/beaker-rspec/pull/139) ([bastelfreak](https://github.com/bastelfreak))
|
|
37
|
+
|
|
38
|
+
**Merged pull requests:**
|
|
39
|
+
|
|
40
|
+
- fakefs: Allow 3.x [\#146](https://github.com/voxpupuli/beaker-rspec/pull/146) ([bastelfreak](https://github.com/bastelfreak))
|
|
41
|
+
|
|
5
42
|
## [8.2.0](https://github.com/voxpupuli/beaker-rspec/tree/8.2.0) (2024-05-28)
|
|
6
43
|
|
|
7
44
|
[Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/8.1.0...8.2.0)
|
data/Gemfile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
def location_for(place, fake_version = nil)
|
|
@@ -23,9 +25,9 @@ when 'vmpooler'
|
|
|
23
25
|
gem 'beaker-vmpooler', '~> 1.3'
|
|
24
26
|
end
|
|
25
27
|
|
|
26
|
-
group :release do
|
|
27
|
-
gem 'faraday-retry', require: false
|
|
28
|
-
gem 'github_changelog_generator', require: false
|
|
28
|
+
group :release, optional: true do
|
|
29
|
+
gem 'faraday-retry', '~> 2.1', require: false
|
|
30
|
+
gem 'github_changelog_generator', '~> 1.16.4', require: false
|
|
29
31
|
end
|
|
30
32
|
|
|
31
33
|
gemspec
|
data/beaker-rspec.gemspec
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
$:.push File.expand_path('lib', __dir__)
|
|
2
4
|
require 'beaker-rspec/version'
|
|
3
5
|
|
|
@@ -11,21 +13,21 @@ Gem::Specification.new do |s|
|
|
|
11
13
|
s.description = 'RSpec bindings for beaker, see https://github.com/voxpupuli/beaker'
|
|
12
14
|
s.license = 'Apache-2.0'
|
|
13
15
|
|
|
14
|
-
s.required_ruby_version = '>= 2.
|
|
16
|
+
s.required_ruby_version = '>= 3.2.0', '< 5.0.0'
|
|
15
17
|
|
|
16
18
|
s.files = `git ls-files`.split("\n")
|
|
17
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
18
20
|
s.require_paths = ['lib']
|
|
19
21
|
|
|
20
22
|
# Testing dependencies
|
|
21
|
-
s.add_development_dependency 'fakefs', '>= 0.6', '<
|
|
22
|
-
s.add_development_dependency 'minitest', '
|
|
23
|
+
s.add_development_dependency 'fakefs', '>= 0.6', '< 4'
|
|
24
|
+
s.add_development_dependency 'minitest', '>= 5.4', '< 7'
|
|
23
25
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
24
|
-
s.add_development_dependency 'voxpupuli-rubocop', '~>
|
|
26
|
+
s.add_development_dependency 'voxpupuli-rubocop', '~> 5.1.0'
|
|
25
27
|
|
|
26
28
|
# Run time dependencies
|
|
27
|
-
s.
|
|
28
|
-
s.
|
|
29
|
-
s.
|
|
30
|
-
s.
|
|
29
|
+
s.add_dependency 'beaker', '>= 4.0', '< 8'
|
|
30
|
+
s.add_dependency 'rspec', '~> 3.0'
|
|
31
|
+
s.add_dependency 'serverspec', '~> 2'
|
|
32
|
+
s.add_dependency 'specinfra', '~> 2'
|
|
31
33
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'serverspec'
|
|
2
4
|
require 'specinfra'
|
|
3
5
|
require 'specinfra/backend/powershell/script_helper'
|
|
@@ -79,69 +81,32 @@ module Specinfra::Helper::Os
|
|
|
79
81
|
Specinfra::Helper::DetectOs.subclasses.each do |c|
|
|
80
82
|
res = c.detect
|
|
81
83
|
if res
|
|
82
|
-
res[:arch] ||=
|
|
84
|
+
res[:arch] ||= backend.run_command('uname -m').stdout.strip
|
|
83
85
|
return res
|
|
84
86
|
end
|
|
85
87
|
end
|
|
86
88
|
end
|
|
87
89
|
end
|
|
88
90
|
|
|
89
|
-
class Specinfra::CommandFactory
|
|
90
|
-
class << self
|
|
91
|
-
# Force creation of a windows command
|
|
92
|
-
def get_windows_cmd(meth, *args)
|
|
93
|
-
action, resource_type, subaction = breakdown(meth)
|
|
94
|
-
method = action
|
|
95
|
-
method += "_#{subaction}" if subaction
|
|
96
|
-
|
|
97
|
-
common_class = Specinfra::Command
|
|
98
|
-
base_class = common_class.const_get(:Base)
|
|
99
|
-
os_class = common_class.const_get(:Windows)
|
|
100
|
-
version_class = os_class.const_get(:Base)
|
|
101
|
-
command_class = version_class.const_get(resource_type.to_camel_case)
|
|
102
|
-
|
|
103
|
-
command_class = command_class.create
|
|
104
|
-
unless command_class.respond_to?(method)
|
|
105
|
-
raise NotImplementedError,
|
|
106
|
-
"#{method} is not implemented in #{command_class}"
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
command_class.send(method, *args)
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
91
|
module Specinfra
|
|
115
92
|
# Rewrite the runner to use the appropriate backend based upon platform information
|
|
116
93
|
class Runner
|
|
117
|
-
def self.method_missing(meth, *
|
|
94
|
+
def self.method_missing(meth, *)
|
|
118
95
|
backend = Specinfra.backend
|
|
119
96
|
node = get_working_node
|
|
120
97
|
if !node['platform'].include?('windows')
|
|
121
98
|
processor = Specinfra::Processor
|
|
122
99
|
if processor.respond_to?(meth)
|
|
123
|
-
processor.send(meth, *
|
|
100
|
+
processor.send(meth, *)
|
|
124
101
|
elsif backend.respond_to?(meth)
|
|
125
|
-
backend.send(meth, *
|
|
102
|
+
backend.send(meth, *)
|
|
126
103
|
else
|
|
127
|
-
run(meth, *
|
|
104
|
+
run(meth, *)
|
|
128
105
|
end
|
|
129
106
|
elsif backend.respond_to?(meth)
|
|
130
|
-
backend.send(meth, *
|
|
131
|
-
else
|
|
132
|
-
run(meth, *args)
|
|
133
|
-
end
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def self.run(meth, *args)
|
|
137
|
-
backend = Specinfra.backend
|
|
138
|
-
cmd = Specinfra.command.get(meth, *args)
|
|
139
|
-
backend = Specinfra.backend
|
|
140
|
-
ret = backend.run_command(cmd)
|
|
141
|
-
if meth.to_s.start_with?('check')
|
|
142
|
-
ret.success?
|
|
107
|
+
backend.send(meth, *)
|
|
143
108
|
else
|
|
144
|
-
|
|
109
|
+
run(meth, *)
|
|
145
110
|
end
|
|
146
111
|
end
|
|
147
112
|
end
|
|
@@ -183,11 +148,11 @@ end
|
|
|
183
148
|
# Used as a container for the two backends, dispatches as windows/nix depending on node platform
|
|
184
149
|
module Specinfra::Backend
|
|
185
150
|
class BeakerDispatch < BeakerBase
|
|
186
|
-
def dispatch_method(meth, *
|
|
151
|
+
def dispatch_method(meth, *)
|
|
187
152
|
if get_working_node['platform'].include?('windows')
|
|
188
|
-
cygwin_backend.send(meth, *
|
|
153
|
+
cygwin_backend.send(meth, *)
|
|
189
154
|
else
|
|
190
|
-
exec_backend.send(meth, *
|
|
155
|
+
exec_backend.send(meth, *)
|
|
191
156
|
end
|
|
192
157
|
end
|
|
193
158
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'beaker-rspec/beaker_shim'
|
|
2
4
|
require 'beaker-rspec/helpers/serverspec'
|
|
3
5
|
include BeakerRSpec::BeakerShim
|
|
@@ -32,6 +34,8 @@ RSpec.configure do |c|
|
|
|
32
34
|
debug: ENV['BEAKER_DEBUG'] || ENV['BEAKER_debug'] || ENV.fetch('RS_DEBUG', nil),
|
|
33
35
|
destroy: ENV['BEAKER_DESTROY'] || ENV['BEAKER_destroy'] || ENV.fetch('RS_DESTROY', nil),
|
|
34
36
|
optionsfile: ENV['BEAKER_OPTIONS_FILE'] || ENV['BEAKER_options_file'] || ENV.fetch('RS_OPTIONS_FILE', nil),
|
|
37
|
+
vagrant_memsize: ENV.fetch('BEAKER_VAGRANT_MEMSIZE', nil),
|
|
38
|
+
vagrant_cpus: ENV.fetch('BEAKER_VAGRANT_CPUS', nil),
|
|
35
39
|
}.compact
|
|
36
40
|
# combine defaults and env_vars to determine overall options
|
|
37
41
|
options = defaults.merge(env_vars)
|
data/lib/beaker-rspec/version.rb
CHANGED
data/lib/beaker-rspec.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
5
|
describe 'ignore' do
|
|
@@ -21,7 +23,7 @@ describe 'ignore' do
|
|
|
21
23
|
end
|
|
22
24
|
|
|
23
25
|
example 'access the options' do
|
|
24
|
-
expect(options).to
|
|
26
|
+
expect(options).to be_a(Hash)
|
|
25
27
|
end
|
|
26
28
|
|
|
27
29
|
example 'create a beaker dsl::step' do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-rspec
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 9.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vox Pupuli
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: fakefs
|
|
@@ -19,7 +18,7 @@ dependencies:
|
|
|
19
18
|
version: '0.6'
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
21
|
+
version: '4'
|
|
23
22
|
type: :development
|
|
24
23
|
prerelease: false
|
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,21 +28,27 @@ dependencies:
|
|
|
29
28
|
version: '0.6'
|
|
30
29
|
- - "<"
|
|
31
30
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
31
|
+
version: '4'
|
|
33
32
|
- !ruby/object:Gem::Dependency
|
|
34
33
|
name: minitest
|
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
|
36
35
|
requirements:
|
|
37
|
-
- - "
|
|
36
|
+
- - ">="
|
|
38
37
|
- !ruby/object:Gem::Version
|
|
39
38
|
version: '5.4'
|
|
39
|
+
- - "<"
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '7'
|
|
40
42
|
type: :development
|
|
41
43
|
prerelease: false
|
|
42
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
45
|
requirements:
|
|
44
|
-
- - "
|
|
46
|
+
- - ">="
|
|
45
47
|
- !ruby/object:Gem::Version
|
|
46
48
|
version: '5.4'
|
|
49
|
+
- - "<"
|
|
50
|
+
- !ruby/object:Gem::Version
|
|
51
|
+
version: '7'
|
|
47
52
|
- !ruby/object:Gem::Dependency
|
|
48
53
|
name: rake
|
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,14 +69,14 @@ dependencies:
|
|
|
64
69
|
requirements:
|
|
65
70
|
- - "~>"
|
|
66
71
|
- !ruby/object:Gem::Version
|
|
67
|
-
version:
|
|
72
|
+
version: 5.1.0
|
|
68
73
|
type: :development
|
|
69
74
|
prerelease: false
|
|
70
75
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
76
|
requirements:
|
|
72
77
|
- - "~>"
|
|
73
78
|
- !ruby/object:Gem::Version
|
|
74
|
-
version:
|
|
79
|
+
version: 5.1.0
|
|
75
80
|
- !ruby/object:Gem::Dependency
|
|
76
81
|
name: beaker
|
|
77
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -81,7 +86,7 @@ dependencies:
|
|
|
81
86
|
version: '4.0'
|
|
82
87
|
- - "<"
|
|
83
88
|
- !ruby/object:Gem::Version
|
|
84
|
-
version: '
|
|
89
|
+
version: '8'
|
|
85
90
|
type: :runtime
|
|
86
91
|
prerelease: false
|
|
87
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -91,7 +96,7 @@ dependencies:
|
|
|
91
96
|
version: '4.0'
|
|
92
97
|
- - "<"
|
|
93
98
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: '
|
|
99
|
+
version: '8'
|
|
95
100
|
- !ruby/object:Gem::Dependency
|
|
96
101
|
name: rspec
|
|
97
102
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,6 +147,7 @@ extensions: []
|
|
|
142
147
|
extra_rdoc_files: []
|
|
143
148
|
files:
|
|
144
149
|
- ".github/dependabot.yml"
|
|
150
|
+
- ".github/release.yml"
|
|
145
151
|
- ".github/workflows/release.yml"
|
|
146
152
|
- ".github/workflows/test.yml"
|
|
147
153
|
- ".gitignore"
|
|
@@ -166,7 +172,6 @@ homepage: https://github.com/voxpupuli/beaker-rspec
|
|
|
166
172
|
licenses:
|
|
167
173
|
- Apache-2.0
|
|
168
174
|
metadata: {}
|
|
169
|
-
post_install_message:
|
|
170
175
|
rdoc_options: []
|
|
171
176
|
require_paths:
|
|
172
177
|
- lib
|
|
@@ -174,18 +179,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
174
179
|
requirements:
|
|
175
180
|
- - ">="
|
|
176
181
|
- !ruby/object:Gem::Version
|
|
177
|
-
version: 2.
|
|
182
|
+
version: 3.2.0
|
|
178
183
|
- - "<"
|
|
179
184
|
- !ruby/object:Gem::Version
|
|
180
|
-
version:
|
|
185
|
+
version: 5.0.0
|
|
181
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
187
|
requirements:
|
|
183
188
|
- - ">="
|
|
184
189
|
- !ruby/object:Gem::Version
|
|
185
190
|
version: '0'
|
|
186
191
|
requirements: []
|
|
187
|
-
rubygems_version:
|
|
188
|
-
signing_key:
|
|
192
|
+
rubygems_version: 4.0.3
|
|
189
193
|
specification_version: 4
|
|
190
194
|
summary: RSpec bindings for beaker
|
|
191
195
|
test_files: []
|