specinfra-backend-docker_lxc 0.1.0 → 0.2.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/CHANGELOG.md +7 -1
- data/README.md +4 -4
- data/lib/specinfra/backend/docker_lxc.rb +23 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 205092fd876ad0d24c719b36a4daf0646b311028
|
4
|
+
data.tar.gz: 5b16ef9c6bbb5a7fe3b85b669aea125c7152170d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d20cf3cfd4ca86f6daf8fceac757176ba52cfcb5552596e1f4a725aa463f20cb542518d1256b1687c4bea383ff745ff33e805f491dadd62e1cfacd5f0b30e6a
|
7
|
+
data.tar.gz: 9787c72deff72df7287db47a9682ef745de5cf29da19d6fdacf1570ca153faaa743c0a3074ebc7c9b8a9afd8a4024bb4cf6ad3352c71c35fa6d0cdb59982605e
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
This file is used to list changes made in each version of `specinfra-backend-docker_lxc`.
|
4
4
|
|
5
|
+
## 0.2.0 (2015-11-16)
|
6
|
+
|
7
|
+
* Set RSpec metadata used by Serverspec.
|
8
|
+
* Improve code indentation a little.
|
9
|
+
* Documentation: Add some missing dots and spacing.
|
10
|
+
|
5
11
|
## 0.1.0 (2015-11-14)
|
6
12
|
|
7
|
-
* Initial release of `specinfra-backend-docker_lxc
|
13
|
+
* Initial release of `specinfra-backend-docker_lxc`.
|
data/README.md
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
[](https://gemnasium.com/zuazo/specinfra-backend-docker_lxc)
|
4
4
|
[](https://codeclimate.com/github/zuazo/specinfra-backend-docker_lxc)
|
5
5
|
[](https://circleci.com/gh/zuazo/specinfra-backend-docker_lxc/tree/master)
|
6
|
-
[](https://travis-ci.org/zuazo/specinfra-backend-docker_lxc)
|
7
|
+
[](https://coveralls.io/r/zuazo/specinfra-backend-docker_lxc?branch=0.2.0)
|
8
8
|
[](http://inch-ci.org/github/zuazo/specinfra-backend-docker_lxc)
|
9
9
|
|
10
|
-
[Serverspec](http://serverspec.org/)/[Specinfra](https://github.com/mizzy/specinfra) backend for Docker LXC execution driver.
|
10
|
+
[Serverspec](http://serverspec.org/) / [Specinfra](https://github.com/mizzy/specinfra) backend for Docker LXC execution driver.
|
11
11
|
|
12
12
|
## Requirements
|
13
13
|
|
@@ -22,7 +22,7 @@ Add this line to your application's Gemfile:
|
|
22
22
|
```ruby
|
23
23
|
# Gemfile
|
24
24
|
|
25
|
-
gem 'specinfra-backend-docker_lxc', '~> 0.
|
25
|
+
gem 'specinfra-backend-docker_lxc', '~> 0.2.0'
|
26
26
|
```
|
27
27
|
|
28
28
|
And then execute:
|
@@ -59,13 +59,31 @@ module Specinfra
|
|
59
59
|
# @param stderr [String] the *stderr* output.
|
60
60
|
# @param status [Fixnum] the command exit status.
|
61
61
|
# @return [Specinfra::CommandResult] the generated result object.
|
62
|
-
def erroneous_result(exception, stdout, stderr, status)
|
62
|
+
def erroneous_result(cmd, exception, stdout, stderr, status)
|
63
63
|
err =
|
64
|
-
stderr.nil?
|
64
|
+
if stderr.nil?
|
65
|
+
[exception.message] + exception.backtrace
|
66
|
+
else
|
67
|
+
[stderr]
|
68
|
+
end
|
65
69
|
sta = status.is_a?(Fixnum) && status != 0 ? status : 1
|
70
|
+
rspec_example_metadata(cmd, stdout, err.join)
|
66
71
|
CommandResult.new(stdout: stdout, stderr: err.join, exit_status: sta)
|
67
72
|
end
|
68
73
|
|
74
|
+
# Updates RSpec metadata used by Serverspec.
|
75
|
+
#
|
76
|
+
# @param cmd [Array<String>, String] the command (without `lxc-attach`).
|
77
|
+
# @param stdout [String] the *stdout* output.
|
78
|
+
# @param stderr [String] the *stderr* output.
|
79
|
+
# @return nil
|
80
|
+
def rspec_example_metadata(cmd, stdout, stderr)
|
81
|
+
return unless @example
|
82
|
+
@example.metadata[:command] = escape_command(cmd)
|
83
|
+
@example.metadata[:stdout] = stdout
|
84
|
+
@example.metadata[:stderr] = stderr
|
85
|
+
end
|
86
|
+
|
69
87
|
# Runs a command inside a Docker container.
|
70
88
|
#
|
71
89
|
# @param cmd [String] the command to run.
|
@@ -74,14 +92,13 @@ module Specinfra
|
|
74
92
|
def docker_run!(cmd, opts = {})
|
75
93
|
stdout, stderr, status = shell_command!(lxc_attach_command(cmd), opts)
|
76
94
|
lxc_attach_result_assert(stderr, status)
|
77
|
-
|
78
|
-
|
79
|
-
)
|
95
|
+
rspec_example_metadata(cmd, stdout, stderr)
|
96
|
+
CommandResult.new(stdout: stdout, stderr: stderr, exit_status: status)
|
80
97
|
rescue LxcAttachError
|
81
98
|
raise
|
82
99
|
rescue => e
|
83
100
|
@container.kill
|
84
|
-
erroneous_result(e, stdout, stderr, status)
|
101
|
+
erroneous_result(cmd, e, stdout, stderr, status)
|
85
102
|
end
|
86
103
|
end
|
87
104
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra-backend-docker_lxc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xabier de Zuazo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: specinfra
|
@@ -178,7 +178,7 @@ dependencies:
|
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '2.24'
|
181
|
-
description: Serverspec/Specinfra backend for Docker LXC execution driver.
|
181
|
+
description: Serverspec / Specinfra backend for Docker LXC execution driver.
|
182
182
|
email: xabier@zuazo.org
|
183
183
|
executables: []
|
184
184
|
extensions: []
|