rubyipmi 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Gemfile +5 -3
- data/README.md +24 -14
- data/Rakefile +82 -4
- data/VERSION +1 -1
- data/lib/rubyipmi.rb +36 -14
- data/lib/rubyipmi/commands/basecommand.rb +57 -119
- data/lib/rubyipmi/freeipmi/commands/basecommand.rb +29 -25
- data/lib/rubyipmi/freeipmi/commands/bmc.rb +3 -3
- data/lib/rubyipmi/freeipmi/commands/bmcconfig.rb +6 -6
- data/lib/rubyipmi/freeipmi/commands/bmcinfo.rb +3 -23
- data/lib/rubyipmi/freeipmi/commands/fru.rb +117 -23
- data/lib/rubyipmi/freeipmi/commands/lan.rb +32 -37
- data/lib/rubyipmi/freeipmi/commands/power.rb +1 -1
- data/lib/rubyipmi/freeipmi/commands/sensors.rb +53 -50
- data/lib/rubyipmi/freeipmi/connection.rb +16 -2
- data/lib/rubyipmi/freeipmi/errorcodes.rb +25 -2
- data/lib/rubyipmi/ipmitool/commands/basecommand.rb +20 -37
- data/lib/rubyipmi/ipmitool/commands/bmc.rb +1 -24
- data/lib/rubyipmi/ipmitool/commands/chassis.rb +1 -0
- data/lib/rubyipmi/ipmitool/commands/fru.rb +112 -30
- data/lib/rubyipmi/ipmitool/commands/lan.rb +55 -77
- data/lib/rubyipmi/ipmitool/commands/power.rb +10 -4
- data/lib/rubyipmi/ipmitool/commands/sensors.rb +53 -80
- data/lib/rubyipmi/ipmitool/connection.rb +19 -3
- data/lib/rubyipmi/ipmitool/errorcodes.rb +51 -3
- data/rubyipmi.gemspec +73 -33
- data/spec/Vagrantfile +45 -0
- data/spec/fixtures/freeipmi/bmc_config.txt +317 -0
- data/spec/fixtures/freeipmi/bmc_config_lan_conf.txt +19 -0
- data/spec/fixtures/freeipmi/bmc_info.txt +32 -0
- data/spec/fixtures/freeipmi/errors.txt +3 -0
- data/spec/fixtures/freeipmi/fru.txt +13 -0
- data/spec/fixtures/freeipmi/sensors.txt +29 -0
- data/spec/fixtures/ipmitool/bmc_info.txt +20 -0
- data/spec/fixtures/ipmitool/errors.txt +10 -0
- data/spec/fixtures/ipmitool/fru.txt +96 -0
- data/spec/fixtures/ipmitool/lan.txt +17 -0
- data/spec/fixtures/ipmitool/sensors.txt +105 -0
- data/spec/integration/bmc_spec.rb +49 -0
- data/spec/{chassis_config_spec.rb → integration/chassis_config_spec.rb} +6 -6
- data/spec/integration/chassis_spec.rb +26 -0
- data/spec/integration/connection_spec.rb +35 -0
- data/spec/{fru_spec.rb → integration/fru_spec.rb} +11 -10
- data/spec/{lan_spec.rb → integration/lan_spec.rb} +9 -7
- data/spec/integration/power_spec.rb +40 -0
- data/spec/{rubyipmi_spec.rb → integration/rubyipmi_spec.rb} +7 -10
- data/spec/{sensor_spec.rb → integration/sensor_spec.rb} +5 -20
- data/spec/manifests/default.pp +50 -0
- data/spec/puppetmodules/archive/LICENSE-2.0.txt +202 -0
- data/spec/puppetmodules/archive/Modulefile +8 -0
- data/spec/puppetmodules/archive/README.md +40 -0
- data/spec/puppetmodules/archive/manifests/download.pp +157 -0
- data/spec/puppetmodules/archive/manifests/extract.pp +81 -0
- data/spec/puppetmodules/archive/manifests/init.pp +70 -0
- data/spec/puppetmodules/archive/manifests/tar-gz.pp +7 -0
- data/spec/puppetmodules/archive/manifests/zip.pp +7 -0
- data/spec/puppetmodules/archive/metadata.json +26 -0
- data/spec/spec_helper.rb +35 -3
- data/spec/unit/freeipmi/bmc-info_spec.rb +42 -0
- data/spec/unit/freeipmi/bmc_spec.rb +44 -0
- data/spec/unit/freeipmi/connection_spec.rb +56 -0
- data/spec/unit/freeipmi/errorcodes_spec.rb +34 -0
- data/spec/unit/freeipmi/fru_spec.rb +77 -0
- data/spec/unit/freeipmi/lan_spec.rb +0 -0
- data/spec/unit/freeipmi/sensors_spec.rb +83 -0
- data/spec/unit/ipmitool/bmc_spec.rb +78 -0
- data/spec/unit/ipmitool/connection_spec.rb +58 -0
- data/spec/unit/ipmitool/errorcodes_spec.rb +34 -0
- data/spec/unit/ipmitool/fru_spec.rb +77 -0
- data/spec/unit/ipmitool/lan_spec.rb +93 -0
- data/spec/unit/ipmitool/sensors_spec.rb +95 -0
- data/spec/unit/rubyipmi_spec.rb +31 -0
- data/spec/vagrant +27 -0
- data/spec/vagrant.pub +1 -0
- metadata +157 -106
- data/.document +0 -5
- data/.rspec +0 -1
- data/Gemfile.lock +0 -33
- data/spec/bmc_spec.rb +0 -46
- data/spec/chassis_spec.rb +0 -26
- data/spec/connection_spec.rb +0 -31
- data/spec/power_spec.rb +0 -42
@@ -0,0 +1,8 @@
|
|
1
|
+
name 'jproyo-archive'
|
2
|
+
version '0.0.4'
|
3
|
+
source 'https://github.com/mxhero/puppet-modules/tree/master/modules/archive'
|
4
|
+
author 'Juan Pablo Royo'
|
5
|
+
license 'Apache 2.0'
|
6
|
+
summary 'Archive download and extractor to manage tar, zip, tarballs, etc.'
|
7
|
+
description "Archive download and extractor to manage tar, zip, tarballs, etc."
|
8
|
+
project_page 'https://github.com/mxhero/puppet-modules/tree/master/modules/archive'
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Archive Puppet Module
|
2
|
+
====================
|
3
|
+
|
4
|
+
Overview
|
5
|
+
--------
|
6
|
+
|
7
|
+
Puppet Module to download and extract tar and zip archives based on [camptocamp/puppet-archive](https://github.com/camptocamp/puppet-archive).
|
8
|
+
|
9
|
+
Supported archive types are:
|
10
|
+
|
11
|
+
- `tar.gz`, `tgz`
|
12
|
+
- `tar.bz2`, `tbz2`
|
13
|
+
- `tar.xz`, `txz`
|
14
|
+
- `zip`
|
15
|
+
|
16
|
+
Usage
|
17
|
+
-----
|
18
|
+
|
19
|
+
Example:
|
20
|
+
|
21
|
+
archive { 'apache-tomcat-6.0.26':
|
22
|
+
ensure => present,
|
23
|
+
url => 'http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz',
|
24
|
+
target => '/opt',
|
25
|
+
}
|
26
|
+
|
27
|
+
License
|
28
|
+
-------
|
29
|
+
|
30
|
+
Copyright (c) 2012 Camptocamp SA
|
31
|
+
|
32
|
+
This script is licensed under the Apache License, Version 2.0.
|
33
|
+
|
34
|
+
See http://www.apache.org/licenses/LICENSE-2.0.html for the full license text.
|
35
|
+
|
36
|
+
|
37
|
+
Support
|
38
|
+
-------
|
39
|
+
|
40
|
+
Please log tickets and issues at our [project site](https://github.com/camptocamp/puppet-archive/issues).
|
@@ -0,0 +1,157 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
== Definition: archive::download
|
4
|
+
|
5
|
+
Archive downloader with integrity verification.
|
6
|
+
|
7
|
+
Parameters:
|
8
|
+
|
9
|
+
- *$url:
|
10
|
+
- *$digest_url:
|
11
|
+
- *$digest_string: Default value ""
|
12
|
+
- *$digest_type: Default value "md5".
|
13
|
+
- *$timeout: Default value 120.
|
14
|
+
- *$src_target: Default value "/usr/src".
|
15
|
+
- *$allow_insecure: Default value false.
|
16
|
+
|
17
|
+
Example usage:
|
18
|
+
|
19
|
+
archive::download {"apache-tomcat-6.0.26.tar.gz":
|
20
|
+
ensure => present,
|
21
|
+
url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz",
|
22
|
+
}
|
23
|
+
|
24
|
+
archive::download {"apache-tomcat-6.0.26.tar.gz":
|
25
|
+
ensure => present,
|
26
|
+
digest_string => "f9eafa9bfd620324d1270ae8f09a8c89",
|
27
|
+
url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz",
|
28
|
+
}
|
29
|
+
|
30
|
+
*/
|
31
|
+
define archive::download (
|
32
|
+
$url,
|
33
|
+
$ensure=present,
|
34
|
+
$checksum=true,
|
35
|
+
$digest_url='',
|
36
|
+
$digest_string='',
|
37
|
+
$digest_type='md5',
|
38
|
+
$timeout=120,
|
39
|
+
$src_target='/usr/src',
|
40
|
+
$allow_insecure=false,
|
41
|
+
) {
|
42
|
+
|
43
|
+
$insecure_arg = $allow_insecure ? {
|
44
|
+
true => '-k',
|
45
|
+
default => '',
|
46
|
+
}
|
47
|
+
|
48
|
+
if !defined(Package['curl']) {
|
49
|
+
package{'curl':
|
50
|
+
ensure => present,
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
case $checksum {
|
55
|
+
true : {
|
56
|
+
case $digest_type {
|
57
|
+
'md5','sha1','sha224','sha256','sha384','sha512' : {
|
58
|
+
$checksum_cmd = "${digest_type}sum -c ${name}.${digest_type}"
|
59
|
+
}
|
60
|
+
default: { fail 'Unimplemented digest type' }
|
61
|
+
}
|
62
|
+
|
63
|
+
if $digest_url != '' and $digest_string != '' {
|
64
|
+
fail 'digest_url and digest_string should not be used together !'
|
65
|
+
}
|
66
|
+
|
67
|
+
if $digest_string == '' {
|
68
|
+
|
69
|
+
case $ensure {
|
70
|
+
present: {
|
71
|
+
|
72
|
+
if $digest_url == '' {
|
73
|
+
$digest_src = "${url}.${digest_type}"
|
74
|
+
} else {
|
75
|
+
$digest_src = $digest_url
|
76
|
+
}
|
77
|
+
|
78
|
+
exec {"download digest of archive $name":
|
79
|
+
command => "curl ${insecure_arg} -o ${src_target}/${name}.${digest_type} ${digest_src}",
|
80
|
+
creates => "${src_target}/${name}.${digest_type}",
|
81
|
+
timeout => $timeout,
|
82
|
+
notify => Exec["download archive $name and check sum"],
|
83
|
+
path => "/usr/local/bin:/usr/bin:/bin",
|
84
|
+
require => Package['curl'],
|
85
|
+
}
|
86
|
+
|
87
|
+
}
|
88
|
+
absent: {
|
89
|
+
file{"${src_target}/${name}.${digest_type}":
|
90
|
+
ensure => absent,
|
91
|
+
purge => true,
|
92
|
+
force => true,
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
if $digest_string != '' {
|
99
|
+
case $ensure {
|
100
|
+
present: {
|
101
|
+
file {"${src_target}/${name}.${digest_type}":
|
102
|
+
ensure => $ensure,
|
103
|
+
content => "${digest_string} *${name}",
|
104
|
+
notify => Exec["download archive $name and check sum"],
|
105
|
+
}
|
106
|
+
}
|
107
|
+
absent: {
|
108
|
+
file {"${src_target}/${name}.${digest_type}":
|
109
|
+
ensure => absent,
|
110
|
+
purge => true,
|
111
|
+
force => true,
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
false : { notice 'No checksum for this archive' }
|
118
|
+
default: { fail ( "Unknown checksum value: '${checksum}'" ) }
|
119
|
+
}
|
120
|
+
|
121
|
+
case $ensure {
|
122
|
+
present: {
|
123
|
+
exec {"download archive $name and check sum":
|
124
|
+
command => "curl ${insecure_arg} -o ${src_target}/${name} ${url}",
|
125
|
+
path => "/usr/local/bin:/usr/bin:/bin",
|
126
|
+
creates => "${src_target}/${name}",
|
127
|
+
logoutput => true,
|
128
|
+
timeout => $timeout,
|
129
|
+
require => Package['curl'],
|
130
|
+
notify => $checksum ? {
|
131
|
+
true => Exec["rm-on-error-${name}"],
|
132
|
+
default => undef,
|
133
|
+
},
|
134
|
+
refreshonly => $checksum ? {
|
135
|
+
true => true,
|
136
|
+
default => undef,
|
137
|
+
},
|
138
|
+
}
|
139
|
+
|
140
|
+
exec {"rm-on-error-${name}":
|
141
|
+
command => "rm -f ${src_target}/${name} ${src_target}/${name}.${digest_type} && exit 1",
|
142
|
+
unless => $checksum_cmd,
|
143
|
+
cwd => $src_target,
|
144
|
+
path => "/usr/local/bin:/usr/bin:/bin",
|
145
|
+
refreshonly => true,
|
146
|
+
}
|
147
|
+
}
|
148
|
+
absent: {
|
149
|
+
file {"${src_target}/${name}":
|
150
|
+
ensure => absent,
|
151
|
+
purge => true,
|
152
|
+
force => true,
|
153
|
+
}
|
154
|
+
}
|
155
|
+
default: { fail ( "Unknown ensure value: '${ensure}'" ) }
|
156
|
+
}
|
157
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
== Definition: archive::extract
|
4
|
+
|
5
|
+
Archive extractor.
|
6
|
+
|
7
|
+
Parameters:
|
8
|
+
|
9
|
+
- *$target: Destination directory
|
10
|
+
- *$src_target: Default value "/usr/src".
|
11
|
+
- *$root_dir: Default value "".
|
12
|
+
- *$extension: Default value ".tar.gz".
|
13
|
+
- *$timeout: Default value 120.
|
14
|
+
|
15
|
+
Example usage:
|
16
|
+
|
17
|
+
archive::extract {"apache-tomcat-6.0.26":
|
18
|
+
ensure => present,
|
19
|
+
target => "/opt",
|
20
|
+
}
|
21
|
+
|
22
|
+
This means we want to extract the local archive
|
23
|
+
(maybe downloaded with archive::download)
|
24
|
+
'/usr/src/apache-tomcat-6.0.26.tar.gz' in '/src/apache-tomcat-6.0.26'
|
25
|
+
|
26
|
+
Warning:
|
27
|
+
|
28
|
+
The parameter *$root_dir* must be used if the root directory of the archive
|
29
|
+
is different from the name of the archive *$name*. To extract the name of
|
30
|
+
the root directory use the commands "tar tf archive.tar.gz" or
|
31
|
+
"unzip -l archive.zip"
|
32
|
+
|
33
|
+
*/
|
34
|
+
define archive::extract (
|
35
|
+
$target,
|
36
|
+
$ensure=present,
|
37
|
+
$src_target='/usr/src',
|
38
|
+
$root_dir='',
|
39
|
+
$extension='tar.gz',
|
40
|
+
$onlyif='true',
|
41
|
+
$timeout=120) {
|
42
|
+
|
43
|
+
if $root_dir != '' {
|
44
|
+
$extract_dir = "${target}/${root_dir}"
|
45
|
+
} else {
|
46
|
+
$extract_dir = "${target}/${name}"
|
47
|
+
}
|
48
|
+
|
49
|
+
case $ensure {
|
50
|
+
present: {
|
51
|
+
|
52
|
+
$extract_zip = "unzip -o ${src_target}/${name}.${extension} -d ${target}"
|
53
|
+
$extract_targz = "tar --no-same-owner --no-same-permissions -xzf ${src_target}/${name}.${extension} -C ${target}"
|
54
|
+
$extract_tarbz2 = "tar --no-same-owner --no-same-permissions -xjf ${src_target}/${name}.${extension} -C ${target}"
|
55
|
+
|
56
|
+
exec {"$name unpack":
|
57
|
+
command => $extension ? {
|
58
|
+
'zip' => "mkdir -p ${target} && ${extract_zip}",
|
59
|
+
'tar.gz' => "mkdir -p ${target} && ${extract_targz}",
|
60
|
+
'tgz' => "mkdir -p ${target} && ${extract_targz}",
|
61
|
+
'tar.bz2' => "mkdir -p ${target} && ${extract_tarbz2}",
|
62
|
+
'tgz2' => "mkdir -p ${target} && ${extract_tarbz2}",
|
63
|
+
default => fail ( "Unknown extension value '${extension}'" ),
|
64
|
+
},
|
65
|
+
path => "/usr/local/bin:/usr/bin:/bin",
|
66
|
+
creates => $extract_dir,
|
67
|
+
onlyif => $onlyif,
|
68
|
+
timeout => $timeout
|
69
|
+
}
|
70
|
+
}
|
71
|
+
absent: {
|
72
|
+
file {$extract_dir:
|
73
|
+
ensure => absent,
|
74
|
+
recurse => true,
|
75
|
+
purge => true,
|
76
|
+
force => true,
|
77
|
+
}
|
78
|
+
}
|
79
|
+
default: { err ( "Unknown ensure value: '${ensure}'" ) }
|
80
|
+
}
|
81
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
== Definition: archive
|
4
|
+
|
5
|
+
Download and extract an archive.
|
6
|
+
|
7
|
+
Parameters:
|
8
|
+
|
9
|
+
- *$url:
|
10
|
+
- *$target: Destination directory
|
11
|
+
- *$checksum: Default value "true"
|
12
|
+
- *$digest_url: Default value ""
|
13
|
+
- *$digest_string: Default value ""
|
14
|
+
- *$digest_type: Default value "md5"
|
15
|
+
- *$src_target: Default value "/usr/src"
|
16
|
+
- *$root_dir: Default value ""
|
17
|
+
- *$extension: Default value ".tar.gz"
|
18
|
+
- *$timeout: Default value 120
|
19
|
+
- *$allow_insecure: Default value false
|
20
|
+
- *$onlyif: Expression console to test if we have to execute this class
|
21
|
+
|
22
|
+
Example usage:
|
23
|
+
|
24
|
+
archive {"apache-tomcat-6.0.26":
|
25
|
+
ensure => present,
|
26
|
+
url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz",
|
27
|
+
target => "/opt",
|
28
|
+
}
|
29
|
+
|
30
|
+
*/
|
31
|
+
define archive (
|
32
|
+
$url,
|
33
|
+
$target,
|
34
|
+
$ensure=present,
|
35
|
+
$checksum=true,
|
36
|
+
$digest_url='',
|
37
|
+
$digest_string='',
|
38
|
+
$digest_type='md5',
|
39
|
+
$timeout=120,
|
40
|
+
$root_dir='',
|
41
|
+
$extension='tar.gz',
|
42
|
+
$src_target='/usr/src',
|
43
|
+
$allow_insecure=true,
|
44
|
+
$onlyif = "true",
|
45
|
+
) {
|
46
|
+
|
47
|
+
archive::download {"${name}.${extension}":
|
48
|
+
ensure => $ensure,
|
49
|
+
url => $url,
|
50
|
+
checksum => $checksum,
|
51
|
+
digest_url => $digest_url,
|
52
|
+
digest_string => $digest_string,
|
53
|
+
digest_type => $digest_type,
|
54
|
+
timeout => $timeout,
|
55
|
+
src_target => $src_target,
|
56
|
+
allow_insecure => $allow_insecure,
|
57
|
+
}
|
58
|
+
|
59
|
+
archive::extract {$name:
|
60
|
+
ensure => $ensure,
|
61
|
+
target => $target,
|
62
|
+
src_target => $src_target,
|
63
|
+
root_dir => $root_dir,
|
64
|
+
extension => $extension,
|
65
|
+
timeout => $timeout,
|
66
|
+
onlyif => $onlyif,
|
67
|
+
require => Archive::Download["${name}.${extension}"]
|
68
|
+
}
|
69
|
+
|
70
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
define archive::zip($source, $target) {
|
2
|
+
exec {"$name unpack":
|
3
|
+
command => "TMPFILE=\$(mktemp); curl -o \${TMPFILE}.zip ${source} && unzip \${TMPFILE}.zip -d ${target} && rm \$TMPFILE && rm \${TMPFILE}.zip && touch ${name}",
|
4
|
+
creates => $name,
|
5
|
+
require => Package['unzip'],
|
6
|
+
}
|
7
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"name": "jproyo-archive",
|
3
|
+
"version": "0.0.4",
|
4
|
+
"source": "https://github.com/mxhero/puppet-modules/tree/master/modules/archive",
|
5
|
+
"author": "Juan Pablo Royo",
|
6
|
+
"license": "Apache 2.0",
|
7
|
+
"summary": "Archive download and extractor to manage tar, zip, tarballs, etc.",
|
8
|
+
"description": "Archive download and extractor to manage tar, zip, tarballs, etc.",
|
9
|
+
"project_page": "https://github.com/mxhero/puppet-modules/tree/master/modules/archive",
|
10
|
+
"dependencies": [
|
11
|
+
|
12
|
+
],
|
13
|
+
"types": [
|
14
|
+
|
15
|
+
],
|
16
|
+
"checksums": {
|
17
|
+
"LICENSE-2.0.txt": "3b83ef96387f14655fc854ddc3c6bd57",
|
18
|
+
"Modulefile": "a76a4c40cc1d9f180cc939b25ffef2d7",
|
19
|
+
"README.md": "4d073a0b89325bec1043077da735d2b6",
|
20
|
+
"manifests/download.pp": "4534c4e36c4c66709d6c7c2b81c0bb4d",
|
21
|
+
"manifests/extract.pp": "b71cf3b77a20be26f2955e16c4ddf322",
|
22
|
+
"manifests/init.pp": "7736371f5930f37ba1eadde4b3015c83",
|
23
|
+
"manifests/tar-gz.pp": "b5be6abbf6117ced47a607c44cb32bba",
|
24
|
+
"manifests/zip.pp": "6acec396618df9c492a576c1fb372b6c"
|
25
|
+
}
|
26
|
+
}
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,44 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../', 'lib'))
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rspec'
|
4
4
|
require 'rubyipmi'
|
5
5
|
|
6
6
|
# Requires supporting files with custom matchers and macros, etc,
|
7
7
|
# in ./support/ and its subdirectories.
|
8
|
-
|
8
|
+
|
9
|
+
#Dir["#{File.dirname(__FILE__)}/unit/**/*.rb"].each {|f| require f}
|
10
|
+
|
11
|
+
def command_is_eql?(source, expected)
|
12
|
+
src = source.split(' ')
|
13
|
+
exp = expected.split(' ')
|
14
|
+
return exp - src
|
15
|
+
end
|
16
|
+
|
17
|
+
def verify_freeipmi_command(cmdobj, exp_args_count, expcmd)
|
18
|
+
actual = cmdobj.lastcall
|
19
|
+
actual.scan(/(^#{Regexp.escape(expcmd)})/) do |cmd_match|
|
20
|
+
cmd_match.first.should eq(expcmd)
|
21
|
+
end
|
22
|
+
args_match = actual.scan(/(\-{2}[\w-]*=?[-\w\/]*)/)
|
23
|
+
# not sure how to exactly test for arguments since they could vary, so we will need to use count for now
|
24
|
+
#args_match.should =~ exp_args
|
25
|
+
args_match.count.should eq(exp_args_count)
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
def verify_ipmitool_command(cmdobj, exp_args_count, expcmd, required_args)
|
30
|
+
actual = cmdobj.lastcall
|
31
|
+
actual.scan(/(^#{Regexp.escape(expcmd)})/) do |cmd_match|
|
32
|
+
cmd_match.first.should eq(expcmd)
|
33
|
+
end
|
34
|
+
args_match = actual.scan(/(-\w\s[\w\d\S]*)/)
|
35
|
+
actual.include?(required_args).should be_true
|
36
|
+
# not sure how to exactly test for arguments since they could vary, so we will need to use count for now
|
37
|
+
#args_match.should =~ exp_args
|
38
|
+
args_match.count.should eq(exp_args_count)
|
39
|
+
end
|
40
|
+
|
9
41
|
|
10
42
|
RSpec.configure do |config|
|
11
|
-
|
43
|
+
|
12
44
|
end
|