sys-uname 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31180667be68e53785ebbe5829ca946fe69eebd3596fc53689935ca60a54753c
4
- data.tar.gz: 566387a32d6982437cf8ee3906632dc3931b162da4049f14fdb74d91ad332752
3
+ metadata.gz: 77008aa838920e5feb9d539bdf5cdce36adefe1c49807f8f723bc25335f5253d
4
+ data.tar.gz: 718b3cc915cf7b9e5efb0c5f2fb5d6aaa8238c649396aba6f11b0b32960177a8
5
5
  SHA512:
6
- metadata.gz: a81a5ef770b0f9bb317554c0af95772fe4c931ea225036ff2237ff655cae5da94f7cf879f09bad67d1fe41bde5b1d2bebcc424e3ff17a01743c3255215e47f83
7
- data.tar.gz: 21b8c13ac1ebcc542475d9441dbecf70be0dcd1f4e17f7f893f0bc09107bbc21f5f7a5365e2e6058e0b69569a8d0a51690ebb8b537bf4b7c6789ceb926e33aea
6
+ metadata.gz: 7668f8dc545b0ab119cd2eda552d8d80e721ca71a7c637126cb9947e51e21f3b4459ecf64f7802dbd264bacd1bbf37ae5abbfc6dc0fbe63d580d7d1121522ec5
7
+ data.tar.gz: ca70162614537e6bda57d8e1b3c61b2c8897b78ee31df8389df38b69e12b63db69ea8e93ab32e2010ef0522431cbad7800d72fbd8ccdba7e1847698fc16acca4
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGES.rdoc CHANGED
@@ -1,4 +1,10 @@
1
- == 1.1.1 - 10-Doc-2019
1
+ == 1.2.0 - 5-Jan-2020
2
+ * Changed test suite from test-unit to rspec, which was also added as a
3
+ development dependency.
4
+ * Several new fields were added to the returned object on Windows. The fields
5
+ are encryption_level, product_type, suite_mask and system_drive.
6
+
7
+ == 1.1.1 - 10-Dec-2019
2
8
  * Renamed various text files to include explicit .rdoc extension so that
3
9
  they show up more nicely on github.
4
10
 
data/MANIFEST.rdoc CHANGED
@@ -6,7 +6,6 @@
6
6
  * certs/djberg96_pub.pem
7
7
  * doc/uname.txt
8
8
  * examples/uname_test.rb
9
- * ext/extconf.rb
10
- * ext/uname.c
11
9
  * lib/sys/uname.rb
12
- * test/tc_uname.rb
10
+ * spec/sys_uname_spec.rb
11
+ * spec/sys_platform_spec.rb
data/Rakefile CHANGED
@@ -2,6 +2,7 @@ require 'rake'
2
2
  require 'rake/testtask'
3
3
  require 'rake/clean'
4
4
  require 'rbconfig'
5
+ require 'rspec/core/rake_task'
5
6
 
6
7
  CLEAN.include("**/*.rbc", "**/*.rbx", "**/*.gem")
7
8
 
@@ -31,9 +32,6 @@ namespace :gem do
31
32
  end
32
33
 
33
34
  desc "Run the test suite"
34
- Rake::TestTask.new("test") do |t|
35
- t.warning = true
36
- t.verbose = true
37
- end
35
+ RSpec::Core::RakeTask.new(:spec)
38
36
 
39
- task :default => :test
37
+ task :default => :spec
data/lib/sys/uname.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Sys
2
2
  class Uname
3
3
  # The version of the sys-uname gem.
4
- VERSION = '1.1.1'.freeze
4
+ VERSION = '1.2.0'.freeze
5
5
  end
6
6
 
7
7
  class Platform
@@ -34,6 +34,7 @@ module Sys
34
34
  debug
35
35
  description
36
36
  distributed
37
+ encryption_level
37
38
  foreground_application_boost
38
39
  free_physical_memory
39
40
  free_space_in_paging_files
@@ -57,6 +58,7 @@ module Sys
57
58
  plus_product_id
58
59
  plus_version_number
59
60
  primary
61
+ product_type
60
62
  quantum_length
61
63
  quantum_type
62
64
  registered_user
@@ -65,8 +67,10 @@ module Sys
65
67
  service_pack_minor_version
66
68
  size_stored_in_paging_files
67
69
  status
70
+ suite_mask
68
71
  system_device
69
72
  system_directory
73
+ system_drive
70
74
  total_swap_space_size
71
75
  total_virtual_memory_size
72
76
  total_visible_memory_size
@@ -443,6 +447,7 @@ module Sys
443
447
  os.Debug,
444
448
  os.Description,
445
449
  os.Distributed,
450
+ os.EncryptionLevel,
446
451
  os.ForegroundApplicationBoost,
447
452
  self.convert(os.FreePhysicalMemory),
448
453
  self.convert(os.FreeSpaceInPagingFiles),
@@ -466,6 +471,7 @@ module Sys
466
471
  os.PlusProductID,
467
472
  os.PlusVersionNumber,
468
473
  os.Primary,
474
+ os.ProductType,
469
475
  os.respond_to?(:QuantumLength) ? os.QuantumLength : nil,
470
476
  os.respond_to?(:QuantumType) ? os.QuantumType : nil,
471
477
  os.RegisteredUser,
@@ -474,8 +480,10 @@ module Sys
474
480
  os.ServicePackMinorVersion,
475
481
  self.convert(os.SizeStoredInPagingFiles),
476
482
  os.Status,
483
+ os.SuiteMask,
477
484
  os.SystemDevice,
478
485
  os.SystemDirectory,
486
+ os.SystemDrive,
479
487
  self.convert(os.TotalSwapSpaceSize),
480
488
  self.convert(os.TotalVirtualMemorySize),
481
489
  self.convert(os.TotalVisibleMemorySize),
