sys-cpu 1.0.6 → 1.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
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +10 -1
- data/MANIFEST.md +0 -3
- data/README.md +2 -1
- data/Rakefile +5 -9
- data/install.rb +1 -1
- data/lib/sys/cpu.rb +1 -1
- data/lib/sys/darwin/sys/cpu.rb +0 -2
- data/lib/sys/linux/sys/cpu.rb +8 -0
- data/lib/sys/unix/sys/cpu.rb +13 -2
- data/spec/spec_helper.rb +1 -2
- data/spec/sys_cpu_bsd_spec.rb +7 -1
- data/spec/sys_cpu_shared.rb +1 -1
- data/sys-cpu.gemspec +3 -2
- data.tar.gz.sig +0 -0
- metadata +8 -11
- metadata.gz.sig +0 -0
- data/doc/sunos.txt +0 -56
- data/examples/example_sys_cpu_sunos.rb +0 -21
- data/spec/sys_cpu_sunos_spec.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2c9b0550fea7a97f78cb37062e8f347d1b945e53a2a885f2c4fa8cdd02e0dc5
|
4
|
+
data.tar.gz: 6b4c3525653fd1a186078a533826795e3d2b168c2649d48fe549de33ca021edb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3efb6d399e22fff8380ec6d581c3997707bab5f99a7bbe001a86a058427e348066fce271348c9451f567bf6ffa7a9f2cf247de94ae82cd258d5ea6fa3d4bb9c
|
7
|
+
data.tar.gz: 337fe45c0fe0463320c910aee118cf3496f71b9b4be7965d79204a109b12d273746f47afa50deb96519ec4118a3058e2aba00d912810bf065abee5e5fc8e0678
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
|
+
## 1.1.0 - 9-Jun-2024
|
2
|
+
* Removed Solaris support.
|
3
|
+
* Added DragonflyBSD support.
|
4
|
+
* Fixed example task.
|
5
|
+
* Made some constants private in the generic Unix code that should
|
6
|
+
have been private.
|
7
|
+
* The architecture method on Linux will now interpret values 4, 5
|
8
|
+
and 15. If it's not any of those values it will return 'Unknown'.
|
9
|
+
|
1
10
|
## 1.0.6 - 12-Aug-2022
|
2
11
|
* The Sys::CPU.model method will now return "ARM" for machines using an
|
3
|
-
ARM-based processor instead of "
|
12
|
+
ARM-based processor instead of "Unknown".
|
4
13
|
|
5
14
|
## 1.0.5 - 10-Aug-2022
|
6
15
|
* Updated the cpu detection handling for Mac M1 systems. Thanks go to
|
data/MANIFEST.md
CHANGED
@@ -9,12 +9,10 @@
|
|
9
9
|
* doc/bsd.txt
|
10
10
|
* doc/hpux.txt
|
11
11
|
* doc/linux.txt
|
12
|
-
* doc/sunos.txt
|
13
12
|
* doc/windows.txt
|
14
13
|
* examples/example_sys_cpu_freebsd.rb
|
15
14
|
* examples/example_sys_cpu_hpux.rb
|
16
15
|
* examples/example_sys_cpu_linux.rb
|
17
|
-
* examples/example_sys_cpu_sunos.rb
|
18
16
|
* examples/example_sys_cpu_windows.rb
|
19
17
|
* lib/sys/cpu.rb
|
20
18
|
* lib/sys/darwin/sys/cpu.rb
|
@@ -26,5 +24,4 @@
|
|
26
24
|
* spec/sys_cpu_bsd_spec.rb
|
27
25
|
* spec/sys_cpu_hpux_spec.rb
|
28
26
|
* spec/sys_cpu_linux_spec.rb
|
29
|
-
* spec/sys_cpu_sunos_spec.rb
|
30
27
|
* spec/sys_cpu_windows_spec.rb
|
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
* Linux
|
4
4
|
* Windows
|
5
5
|
* OSX
|
6
|
+
* DragonflyBSD
|
6
7
|
|
7
8
|
## Description
|
8
9
|
A Ruby interface for getting cpu information.
|
@@ -71,7 +72,7 @@ https://github.com/djberg96/sys-cpu
|
|
71
72
|
Apache-2.0
|
72
73
|
|
73
74
|
## Copyright
|
74
|
-
(C) 2003-
|
75
|
+
(C) 2003-2024 Daniel J. Berger, All Rights Reserved
|
75
76
|
|
76
77
|
## Warranty
|
77
78
|
This package is provided "as is" and without any express or
|
data/Rakefile
CHANGED
@@ -26,23 +26,19 @@ end
|
|
26
26
|
desc "Run the example program"
|
27
27
|
task :example => [:clean] do
|
28
28
|
case CONFIG['host_os']
|
29
|
-
when /bsd|darwin|osx/i
|
29
|
+
when /bsd|darwin|osx|dragonfly/i
|
30
30
|
file = "examples/example_sys_cpu_bsd.rb"
|
31
|
-
sh "ruby -Ilib
|
31
|
+
sh "ruby -Ilib #{file}"
|
32
32
|
when /hpux/i
|
33
33
|
file = "examples/example_sys_cpu_hpux.rb"
|
34
|
-
sh "ruby -Ilib
|
34
|
+
sh "ruby -Ilib #{file}"
|
35
35
|
when /linux/i
|
36
36
|
file = "examples/example_sys_cpu_linux.rb"
|
37
|
-
sh "ruby -Ilib
|
37
|
+
sh "ruby -Ilib #{file}"
|
38
38
|
when /windows|win32|cygwin|mingw|dos/i
|
39
39
|
file = "examples/example_sys_cpu_windows.rb"
|
40
|
-
sh "ruby -Ilib
|
41
|
-
when /sunos|solaris/i
|
42
|
-
file = "examples/example_sys_cpu_sunos.rb"
|
43
|
-
sh "ruby -Ilib/unix #{file}"
|
40
|
+
sh "ruby -Ilib #{file}"
|
44
41
|
end
|
45
|
-
|
46
42
|
end
|
47
43
|
|
48
44
|
RuboCop::RakeTask.new
|
data/install.rb
CHANGED
@@ -16,7 +16,7 @@ case CONFIG['host_os']
|
|
16
16
|
file = "lib/windows/sys/cpu.rb"
|
17
17
|
when /linux/i
|
18
18
|
file = "lib/linux/sys/cpu.rb"
|
19
|
-
when /
|
19
|
+
when /hpux|freebsd|dragonfly/i
|
20
20
|
STDERR.puts "Use 'extconf.rb/make/make site-install' for this platform"
|
21
21
|
exit
|
22
22
|
else
|
data/lib/sys/cpu.rb
CHANGED
data/lib/sys/darwin/sys/cpu.rb
CHANGED
@@ -69,11 +69,9 @@ module Sys
|
|
69
69
|
private_class_method :sysctlbyname
|
70
70
|
|
71
71
|
attach_function :getloadavg, %i[pointer int], :int
|
72
|
-
attach_function :processor_info, %i[int int string pointer pointer], :int
|
73
72
|
attach_function :sysconf, [:int], :long
|
74
73
|
|
75
74
|
private_class_method :getloadavg
|
76
|
-
private_class_method :processor_info
|
77
75
|
private_class_method :sysconf
|
78
76
|
|
79
77
|
class ClockInfo < FFI::Struct
|
data/lib/sys/linux/sys/cpu.rb
CHANGED
data/lib/sys/unix/sys/cpu.rb
CHANGED
@@ -20,16 +20,22 @@ module Sys
|
|
20
20
|
HW_NCPU = 3 # Number of CPU's
|
21
21
|
HW_CPU_FREQ = 15 # CPU frequency
|
22
22
|
|
23
|
-
|
23
|
+
private_constant :CTL_HW, :HW_MACHINE, :HW_MODEL, :HW_NCPU, :HW_CPU_FREQ
|
24
|
+
|
25
|
+
if RbConfig::CONFIG['host_os'] =~ /bsd|dragonfly/
|
24
26
|
HW_MACHINE_ARCH = 11 # Machine architecture
|
25
27
|
else
|
26
28
|
HW_MACHINE_ARCH = 12 # Machine architecture
|
27
29
|
end
|
28
30
|
|
31
|
+
private_constant :HW_MACHINE_ARCH
|
32
|
+
|
29
33
|
SI_MACHINE = 5
|
30
34
|
SI_ARCHITECTURE = 6
|
31
35
|
SC_NPROCESSORS_ONLN = 15
|
32
36
|
|
37
|
+
private_constant :SI_MACHINE, :SI_ARCHITECTURE, :SC_NPROCESSORS_ONLN
|
38
|
+
|
33
39
|
P_OFFLINE = 1
|
34
40
|
P_ONLINE = 2
|
35
41
|
P_FAULTED = 4
|
@@ -37,6 +43,8 @@ module Sys
|
|
37
43
|
P_NOINTR = 6
|
38
44
|
P_SPARE = 7
|
39
45
|
|
46
|
+
private_constant :P_OFFLINE, :P_ONLINE, :P_FAULTED, :P_POWEROFF, :P_NOINTR, :P_SPARE
|
47
|
+
|
40
48
|
CPU_ARCH_ABI64 = 0x01000000
|
41
49
|
CPU_TYPE_X86 = 7
|
42
50
|
CPU_TYPE_X86_64 = (CPU_TYPE_X86 | CPU_ARCH_ABI64)
|
@@ -44,6 +52,9 @@ module Sys
|
|
44
52
|
CPU_TYPE_POWERPC = 18
|
45
53
|
CPU_TYPE_POWERPC64 = CPU_TYPE_POWERPC | CPU_ARCH_ABI64
|
46
54
|
|
55
|
+
private_constant :CPU_ARCH_ABI64, :CPU_TYPE_X86, :CPU_TYPE_X86_64
|
56
|
+
private_constant :CPU_TYPE_SPARC, :CPU_TYPE_POWERPC, :CPU_TYPE_POWERPC64
|
57
|
+
|
47
58
|
begin
|
48
59
|
attach_function(
|
49
60
|
:sysctl,
|
@@ -234,7 +245,7 @@ module Sys
|
|
234
245
|
|
235
246
|
size.write_long(optr.size)
|
236
247
|
|
237
|
-
if RbConfig::CONFIG['host_os'] =~ /bsd/i
|
248
|
+
if RbConfig::CONFIG['host_os'] =~ /bsd|dragonfly/i
|
238
249
|
name = 'hw.clockrate'
|
239
250
|
else
|
240
251
|
name = 'hw.cpufrequency'
|
data/spec/spec_helper.rb
CHANGED
@@ -5,8 +5,7 @@ require 'sys_cpu_shared'
|
|
5
5
|
|
6
6
|
RSpec.configure do |config|
|
7
7
|
config.include_context(Sys::CPU)
|
8
|
-
config.filter_run_excluding(:bsd) if RbConfig::CONFIG['host_os'] !~ /bsd|darwin|mach|osx/i
|
9
|
-
config.filter_run_excluding(:sunos) if RbConfig::CONFIG['host_os'] !~ /sunos|solaris/i
|
8
|
+
config.filter_run_excluding(:bsd) if RbConfig::CONFIG['host_os'] !~ /bsd|darwin|mach|osx|dragonfly/i
|
10
9
|
config.filter_run_excluding(:windows) if RbConfig::CONFIG['host_os'] !~ /mswin|win32|dos|mingw|cygwin/i
|
11
10
|
config.filter_run_excluding(:hpux) if RbConfig::CONFIG['host_os'] !~ /hpux/i
|
12
11
|
config.filter_run_excluding(:linux) if RbConfig::CONFIG['host_os'] !~ /linux/i
|
data/spec/sys_cpu_bsd_spec.rb
CHANGED
@@ -104,7 +104,13 @@ RSpec.describe Sys::CPU, :bsd => true do
|
|
104
104
|
expect(constants).not_to include(:ClockInfo)
|
105
105
|
end
|
106
106
|
|
107
|
-
example "ffi methods are private" do
|
107
|
+
example "ffi core methods are private" do
|
108
|
+
methods = described_class.methods(false)
|
109
|
+
expect(methods).not_to include(:attach_function)
|
110
|
+
expect(methods).not_to include(:bitmask)
|
111
|
+
end
|
112
|
+
|
113
|
+
example "ffi attached methods are private" do
|
108
114
|
methods = described_class.methods(false)
|
109
115
|
expect(methods).not_to include(:sysctl)
|
110
116
|
expect(methods).not_to include(:sysctlbyname)
|
data/spec/sys_cpu_shared.rb
CHANGED
data/sys-cpu.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'sys-cpu'
|
5
|
-
spec.version = '1.0
|
5
|
+
spec.version = '1.1.0'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.email = 'djberg96@gmail.com'
|
8
8
|
spec.license = 'Apache-2.0'
|
@@ -29,7 +29,8 @@ Gem::Specification.new do |spec|
|
|
29
29
|
'documentation_uri' => 'https://github.com/djberg96/sys-cpu/wiki',
|
30
30
|
'source_code_uri' => 'https://github.com/djberg96/sys-cpu',
|
31
31
|
'wiki_uri' => 'https://github.com/djberg96/sys-cpu/wiki',
|
32
|
-
'rubygems_mfa_required' => 'true'
|
32
|
+
'rubygems_mfa_required' => 'true',
|
33
|
+
'github_repo' => 'https://github.com/djberg96/sys-cpu'
|
33
34
|
}
|
34
35
|
|
35
36
|
spec.description = <<-EOF
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-cpu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2024-06-10 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -126,12 +126,10 @@ files:
|
|
126
126
|
- doc/bsd.md
|
127
127
|
- doc/hpux.txt
|
128
128
|
- doc/linux.md
|
129
|
-
- doc/sunos.txt
|
130
129
|
- doc/windows.txt
|
131
130
|
- examples/example_sys_cpu_bsd.rb
|
132
131
|
- examples/example_sys_cpu_hpux.rb
|
133
132
|
- examples/example_sys_cpu_linux.rb
|
134
|
-
- examples/example_sys_cpu_sunos.rb
|
135
133
|
- examples/example_sys_cpu_windows.rb
|
136
134
|
- install.rb
|
137
135
|
- lib/sys-cpu.rb
|
@@ -145,7 +143,6 @@ files:
|
|
145
143
|
- spec/sys_cpu_hpux_spec.rb
|
146
144
|
- spec/sys_cpu_linux_spec.rb
|
147
145
|
- spec/sys_cpu_shared.rb
|
148
|
-
- spec/sys_cpu_sunos_spec.rb
|
149
146
|
- spec/sys_cpu_windows_spec.rb
|
150
147
|
- sys-cpu.gemspec
|
151
148
|
homepage: https://github.com/djberg96/sys-cpu
|
@@ -159,7 +156,8 @@ metadata:
|
|
159
156
|
source_code_uri: https://github.com/djberg96/sys-cpu
|
160
157
|
wiki_uri: https://github.com/djberg96/sys-cpu/wiki
|
161
158
|
rubygems_mfa_required: 'true'
|
162
|
-
|
159
|
+
github_repo: https://github.com/djberg96/sys-cpu
|
160
|
+
post_install_message:
|
163
161
|
rdoc_options: []
|
164
162
|
require_paths:
|
165
163
|
- lib
|
@@ -174,15 +172,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
172
|
- !ruby/object:Gem::Version
|
175
173
|
version: '0'
|
176
174
|
requirements: []
|
177
|
-
rubygems_version: 3.3.
|
178
|
-
signing_key:
|
175
|
+
rubygems_version: 3.3.26
|
176
|
+
signing_key:
|
179
177
|
specification_version: 4
|
180
178
|
summary: A Ruby interface for providing CPU information
|
181
179
|
test_files:
|
182
180
|
- spec/spec_helper.rb
|
183
181
|
- spec/sys_cpu_bsd_spec.rb
|
184
|
-
- spec/sys_cpu_shared.rb
|
185
|
-
- spec/sys_cpu_sunos_spec.rb
|
186
182
|
- spec/sys_cpu_hpux_spec.rb
|
187
183
|
- spec/sys_cpu_linux_spec.rb
|
184
|
+
- spec/sys_cpu_shared.rb
|
188
185
|
- spec/sys_cpu_windows_spec.rb
|
metadata.gz.sig
CHANGED
Binary file
|
data/doc/sunos.txt
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
== Description
|
2
|
-
Sys::CPU - An interface for various cpu statistics
|
3
|
-
|
4
|
-
== Synopsis
|
5
|
-
require "sys/cpu"
|
6
|
-
include Sys
|
7
|
-
|
8
|
-
# Solaris
|
9
|
-
puts "Mhz: " + CPU.cpu_freq(0).to_s
|
10
|
-
puts "State: " + CPU.state(0)
|
11
|
-
puts "Number of cpu's on this system: " + CPU.num_cpu.to_s
|
12
|
-
puts "CPU type: " + CPU.architecture
|
13
|
-
puts "FPU type: " + CPU.fpu_type
|
14
|
-
puts "CPU model: " + CPU.model
|
15
|
-
puts "Load averages: " + CPU.load_avg.join(", ")
|
16
|
-
|
17
|
-
== Constants
|
18
|
-
VERSION
|
19
|
-
Returns the current version number for this package.
|
20
|
-
|
21
|
-
== Class Methods
|
22
|
-
CPU.freq(cpu_num=0)
|
23
|
-
Returns an integer indicating the speed (i.e. frequency in Mhz) of
|
24
|
-
'cpu_num', or CPU 0 if no number is provided.
|
25
|
-
|
26
|
-
CPU.architecture
|
27
|
-
Returns a string indicating the type of processor. This is the
|
28
|
-
architecture (e.g. sparcv9), not the exact model (e.g. Ultra-IIe).
|
29
|
-
Returns nil if not found.
|
30
|
-
|
31
|
-
CPU.fpu_type
|
32
|
-
Returns a string indicating the type of floating point unit, or nil if
|
33
|
-
not found.
|
34
|
-
|
35
|
-
CPU.load_avg
|
36
|
-
Returns an array of three floats indicating the 1, 5 and 15 minute load
|
37
|
-
average.
|
38
|
-
|
39
|
-
CPU.model
|
40
|
-
Returns a string indicating the cpu model. For now, this is the
|
41
|
-
architecture type, rather than the exact model. However, see the
|
42
|
-
'Future Plans' section below.
|
43
|
-
|
44
|
-
CPU.num_cpu
|
45
|
-
Returns an integer indicating the number of cpu's on the system.
|
46
|
-
|
47
|
-
CPU.state(cpu_num)
|
48
|
-
Returns a string indicating the cpu state of 'cpu_num'.
|
49
|
-
|
50
|
-
== Error Classes
|
51
|
-
CPU::Error < StandardError
|
52
|
-
Raised is response to internal function errors, usually relating to an
|
53
|
-
invalid cpu number.
|
54
|
-
|
55
|
-
== More Information
|
56
|
-
See the README file for more information.
|
@@ -1,21 +0,0 @@
|
|
1
|
-
#######################################################################
|
2
|
-
# example_sys_cpu_sunos.rb
|
3
|
-
#
|
4
|
-
# Sample cript for general futzing. You can run this code via the
|
5
|
-
# 'rake example' task.
|
6
|
-
#
|
7
|
-
# Modify as you see fit.
|
8
|
-
#######################################################################
|
9
|
-
require "sys/cpu"
|
10
|
-
include Sys
|
11
|
-
|
12
|
-
puts "VERSION: " + CPU::VERSION
|
13
|
-
puts "========"
|
14
|
-
|
15
|
-
puts "Load Average: " + CPU.load_avg.join(", ")
|
16
|
-
puts "CPU Freq (speed): " + CPU.freq.to_s
|
17
|
-
puts "CPU State: " + CPU.state(0)
|
18
|
-
puts "Num CPU: " + CPU.num_cpu.to_s
|
19
|
-
puts "Type: " + CPU.cpu_type
|
20
|
-
puts "FPU Type: " + CPU.fpu_type
|
21
|
-
puts "Model: " + CPU.model
|
data/spec/sys_cpu_sunos_spec.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
###########################################################
|
4
|
-
# sys_cpu_sunos_spec.rb
|
5
|
-
#
|
6
|
-
# Test suite for sys-cpu on Solaris. This should be run
|
7
|
-
# via the 'rake spec' task.
|
8
|
-
###########################################################
|
9
|
-
require 'sys/cpu'
|
10
|
-
require 'spec_helper'
|
11
|
-
|
12
|
-
RSpec.describe Sys::CPU, :sunos => true do
|
13
|
-
example 'freq method basic functionality' do
|
14
|
-
expect(described_class).to respond_to(:freq)
|
15
|
-
expect{ described_class.freq }.not_to raise_error
|
16
|
-
end
|
17
|
-
|
18
|
-
example 'freq method does not accept any arguments' do
|
19
|
-
expect{ described_class.freq(0) }.to raise_error(ArgumentError)
|
20
|
-
end
|
21
|
-
|
22
|
-
example 'freq method returns a sane value' do
|
23
|
-
expect(described_class.freq).to be_kind_of(Integer)
|
24
|
-
expect(described_class.freq).to be > 100
|
25
|
-
end
|
26
|
-
|
27
|
-
example 'fpu_type basic functionality' do
|
28
|
-
expect(described_class).to respond_to(:fpu_type)
|
29
|
-
expect{ described_class.fpu_type }.not_to raise_error
|
30
|
-
end
|
31
|
-
|
32
|
-
example 'fpu_type returns a sane value' do
|
33
|
-
expect(described_class.fpu_type).to be_kind_of(String)
|
34
|
-
expect(described_class.fpu_type).not_to be_empty
|
35
|
-
end
|
36
|
-
|
37
|
-
example 'load_avg basic functionality' do
|
38
|
-
expect(described_class).to respond_to(:load_avg)
|
39
|
-
expect{ described_class.load_avg }.not_to raise_error
|
40
|
-
end
|
41
|
-
|
42
|
-
example 'load_avg method returns the expected values' do
|
43
|
-
expect(described_class.load_avg).to be_kind_of(Array)
|
44
|
-
expect(described_class.load_avg.length).to eq(3)
|
45
|
-
expect(described_class.load_avg.first).to be_kind_of(Float)
|
46
|
-
end
|
47
|
-
|
48
|
-
example 'model method basic functionality' do
|
49
|
-
expect(described_class).to respond_to(:model)
|
50
|
-
expect{ described_class.model }.not_to raise_error
|
51
|
-
end
|
52
|
-
|
53
|
-
example 'model method returns a sane value' do
|
54
|
-
expect(described_class.model).to be_kind_of(String)
|
55
|
-
expect(described_class.model).not_to be_empty
|
56
|
-
end
|
57
|
-
|
58
|
-
example 'num_cpu method basic functionalty' do
|
59
|
-
expect(described_class).to respond_to(:num_cpu)
|
60
|
-
expect{ described_class.num_cpu }.not_to raise_error
|
61
|
-
end
|
62
|
-
|
63
|
-
example 'num_cpu method returns a sane value' do
|
64
|
-
expect(described_class.num_cpu).to be_kind_of(Integer)
|
65
|
-
expect(described_class.num_cpu).to be > 0
|
66
|
-
end
|
67
|
-
|
68
|
-
example 'state basic functionality' do
|
69
|
-
expect(described_class).to respond_to(:state)
|
70
|
-
expect{ described_class.state }.not_to raise_error
|
71
|
-
end
|
72
|
-
|
73
|
-
example 'state method accepts one optional argument' do
|
74
|
-
expect{ described_class.state(0) }.not_to raise_error
|
75
|
-
expect{ described_class.state(0, 0) }.to raise_error(ArgumentError)
|
76
|
-
end
|
77
|
-
|
78
|
-
example 'state method returns a sane value' do
|
79
|
-
expect(described_class.state(0)).to be_kind_of(String)
|
80
|
-
expect(described_class.state.empty?).to be false
|
81
|
-
end
|
82
|
-
end
|