@@ -0,0 +1,75 @@
1
+ ##############################################################################
2
+ # sys_platform_spec.rb
3
+ #
4
+ # Test suite for the Sys::Platform class.
5
+ ##############################################################################
6
+ require 'rspec'
7
+ require 'sys/uname'
8
+ require 'rbconfig'
9
+
10
+ RSpec.describe Sys::Platform do
11
+
12
+ before(:context) do
13
+ @host_os = RbConfig::CONFIG['host_os']
14
+ @windows = @host_os =~ /mingw|mswin|windows/i ? true : false
15
+ end
16
+
17
+ example "the VERSION constant is set to the expected value" do
18
+ expect(Sys::Platform::VERSION).to eql('1.2.0')
19
+ expect(Sys::Platform::VERSION).to be_frozen
20
+ end
21
+
22
+ example "the ARCH constant is defined" do
23
+ expect(Sys::Platform::ARCH).to be_kind_of(Symbol)
24
+ end
25
+
26
+ example "the OS constant is defined" do
27
+ expect(Sys::Platform::OS).to be_kind_of(Symbol)
28
+ end
29
+
30
+ example "the IMPL constant is defined" do
31
+ expect(Sys::Platform::IMPL).to be_kind_of(Symbol)
32
+ end
33
+
34
+ example "the IMPL returns an expected value", :if => @windows do
35
+ expect(Sys::Platform::IMPL).to include([:mingw, :mswin])
36
+ end
37
+
38
+ example "the mac? method is defined and returns a boolean" do
39
+ expect(Sys::Platform).to respond_to(:mac?)
40
+ expect(Sys::Platform.mac?).to eql(true).or eql(false)
41
+ end
42
+
43
+ example "the windows? method is defined and returns a boolean" do
44
+ expect(Sys::Platform).to respond_to(:windows?)
45
+ expect(Sys::Platform.windows?).to eql(true).or eql(false)
46
+ end
47
+
48
+ example "the windows? method returns the expected value" do
49
+ expect(Sys::Platform.windows?).to eql(@windows)
50
+ end
51
+
52
+ example "the unix? method is defined and returns a boolean" do
53
+ expect(Sys::Platform).to respond_to(:unix?)
54
+ expect(Sys::Platform.unix?).to eql(true).or eql(false)
55
+ end
56
+
57
+ example "the unix? method returns the expected value" do
58
+ expect(Sys::Platform.unix?).not_to eql(@windows)
59
+ end
60
+
61
+ example "the solaris? method is defined and returns a boolean" do
62
+ expect(Sys::Platform).to respond_to(:solaris?)
63
+ expect(Sys::Platform.solaris?).to eql(true).or eql(false)
64
+ end
65
+
66
+ example "the linux? method is defined and returns a boolean" do
67
+ expect(Sys::Platform).to respond_to(:linux?)
68
+ expect(Sys::Platform.linux?).to eql(true).or eql(false)
69
+ end
70
+
71
+ example "the bsd? method is defined and returns a boolean" do
72
+ expect(Sys::Platform).to respond_to(:bsd?)
73
+ expect(Sys::Platform.bsd?).to eql(true).or eql(false)
74
+ end
75
+ end
@@ -0,0 +1,445 @@
1
+ ##############################################################################
2
+ # sys_uname_spec.rb
3
+ #
4
+ # Test suite for the sys-uname library. Run 'rake test' to execute tests.
5
+ ##############################################################################
6
+ require 'rspec'
7
+ require 'sys/uname'
8
+ require 'rbconfig'
9
+
10
+ RSpec.describe Sys::Uname do
11
+ context "universal singleton methods" do
12
+ example "version constant is set to expected value" do
13
+ expect(Sys::Uname::VERSION).to eql('1.2.0')
14
+ expect(Sys::Uname::VERSION.frozen?).to be(true)
15
+ end
16
+
17
+ example "machine singleton method works as expected" do
18
+ expect(described_class).to respond_to(:machine)
19
+ expect{ described_class.machine }.not_to raise_error
20
+ expect(described_class.machine).to be_kind_of(String)
21
+ expect(described_class.machine.size).to be > 0
22
+ end
23
+
24
+ example "version singleton method works as expected" do
25
+ expect(described_class).to respond_to(:version)
26
+ expect{ described_class.version }.not_to raise_error
27
+ expect(described_class.version).to be_kind_of(String)
28
+ expect(described_class.version.size).to be > 0
29
+ end
30
+
31
+ example "nodename singleton method works as expected" do
32
+ expect(described_class).to respond_to(:nodename)
33
+ expect{ described_class.nodename }.not_to raise_error
34
+ expect(described_class.nodename).to be_kind_of(String)
35
+ expect(described_class.nodename.size).to be > 0
36
+ end
37
+
38
+ example "release singleton method works as expected" do
39
+ expect(described_class).to respond_to(:release)
40
+ expect{ described_class.release }.not_to raise_error
41
+ expect(described_class.release).to be_kind_of(String)
42
+ expect(described_class.release.size).to be > 0
43
+ end
44
+
45
+ example "sysname singleton method works as expected" do
46
+ expect(described_class).to respond_to(:sysname)
47
+ expect{ described_class.sysname }.not_to raise_error
48
+ expect(described_class.sysname).to be_kind_of(String)
49
+ expect(described_class.sysname.size).to be > 0
50
+ end
51
+ end
52
+
53
+ context "singleton methods for Solaris only", :if => RbConfig::CONFIG['host_os'] =~ /sunos|solaris/i do
54
+ example "architecture singleton method works as expected on solaris" do
55
+ expect(described_class).to respond_to(:architecture)
56
+ expect{ described_class.architecture }.not_to raise_error
57
+ expect(described_class.architecture).to be_kind_of(String)
58
+ end
59
+
60
+ example "platform singleton method works as expected on solaris" do
61
+ expect(described_class).to respond_to(:platform)
62
+ expect{ described_class.platform }.not_to raise_error
63
+ expect(described_class.platform).to be_kind_of(String)
64
+ end
65
+
66
+ example "isa_list singleton method works as expected on solaris" do
67
+ expect(described_class).to respond_to(:isa_list)
68
+ expect{ described_class.isa_list }.not_to raise_error
69
+ expect(described_class.isa_list).to be_kind_of(String)
70
+ end
71
+
72
+ example "hw_provider singleton method works as expected on solaris" do
73
+ expect(described_class).to respond_to(:hw_provider)
74
+ expect{ described_class.hw_provider }.not_to raise_error
75
+ expect(described_class.hw_provider).to be_kind_of(String)
76
+ end
77
+
78
+ example "hw_serial singleton method works as expected on solaris" do
79
+ expect(described_class).to respond_to(:hw_serial)
80
+ expect{ described_class.hw_serial }.not_to raise_error
81
+ expect(described_class.hw_serial).to be_kind_of(Integer)
82
+ end
83
+
84
+ example "srpc_domain singleton method works as expected on solaris" do
85
+ expect(described_class).to respond_to(:srpc_domain)
86
+ expect{ described_class.srpc_domain }.not_to raise_error
87
+ expect(described_class.srpc_domain).to be_kind_of(String)
88
+ end
89
+
90
+ example "dhcp_cache singleton method works as expected on solaris" do
91
+ expect(described_class).to respond_to(:dhcp_cache)
92
+ expect{ described_class.dhcp_cache }.not_to raise_error
93
+ expect(described_class.dhcp_cache).to be_kind_of(String)
94
+ end
95
+ end
96
+
97
+ context "singleton methods for BSD and Darwin only", :if => RbConfig::CONFIG['host_os'] =~ /darwin|bsd/i do
98
+ example "model singleton method works as expected on BSD and Darwin" do
99
+ expect(described_class).to respond_to(:model)
100
+ expect{ described_class.model }.not_to raise_error
101
+ expect(described_class.model).to be_kind_of(String)
102
+ end
103
+ end
104
+
105
+ context "singleton methods for HP-UX only", :if => RbConfig::CONFIG['host_os'] =~ /hpux/i do
106
+ example "id_number singleton method works as expected on HP-UX" do
107
+ expect(described_class).to respond_to(:id_number)
108
+ expect{ described_class.id_number }.not_to raise_error
109
+ expect(described_class.id_number).to be_kind_of(String)
110
+ end
111
+ end
112
+
113
+ context "uname struct" do
114
+ example "uname struct contains expected members based on platform" do
115
+ members = %w/sysname nodename machine version release/
116
+ case RbConfig::CONFIG['host_os']
117
+ when /linux/i
118
+ members.push('domainname')
119
+ when /sunos|solaris/i
120
+ members.push(
121
+ 'architecture', 'platform', 'hw_serial', 'hw_provider',
122
+ 'srpc_domain', 'isa_list', 'dhcp_cache'
123
+ )
124
+ when /powerpc|darwin|bsd/i
125
+ members.push('model')
126
+ when /hpux/i
127
+ members.push('id')
128
+ when /win32|mingw|cygwin|dos|windows/i
129
+ members = %w[
130
+ boot_device build_number build_type caption code_set country_code
131
+ creation_class_name cscreation_class_name csd_version cs_name
132
+ current_time_zone debug description distributed encryption_level
133
+ foreground_application_boost free_physical_memory
134
+ free_space_in_paging_files free_virtual_memory
135
+ install_date last_bootup_time local_date_time locale
136
+ manufacturer max_number_of_processes max_process_memory_size
137
+ name number_of_licensed_users number_of_processes
138
+ number_of_users organization os_language os_product_suite
139
+ os_type other_type_description plus_product_id
140
+ plus_version_number primary product_type quantum_length quantum_type
141
+ registered_user serial_number service_pack_major_version
142
+ service_pack_minor_version size_stored_in_paging_files
143
+ status suite_mask system_device system_directory system_drive total_swap_space_size
144
+ total_virtual_memory_size total_visible_memory_size version
145
+ windows_directory
146
+ ]
147
+ end
148
+
149
+ members.map!{ |e| e.to_sym } if RUBY_VERSION.to_f >= 1.9
150
+
151
+ expect{ described_class.uname }.not_to raise_error
152
+ expect(described_class.uname).to be_kind_of(Struct)
153
+ expect(described_class.uname.members.sort).to eql(members.sort)
154
+ end
155
+ end
156
+
157
+ context "ffi" do
158
+ example "ffi and internal functions are not public" do
159
+ methods = described_class.methods(false).map{ |e| e.to_s }
160
+ expect(methods).not_to include('get_model')
161
+ expect(methods).not_to include('get_si')
162
+ expect(methods).not_to include('uname_c')
163
+ expect(methods).not_to include('sysctl')
164
+ expect(methods).not_to include('sysinfo')
165
+ end
166
+ end
167
+
168
+ context "instance methods for MS Windows", :if => File::ALT_SEPARATOR do
169
+ example "boot_device" do
170
+ expect{ described_class.uname.boot_device }.not_to raise_error
171
+ expect(described_class.uname.boot_device).to be_kind_of(String)
172
+ end
173
+
174
+ example "build_number" do
175
+ expect{ described_class.uname.build_number }.not_to raise_error
176
+ expect(described_class.uname.build_number).to be_kind_of(String)
177
+ end
178
+
179
+ example "build_type" do
180
+ expect{ described_class.uname.build_type }.not_to raise_error
181
+ expect(described_class.uname.build_type).to be_kind_of(String)
182
+ end
183
+
184
+ example "caption" do
185
+ expect{ described_class.uname.caption }.not_to raise_error
186
+ expect(described_class.uname.caption).to be_kind_of(String)
187
+ end
188
+
189
+ example "code_set" do
190
+ expect{ described_class.uname.code_set }.not_to raise_error
191
+ expect(described_class.uname.code_set).to be_kind_of(String)
192
+ end
193
+
194
+ example "country_code" do
195
+ expect{ described_class.uname.country_code }.not_to raise_error
196
+ expect(described_class.uname.country_code).to be_kind_of(String)
197
+ end
198
+
199
+ example "creation_class_name" do
200
+ expect{ described_class.uname.creation_class_name }.not_to raise_error
201
+ expect(described_class.uname.creation_class_name).to be_kind_of(String)
202
+ end
203
+
204
+ example "cscreation_class_name" do
205
+ expect{ described_class.uname.cscreation_class_name }.not_to raise_error
206
+ expect(described_class.uname.cscreation_class_name).to be_kind_of(String)
207
+ end
208
+
209
+ example "csd_version" do
210
+ expect{ described_class.uname.csd_version }.not_to raise_error
211
+ expect(described_class.uname.csd_version).to be_kind_of(String).or be_nil
212
+ end
213
+
214
+ example "cs_name" do
215
+ expect{ described_class.uname.cs_name }.not_to raise_error
216
+ expect(described_class.uname.cs_name).to be_kind_of(String)
217
+ end
218
+
219
+ example "current_time_zone" do
220
+ expect{ described_class.uname.current_time_zone }.not_to raise_error
221
+ expect(described_class.uname.current_time_zone).to be_kind_of(Integer)
222
+ end
223
+
224
+ example "debug" do
225
+ expect{ described_class.uname.debug }.not_to raise_error
226
+ expect(described_class.uname.debug).to be(true).or be(false)
227
+ end
228
+
229
+ example "description" do
230
+ expect{ described_class.uname.description }.not_to raise_error
231
+ expect(described_class.uname.description).to be_kind_of(String)
232
+ end
233
+
234
+ example "distributed" do
235
+ expect{ described_class.uname.distributed }.not_to raise_error
236
+ expect(described_class.uname.distributed).to be(true).or be(false)
237
+ end
238
+
239
+ example "encryption_level" do
240
+ expect{ described_class.uname.encryption_level }.not_to raise_error
241
+ expect(described_class.uname.encryption_level).to be_kind_of(Integer)
242
+ end
243
+
244
+ example "foreground_application_boost" do
245
+ expect{ described_class.uname.foreground_application_boost }.not_to raise_error
246
+ expect(described_class.uname.foreground_application_boost).to be_kind_of(Integer)
247
+ end
248
+
249
+ example "free_physical_memory" do
250
+ expect{ described_class.uname.free_physical_memory }.not_to raise_error
251
+ expect(described_class.uname.free_physical_memory).to be_kind_of(Integer)
252
+ end
253
+
254
+ example "free_space_in_paging_files" do
255
+ expect{ described_class.uname.free_space_in_paging_files }.not_to raise_error
256
+ expect(described_class.uname.free_space_in_paging_files).to be_kind_of(Integer)
257
+ end
258
+
259
+ example "free_virtual_memory" do
260
+ expect{ described_class.uname.free_virtual_memory}.not_to raise_error
261
+ expect(described_class.uname.free_virtual_memory).to be_kind_of(Integer)
262
+ end
263
+
264
+ example "install_date" do
265
+ expect{ described_class.uname.install_date}.not_to raise_error
266
+ expect(described_class.uname.install_date).to be_kind_of(Time)
267
+ end
268
+
269
+ example "last_bootup_time" do
270
+ expect{ described_class.uname.last_bootup_time}.not_to raise_error
271
+ expect(described_class.uname.last_bootup_time).to be_kind_of(Time)
272
+ end
273
+
274
+ example "local_date_time" do
275
+ expect{ described_class.uname.local_date_time}.not_to raise_error
276
+ expect(described_class.uname.local_date_time).to be_kind_of(Time)
277
+ end
278
+
279
+ example "locale" do
280
+ expect{ described_class.uname.locale}.not_to raise_error
281
+ expect(described_class.uname.locale).to be_kind_of(String)
282
+ end
283
+
284
+ example "manufacturer" do
285
+ expect{ described_class.uname.manufacturer}.not_to raise_error
286
+ expect(described_class.uname.manufacturer).to be_kind_of(String)
287
+ end
288
+
289
+ example "max_number_of_processes" do
290
+ expect{ described_class.uname.max_number_of_processes}.not_to raise_error
291
+ expect(described_class.uname.max_number_of_processes).to be_kind_of(Integer)
292
+ end
293
+
294
+ example "max_process_memory_size" do
295
+ expect{ described_class.uname.max_process_memory_size}.not_to raise_error
296
+ expect(described_class.uname.max_process_memory_size).to be_kind_of(Integer)
297
+ end
298
+
299
+ example "name" do
300
+ expect{ described_class.uname.name }.not_to raise_error
301
+ expect(described_class.uname.name).to be_kind_of(String)
302
+ end
303
+
304
+ example "number_of_licensed_users" do
305
+ expect{ described_class.uname.number_of_licensed_users }.not_to raise_error
306
+ expect(described_class.uname.number_of_licensed_users).to be_kind_of(Integer).or be_nil
307
+ end
308
+
309
+ example "number_of_processes" do
310
+ expect{ described_class.uname.number_of_processes }.not_to raise_error
311
+ expect(described_class.uname.number_of_processes).to be_kind_of(Integer)
312
+ end
313
+
314
+ example "number_of_users" do
315
+ expect{ described_class.uname.number_of_users }.not_to raise_error
316
+ expect(described_class.uname.number_of_users).to be_kind_of(Integer)
317
+ end
318
+
319
+ example "organization" do
320
+ expect{ described_class.uname.organization }.not_to raise_error
321
+ expect(described_class.uname.organization).to be_kind_of(String)
322
+ end
323
+
324
+ example "os_language" do
325
+ expect{ described_class.uname.os_language }.not_to raise_error
326
+ expect(described_class.uname.os_language).to be_kind_of(Integer)
327
+ end
328
+
329
+ example "os_product_suite" do
330
+ expect{ described_class.uname.os_product_suite }.not_to raise_error
331
+ expect(described_class.uname.os_product_suite).to be_kind_of(Integer)
332
+ end
333
+
334
+ example "os_type" do
335
+ expect{ described_class.uname.os_type }.not_to raise_error
336
+ expect(described_class.uname.os_type).to be_kind_of(Integer)
337
+ end
338
+
339
+ example "other_type_description" do
340
+ expect{ described_class.uname.other_type_description}.not_to raise_error
341
+ expect(described_class.uname.other_type_description).to be_kind_of(String).or be_nil
342
+ end
343
+
344
+ example "plus_product_id" do
345
+ expect{ described_class.uname.plus_product_id }.not_to raise_error
346
+ expect(described_class.uname.plus_product_id).to be_kind_of(Integer).or be_nil
347
+ end
348
+
349
+ example "plus_version_number" do
350
+ expect{ described_class.uname.plus_version_number }.not_to raise_error
351
+ expect(described_class.uname.plus_version_number).to be_kind_of(Integer).or be_nil
352
+ end
353
+
354
+ example "primary" do
355
+ expect{ described_class.uname.primary }.not_to raise_error
356
+ expect(described_class.uname.primary).to eql(true).or eql(false)
357
+ end
358
+
359
+ example "product_type" do
360
+ expect{ described_class.uname.product_type }.not_to raise_error
361
+ expect(described_class.uname.product_type).to be_kind_of(Integer)
362
+ end
363
+
364
+ example "quantum_length" do
365
+ expect{ described_class.uname.quantum_length }.not_to raise_error
366
+ expect(described_class.uname.quantum_length).to be_kind_of(Integer).or be_nil
367
+ end
368
+
369
+ example "quantum_type" do
370
+ expect{ described_class.uname.quantum_type }.not_to raise_error
371
+ expect(described_class.uname.quantum_type).to be_kind_of(Integer).or be_nil
372
+ end
373
+
374
+ example "registered_user" do
375
+ expect{ described_class.uname.registered_user }.not_to raise_error
376
+ expect(described_class.uname.registered_user).to be_kind_of(String)
377
+ end
378
+
379
+ example "serial_number" do
380
+ expect{ described_class.uname.serial_number }.not_to raise_error
381
+ expect(described_class.uname.serial_number).to be_kind_of(String)
382
+ end
383
+
384
+ example "service_pack_major_version" do
385
+ expect{ described_class.uname.service_pack_major_version }.not_to raise_error
386
+ expect(described_class.uname.service_pack_major_version).to be_kind_of(Integer)
387
+ end
388
+
389
+ example "service_pack_minor_version" do
390
+ expect{ described_class.uname.service_pack_minor_version }.not_to raise_error
391
+ expect(described_class.uname.service_pack_minor_version).to be_kind_of(Integer)
392
+ end
393
+
394
+ example "status" do
395
+ expect{ described_class.uname.status }.not_to raise_error
396
+ expect(described_class.uname.status).to be_kind_of(String)
397
+ end
398
+
399
+ example "suite_mask" do
400
+ expect{ described_class.uname.suite_mask }.not_to raise_error
401
+ expect(described_class.uname.suite_mask).to be_kind_of(Integer)
402
+ end
403
+
404
+ example "system_device" do
405
+ expect{ described_class.uname.system_device }.not_to raise_error
406
+ expect(described_class.uname.system_device).to be_kind_of(String)
407
+ end
408
+
409
+ example "system_directory" do
410
+ expect{ described_class.uname.system_directory }.not_to raise_error
411
+ expect(described_class.uname.system_directory).to be_kind_of(String)
412
+ end
413
+
414
+ example "system_drive" do
415
+ expect{ described_class.uname.system_drive }.not_to raise_error
416
+ expect(described_class.uname.system_drive).to be_kind_of(String)
417
+ expect(described_class.uname.system_drive).to eql("C:")
418
+ end
419
+
420
+ example "total_swap_space_size" do
421
+ expect{ described_class.uname.total_swap_space_size }.not_to raise_error
422
+ expect(described_class.uname.total_swap_space_size).to be_kind_of(Integer).or be_nil
423
+ end
424
+
425
+ example "total_virtual_memory_size" do
426
+ expect{ described_class.uname.total_virtual_memory_size }.not_to raise_error
427
+ expect(described_class.uname.total_virtual_memory_size).to be_kind_of(Integer)
428
+ end
429
+
430
+ example "total_visible_memory_size" do
431
+ expect{ described_class.uname.total_visible_memory_size }.not_to raise_error
432
+ expect(described_class.uname.total_visible_memory_size).to be_kind_of(Integer)
433
+ end
434
+
435
+ example "version" do
436
+ expect{ described_class.uname.version }.not_to raise_error
437
+ expect(described_class.uname.version).to be_kind_of(String)
438
+ end
439
+
440
+ example "windows_directory" do
441
+ expect{ described_class.uname.windows_directory }.not_to raise_error
442
+ expect(described_class.uname.windows_directory).to be_kind_of(String)
443
+ end
444
+ end
445
+ end
data/sys-uname.gemspec CHANGED
@@ -2,19 +2,20 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'sys-uname'
5
- spec.version = '1.1.1'
5
+ spec.version = '1.2.0'
6
6
  spec.author = 'Daniel J. Berger'
7
7
  spec.email = 'djberg96@gmail.com'
8
8
  spec.homepage = 'http://github.com/djberg96/sys-uname'
9
9
  spec.summary = 'An interface for returning uname (platform) information'
10
10
  spec.license = 'Apache-2.0'
11
11
  spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
12
- spec.test_files = Dir['test/test*.rb']
12
+ spec.test_files = Dir['spec/*_spec.rb']
13
13
  spec.cert_chain = ['certs/djberg96_pub.pem']
14
14
 
15
15
  spec.extra_rdoc_files = Dir['*.rdoc']
16
16
 
17
17
  spec.add_dependency('ffi', '>= 1.0.0')
18
+ spec.add_development_dependency('rspec', '~> 3.9')
18
19
 
19
20
  spec.metadata = {
20
21
  'homepage_uri' => 'https://github.com/djberg96/sys-uname',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-uname
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -51,6 +51,20 @@ dependencies:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.0.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: rspec
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.9'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.9'
54
68
  description: |2
55
69
  The sys-uname library provides an interface for gathering information
56
70
  about your current platform. The library is named after the Unix 'uname'
@@ -61,33 +75,33 @@ email: djberg96@gmail.com
61
75
  executables: []
62
76
  extensions: []
63
77
  extra_rdoc_files:
78
+ - CHANGES.rdoc
64
79
  - MANIFEST.rdoc
65
80
  - README.rdoc
66
- - CHANGES.rdoc
67
81
  files:
68
- - test
69
- - test/test_sys_platform.rb
70
- - test/test_sys_uname.rb
82
+ - spec
83
+ - spec/sys_uname_spec.rb
84
+ - spec/sys_platform_spec.rb
85
+ - Rakefile
86
+ - certs
87
+ - certs/djberg96_pub.pem
88
+ - sys-uname.gemspec
71
89
  - examples
72
90
  - examples/uname_test.rb
73
- - Rakefile
74
91
  - lib
75
- - lib/sys-uname.rb
76
92
  - lib/sys
77
93
  - lib/sys/platform.rb
78
- - lib/sys/windows
79
- - lib/sys/windows/uname.rb
80
94
  - lib/sys/unix
81
95
  - lib/sys/unix/uname.rb
96
+ - lib/sys/windows
97
+ - lib/sys/windows/uname.rb
82
98
  - lib/sys/uname.rb
83
- - certs
84
- - certs/djberg96_pub.pem
85
- - MANIFEST.rdoc
86
- - README.rdoc
99
+ - lib/sys-uname.rb
100
+ - CHANGES.rdoc
87
101
  - doc
88
102
  - doc/uname.rdoc
89
- - sys-uname.gemspec
90
- - CHANGES.rdoc
103
+ - MANIFEST.rdoc
104
+ - README.rdoc
91
105
  homepage: http://github.com/djberg96/sys-uname
92
106
  licenses:
93
107
  - Apache-2.0
@@ -118,5 +132,5 @@ signing_key:
118
132
  specification_version: 4
119
133
  summary: An interface for returning uname (platform) information
120
134
  test_files:
121
- - test/test_sys_platform.rb
122
- - test/test_sys_uname.rb
135
+ - spec/sys_uname_spec.rb
136
+ - spec/sys_platform_spec.rb
metadata.gz.sig CHANGED
@@ -1,3 +1,4 @@
1
- [��J��5
2
- CY���;uȃl`_/�֡��6Z�~3�h���@�w����\
3
- c�!�Z4 Y�s��[������r��9H�bT����������Š!�\��:x���
1
+ T�@�\�=�t<�Tao.�x��
2
+ �w7BR��>�� � v�� �<m�
3
+ ��h���I��m"Ɲȋe���֟mX�K�#���K��}��$�:)�G�\�Dw��h��S�z�o����"ッ�c��"A�יC�GO������B��������>�K��fa��0y��H�s�T��v?�f���oh�Wd�a�S�óOE@6C1?�8C��Z4�x�&gˬG���'\��
4
+ js�A���{����p�z��_ Yt���Ĕ�
@@ -1,80 +0,0 @@
1
- ##############################################################################
2
- # test_sys_platform.rb
3
- #
4
- # Test suite for the Sys::Platform class.
5
- ##############################################################################
6
- require 'test-unit'
7
- require 'sys/uname'
8
- require 'rbconfig'
9
-
10
- class TC_Sys_Platform < Test::Unit::TestCase
11
- def self.startup
12
- @@host_os = RbConfig::CONFIG['host_os']
13
- @@windows = @@host_os =~ /mingw|mswin|windows/i ? true : false
14
- end
15
-
16
- test "the VERSION constant is set to the expected value" do
17
- assert_equal('1.1.1', Sys::Platform::VERSION)
18
- assert_true(Sys::Platform::VERSION.frozen?)
19
- end
20
-
21
- test "the ARCH constant is defined" do
22
- assert_kind_of(Symbol, Sys::Platform::ARCH)
23
- end
24
-
25
- test "the OS constant is defined" do
26
- assert_kind_of(Symbol, Sys::Platform::OS)
27
- end
28
-
29
- test "the IMPL constant is defined" do
30
- assert_kind_of(Symbol, Sys::Platform::IMPL)
31
- end
32
-
33
- test "the IMPL returns an expected value" do
34
- omit_unless(@@windows)
35
- assert_true([:mingw, :mswin].include?(Sys::Platform::IMPL))
36
- end
37
-
38
- test "the mac? method is defined and returns a boolean" do
39
- assert_respond_to(Sys::Platform, :mac?)
40
- assert_boolean(Sys::Platform.mac?)
41
- end
42
-
43
- test "the windows? method is defined and returns a boolean" do
44
- assert_respond_to(Sys::Platform, :windows?)
45
- assert_boolean(Sys::Platform.windows?)
46
- end
47
-
48
- test "the windows? method returns the expected value" do
49
- assert_equal(Sys::Platform.windows?, @@windows)
50
- end
51
-
52
- test "the unix? method is defined and returns a boolean" do
53
- assert_respond_to(Sys::Platform, :unix?)
54
- assert_boolean(Sys::Platform.unix?)
55
- end
56
-
57
- test "the unix? method returns the expected value" do
58
- assert_equal(Sys::Platform.unix?, !@@windows)
59
- end
60
-
61
- test "the solaris? method is defined and returns a boolean" do
62
- assert_respond_to(Sys::Platform, :solaris?)
63
- assert_boolean(Sys::Platform.solaris?)
64
- end
65
-
66
- test "the linux? method is defined and returns a boolean" do
67
- assert_respond_to(Sys::Platform, :linux?)
68
- assert_boolean(Sys::Platform.linux?)
69
- end
70
-
71
- test "the bsd? method is defined and returns a boolean" do
72
- assert_respond_to(Sys::Platform, :bsd?)
73
- assert_boolean(Sys::Platform.bsd?)
74
- end
75
-
76
- def self.shutdown
77
- @@host_os = nil
78
- @@windows = nil
79
- end
80
- end
@@ -1,464 +0,0 @@
1
- ##############################################################################
2
- # test_sys_uname.rb
3
- #
4
- # Test suite for the sys-uname library. Run 'rake test' to execute tests.
5
- ##############################################################################
6
- require 'test-unit'
7
- require 'sys/uname'
8
- require 'rbconfig'
9
- include Sys
10
-
11
- class TC_Sys_Uname < Test::Unit::TestCase
12
- def self.startup
13
- @@host_os = RbConfig::CONFIG['host_os']
14
- end
15
-
16
- test "version constant is set to expected value" do
17
- assert_equal('1.1.1', Uname::VERSION)
18
- assert_true(Uname::VERSION.frozen?)
19
- end
20
-
21
- test "machine singleton method works as expected" do
22
- assert_respond_to(Uname, :machine)
23
- assert_nothing_raised{ Uname.machine }
24
- assert_kind_of(String, Uname.machine)
25
- assert_true(Uname.machine.size > 0)
26
- end
27
-
28
- test "version singleton method works as expected" do
29
- assert_respond_to(Uname, :version)
30
- assert_nothing_raised{ Uname.version }
31
- assert_kind_of(String, Uname.version)
32
- assert_true(Uname.version.size > 0)
33
- end
34
-
35
- test "nodename singleton method works as expected" do
36
- assert_respond_to(Uname, :nodename)
37
- assert_nothing_raised{ Uname.nodename }
38
- assert_kind_of(String, Uname.nodename)
39
- assert_true(Uname.nodename.size > 0)
40
- end
41
-
42
- test "release singleton method works as expected" do
43
- assert_respond_to(Uname, :release)
44
- assert_nothing_raised{ Uname.release }
45
- assert_kind_of(String, Uname.release)
46
- assert_true(Uname.release.size > 0)
47
- end
48
-
49
- test "sysname singleton method works as expected" do
50
- assert_respond_to(Uname, :sysname)
51
- assert_nothing_raised{ Uname.sysname }
52
- assert_kind_of(String, Uname.sysname)
53
- assert_true(Uname.sysname.size > 0)
54
- end
55
-
56
- test "architecture singleton method works as expected on solaris" do
57
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
58
- assert_respond_to(Uname, :architecture)
59
- assert_nothing_raised{ Uname.architecture }
60
- assert_kind_of(String, Uname.architecture)
61
- end
62
-
63
- test "platform singleton method works as expected on solaris" do
64
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
65
- assert_respond_to(Uname, :platform)
66
- assert_nothing_raised{ Uname.platform }
67
- assert_kind_of(String, Uname.platform)
68
- end
69
-
70
- test "isa_list singleton method works as expected on solaris" do
71
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
72
- assert_respond_to(Uname, :isa_list)
73
- assert_nothing_raised{ Uname.isa_list }
74
- assert_kind_of(String, Uname.isa_list)
75
- end
76
-
77
- test "hw_provider singleton method works as expected on solaris" do
78
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
79
- assert_respond_to(Uname,:hw_provider)
80
- assert_nothing_raised{ Uname.hw_provider }
81
- assert_kind_of(String, Uname.hw_provider)
82
- end
83
-
84
- test "hw_serial singleton method works as expected on solaris" do
85
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
86
- assert_respond_to(Uname, :hw_serial)
87
- assert_nothing_raised{ Uname.hw_serial }
88
- assert_kind_of(Integer, Uname.hw_serial)
89
- end
90
-
91
- test "srpc_domain singleton method works as expected on solaris" do
92
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
93
- assert_respond_to(Uname, :srpc_domain)
94
- assert_nothing_raised{ Uname.srpc_domain }
95
- assert_kind_of(String, Uname.srpc_domain)
96
- end
97
-
98
- test "dhcp_cache singleton method works as expected on solaris" do
99
- omit_unless(@@host_os =~ /sunos|solaris/i, "Solaris only")
100
- assert_respond_to(Uname, :dhcp_cache)
101
- assert_nothing_raised{ Uname.dhcp_cache }
102
- assert_kind_of(String, Uname.dhcp_cache)
103
- end
104
-
105
- test "model singleton method works as expected on BSD and Darwin" do
106
- omit_unless(@@host_os =~ /darwin|powerpc|bsd|mach/i, "BSD/Darwin only")
107
- assert_respond_to(Uname, :model)
108
- assert_nothing_raised{ Uname.model }
109
- assert_kind_of(String, Uname.model)
110
- end
111
-
112
- test "id_number singleton method works as expected on HP-UX" do
113
- omit_unless(@@host_os =~ /hpux/i, "HP-UX only")
114
- assert_respond_to(Uname, :id_number)
115
- assert_nothing_raised{ Uname.id_number }
116
- assert_kind_of(String, Uname.id_number)
117
- end
118
-
119
- test "uname struct contains expected members based on platform" do
120
- members = %w/sysname nodename machine version release/
121
- case RbConfig::CONFIG['host_os']
122
- when /linux/i
123
- members.push('domainname')
124
- when /sunos|solaris/i
125
- members.push(
126
- 'architecture', 'platform', 'hw_serial', 'hw_provider',
127
- 'srpc_domain', 'isa_list', 'dhcp_cache'
128
- )
129
- when /powerpc|darwin|bsd/i
130
- members.push('model')
131
- when /hpux/i
132
- members.push('id')
133
- when /win32|mingw|cygwin|dos|windows/i
134
- members = %w[
135
- boot_device build_number build_type caption code_set country_code
136
- creation_class_name cscreation_class_name csd_version cs_name
137
- current_time_zone debug description distributed
138
- foreground_application_boost free_physical_memory
139
- free_space_in_paging_files free_virtual_memory
140
- install_date last_bootup_time local_date_time locale
141
- manufacturer max_number_of_processes max_process_memory_size
142
- name number_of_licensed_users number_of_processes
143
- number_of_users organization os_language os_product_suite
144
- os_type other_type_description plus_product_id
145
- plus_version_number primary quantum_length quantum_type
146
- registered_user serial_number service_pack_major_version
147
- service_pack_minor_version size_stored_in_paging_files
148
- status system_device system_directory total_swap_space_size
149
- total_virtual_memory_size total_visible_memory_size version
150
- windows_directory
151
- ]
152
- end
153
-
154
- members.map!{ |e| e.to_sym } if RUBY_VERSION.to_f >= 1.9
155
-
156
- assert_nothing_raised{ Uname.uname }
157
- assert_kind_of(Struct, Uname.uname)
158
- assert_equal(members.sort, Uname.uname.members.sort)
159
- end
160
-
161
- test "ffi and internal functions are not public" do
162
- methods = Uname.methods(false).map{ |e| e.to_s }
163
- assert_false(methods.include?('get_model'))
164
- assert_false(methods.include?('get_si'))
165
- assert_false(methods.include?('uname_c'))
166
- assert_false(methods.include?('sysctl'))
167
- assert_false(methods.include?('sysinfo'))
168
- end
169
-
170
- # The following tests are win32 only
171
- if File::ALT_SEPARATOR
172
- def test_boot_device
173
- assert_nothing_raised{ Uname.uname.boot_device }
174
- assert_kind_of(String, Uname.uname.boot_device)
175
- end
176
-
177
- def test_build_number
178
- assert_nothing_raised{ Uname.uname.build_number }
179
- assert_kind_of(String, Uname.uname.build_number)
180
- end
181
-
182
- def test_build_type
183
- assert_nothing_raised{ Uname.uname.build_type }
184
- assert_kind_of(String, Uname.uname.build_type)
185
- end
186
-
187
- def test_caption
188
- assert_nothing_raised{ Uname.uname.caption }
189
- assert_kind_of(String, Uname.uname.caption)
190
- end
191
-
192
- def test_code_set
193
- assert_nothing_raised{ Uname.uname.code_set }
194
- assert_kind_of(String, Uname.uname.code_set)
195
- end
196
-
197
- def test_country_code
198
- assert_nothing_raised{ Uname.uname.country_code }
199
- assert_kind_of(String, Uname.uname.country_code)
200
- end
201
-
202
- def test_creation_class_name
203
- assert_nothing_raised{ Uname.uname.creation_class_name }
204
- assert_kind_of(String, Uname.uname.creation_class_name)
205
- end
206
-
207
- def test_cscreation_class_name
208
- assert_nothing_raised{ Uname.uname.cscreation_class_name }
209
- assert_kind_of(String, Uname.uname.cscreation_class_name)
210
- end
211
-
212
- def test_csd_version
213
- assert_nothing_raised{ Uname.uname.csd_version }
214
- assert_kind_of([String, NilClass], Uname.uname.csd_version)
215
- end
216
-
217
- def test_cs_name
218
- assert_nothing_raised{ Uname.uname.cs_name }
219
- assert_kind_of(String, Uname.uname.cs_name)
220
- end
221
-
222
- def test_current_time_zone
223
- assert_nothing_raised{ Uname.uname.current_time_zone }
224
- assert_kind_of(Fixnum, Uname.uname.current_time_zone)
225
- end
226
-
227
- def test_debug
228
- assert_nothing_raised{ Uname.uname.debug }
229
- assert_boolean(Uname.uname.debug)
230
- end
231
-
232
- def test_description
233
- assert_nothing_raised{ Uname.uname.description }
234
- assert_kind_of(String, Uname.uname.description)
235
- end
236
-
237
- def test_distributed
238
- assert_nothing_raised{ Uname.uname.distributed }
239
- assert_boolean(Uname.uname.distributed)
240
- end
241
-
242
- # Not yet supported - WinXP or later only
243
- #def test_encryption_level
244
- # assert_nothing_raised{ Uname.uname.encryption_level }
245
- # assert_kind_of(Fixnum,Uname.uname.encryption_level)
246
- #end
247
-
248
- def test_foreground_application_boost
249
- assert_nothing_raised{ Uname.uname.foreground_application_boost }
250
- assert_kind_of(Fixnum, Uname.uname.foreground_application_boost)
251
- end
252
-
253
- def test_free_physical_memory
254
- assert_nothing_raised{ Uname.uname.free_physical_memory }
255
- assert_kind_of(Fixnum, Uname.uname.free_physical_memory)
256
- end
257
-
258
- def test_free_space_in_paging_files
259
- assert_nothing_raised{ Uname.uname.free_space_in_paging_files }
260
- assert_kind_of(Fixnum, Uname.uname.free_space_in_paging_files)
261
- end
262
-
263
- def test_free_virtual_memory
264
- assert_nothing_raised{ Uname.uname.free_virtual_memory}
265
- assert_kind_of(Fixnum, Uname.uname.free_virtual_memory)
266
- end
267
-
268
- def test_install_date
269
- assert_nothing_raised{ Uname.uname.install_date}
270
- assert_kind_of(Time, Uname.uname.install_date)
271
- end
272
-
273
- # Not yet supported - WinXP or later only
274
- #def test_large_system_cache
275
- # assert_nothing_raised{ Uname.uname.large_system_cache}
276
- # assert_kind_of(Time,Uname.uname.large_system_cache)
277
- #end
278
-
279
- def test_last_bootup_time
280
- assert_nothing_raised{ Uname.uname.last_bootup_time}
281
- assert_kind_of(Time, Uname.uname.last_bootup_time)
282
- end
283
-
284
- def test_local_date_time
285
- assert_nothing_raised{ Uname.uname.local_date_time}
286
- assert_kind_of(Time, Uname.uname.local_date_time)
287
- end
288
-
289
- def test_locale
290
- assert_nothing_raised{ Uname.uname.locale}
291
- assert_kind_of(String, Uname.uname.locale)
292
- end
293
-
294
- def test_manufacturer
295
- assert_nothing_raised{ Uname.uname.manufacturer}
296
- assert_kind_of(String, Uname.uname.manufacturer)
297
- end
298
-
299
- def test_max_number_of_processes
300
- assert_nothing_raised{ Uname.uname.max_number_of_processes}
301
- assert_kind_of(Fixnum, Uname.uname.max_number_of_processes)
302
- end
303
-
304
- def test_max_process_memory_size
305
- assert_nothing_raised{ Uname.uname.max_process_memory_size}
306
- assert_kind_of(Integer, Uname.uname.max_process_memory_size)
307
- end
308
-
309
- def test_name
310
- assert_nothing_raised{ Uname.uname.name}
311
- assert_kind_of(String, Uname.uname.name)
312
- end
313
-
314
- # Fails on Win XP Pro - returns nil - reason unknown
315
- #def test_number_of_licensed_users
316
- # assert_nothing_raised{ Uname.uname.number_of_licensed_users}
317
- # assert_kind_of(Fixnum,Uname.uname.number_of_licensed_users)
318
- #end
319
-
320
- def test_number_of_processes
321
- assert_nothing_raised{ Uname.uname.number_of_processes}
322
- assert_kind_of(Fixnum, Uname.uname.number_of_processes)
323
- end
324
-
325
- def test_number_of_users
326
- assert_nothing_raised{ Uname.uname.number_of_users}
327
- assert_kind_of(Fixnum, Uname.uname.number_of_users)
328
- end
329
-
330
- def test_organization
331
- assert_nothing_raised{ Uname.uname.organization}
332
- assert_kind_of(String, Uname.uname.organization)
333
- end
334
-
335
- # Eventually replace Fixnum with a string (?)
336
- def test_os_language
337
- assert_nothing_raised{ Uname.uname.os_language}
338
- assert_kind_of(Fixnum, Uname.uname.os_language)
339
- end
340
-
341
- # Fails on Win XP Pro - returns nil - reason unknown
342
- #def test_os_product_suite
343
- # assert_nothing_raised{ Uname.uname.os_product_suite}
344
- # assert_kind_of(Fixnum,Uname.uname.os_product_suite)
345
- #end
346
-
347
- def test_os_type
348
- assert_nothing_raised{ Uname.uname.os_type}
349
- assert_kind_of(Fixnum, Uname.uname.os_type)
350
- end
351
-
352
- # Fails?
353
- #def test_other_type_restriction
354
- # assert_nothing_raised{ Uname.uname.other_type_restriction}
355
- # assert_kind_of(Fixnum,Uname.uname.other_type_restriction)
356
- #end
357
-
358
- # Might be nil
359
- def test_plus_product_id
360
- assert_nothing_raised{ Uname.uname.plus_product_id }
361
- end
362
-
363
- # Might be nil
364
- def test_plus_version_number
365
- assert_nothing_raised{ Uname.uname.plus_version_number}
366
- end
367
-
368
- def test_primary
369
- assert_nothing_raised{ Uname.uname.primary}
370
- assert_boolean(Uname.uname.primary)
371
- end
372
-
373
- # Not yet supported - WinXP or later only
374
- # def test_product_type
375
- # assert_nothing_raised{ Uname.uname.product_type}
376
- # assert_kind_of(Fixnum,Uname.uname.product_type)
377
- # end
378
-
379
- def test_quantum_length
380
- assert_nothing_raised{ Uname.uname.quantum_length}
381
- assert_kind_of([Fixnum, NilClass], Uname.uname.quantum_length)
382
- end
383
-
384
- def test_quantum_type
385
- assert_nothing_raised{ Uname.uname.quantum_type}
386
- assert_kind_of([Fixnum, NilClass], Uname.uname.quantum_type)
387
- end
388
-
389
- def test_registered_user
390
- assert_nothing_raised{ Uname.uname.registered_user}
391
- assert_kind_of(String, Uname.uname.registered_user)
392
- end
393
-
394
- def test_serial_number
395
- assert_nothing_raised{ Uname.uname.serial_number}
396
- assert_kind_of(String, Uname.uname.serial_number)
397
- end
398
-
399
- # This is nil on NT 4
400
- def test_service_pack_major_version
401
- assert_nothing_raised{ Uname.uname.service_pack_major_version}
402
- assert_kind_of(Fixnum, Uname.uname.service_pack_major_version)
403
- end
404
-
405
- # This is nil on NT 4
406
- def test_service_pack_minor_version
407
- assert_nothing_raised{ Uname.uname.service_pack_minor_version}
408
- assert_kind_of(Fixnum, Uname.uname.service_pack_minor_version)
409
- end
410
-
411
- def test_status
412
- assert_nothing_raised{ Uname.uname.status}
413
- assert_kind_of(String, Uname.uname.status)
414
- end
415
-
416
- # Not yet supported - WinXP or later only
417
- #def test_suite_mask
418
- # assert_nothing_raised{ Uname.uname.suite_mask}
419
- # assert_kind_of(String,Uname.uname.suite_mask)
420
- #end
421
-
422
- def test_system_device
423
- assert_nothing_raised{ Uname.uname.system_device}
424
- assert_kind_of(String, Uname.uname.system_device)
425
- end
426
-
427
- def test_system_directory
428
- assert_nothing_raised{ Uname.uname.system_directory}
429
- assert_kind_of(String, Uname.uname.system_directory)
430
- end
431
-
432
- # Not yet supported - WinXP or later only
433
- #def test_system_drive
434
- # assert_nothing_raised{ Uname.uname.system_drive}
435
- # assert_kind_of(String,Uname.uname.system_drive)
436
- #end
437
-
438
- # Fails on Win XP Pro - returns nil - reason unknown
439
- #def test_total_swap_space_size
440
- # assert_nothing_raised{ Uname.uname.total_swap_space_size}
441
- # assert_kind_of(Fixnum,Uname.uname.total_swap_space_size)
442
- #end
443
-
444
- def test_total_virtual_memory_size
445
- assert_nothing_raised{ Uname.uname.total_virtual_memory_size}
446
- assert_kind_of(Fixnum, Uname.uname.total_virtual_memory_size)
447
- end
448
-
449
- def test_total_visible_memory_size
450
- assert_nothing_raised{ Uname.uname.total_visible_memory_size}
451
- assert_kind_of(Fixnum, Uname.uname.total_visible_memory_size)
452
- end
453
-
454
- def test_version
455
- assert_nothing_raised{ Uname.uname.version}
456
- assert_kind_of(String, Uname.uname.version)
457
- end
458
-
459
- def test_windows_directory
460
- assert_nothing_raised{ Uname.uname.windows_directory}
461
- assert_kind_of(String, Uname.uname.windows_directory)
462
- end
463
- end
464
- end