solaris-kstat 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,4 +1,15 @@
1
- == 1.0.0
1
+ == 1.0.1 - 27-Aug-2009
2
+ * Changed the license to Artistic 2.0.
3
+ * Fixed warnings that could occur if the @module, @name, or @instance
4
+ variables were not set in the constructor. They are now explicitly
5
+ set to nil if they do not have any value.
6
+ * Updates to the gemspec, including license and description.
7
+ * Renamed and performed some minor refactoring of the test and example files.
8
+ * Changed one test to use 'biostats' instead of 'flushmeter' because
9
+ the latter does not appear to be defined in a Solaris VM.
10
+ * Added the 'example' rake task.
11
+
12
+ == 1.0.0 - 4-Feb-2008
2
13
  * Updated the extconf.rb file so that it sets the target prefix properly.
3
14
  * Version bump to 1.0.0.
4
15
  * No actual source code changes.
data/MANIFEST CHANGED
@@ -3,8 +3,8 @@
3
3
  * README
4
4
  * Rakefile
5
5
  * solaris-kstat.gemspec
6
- * examples/test.rb
6
+ * examples/example_kstat.rb
7
7
  * ext/extconf.rb
8
8
  * ext/solaris/rkstat.c
9
9
  * ext/solaris/rkstat.h
10
- * test/tc_kstat.rb
10
+ * test/test_solaris_kstat.rb
@@ -0,0 +1,59 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+ require 'rbconfig'
5
+ include Config
6
+
7
+ desc "Clean the build files for the solaris-kstat source"
8
+ task :clean do
9
+ FileUtils.rm_rf('solaris') if File.exists?('solaris')
10
+
11
+ Dir.chdir('ext') do
12
+ FileUtils.rm_rf('rkstat.c') if File.exists?('rkstat.c')
13
+ FileUtils.rm_rf('rkstat.h') if File.exists?('rkstat.h')
14
+ sh 'make distclean' if File.exists?('kstat.so')
15
+ FileUtils.rm_rf('solaris/kstat.so') if File.exists?('solaris/kstat.so')
16
+ end
17
+ end
18
+
19
+ desc "Build the solaris-kstat package (but don't install it)"
20
+ task :build => [:clean] do
21
+ Dir.chdir('ext') do
22
+ ruby 'extconf.rb'
23
+ sh 'make'
24
+ Dir.mkdir('solaris') unless File.exists?('solaris')
25
+ FileUtils.cp('kstat.so', 'solaris')
26
+ end
27
+ end
28
+
29
+ desc "Install the solaris-kstat package (non-gem)"
30
+ task :install => [:build] do
31
+ Dir.chdir('ext') do
32
+ sh 'make install'
33
+ end
34
+ end
35
+
36
+ desc "Install the solaris-kstat package as a gem"
37
+ task :install_gem do
38
+ ruby 'solaris-kstat.gemspec'
39
+ file = Dir["*.gem"].first
40
+ sh "gem install #{file}"
41
+ end
42
+
43
+ desc "Uninstall the solaris-kstat package. Use 'gem uninstall' for gem installs"
44
+ task :uninstall => [:clean] do
45
+ file = File.join(CONFIG['sitearchdir'], 'solaris', 'kstat.so')
46
+ FileUtils.rm_rf(file) if File.exists?(file)
47
+ end
48
+
49
+ desc "Run the example program"
50
+ task :example => [:build] do
51
+ ruby "-Iext examples/example_kstat.rb"
52
+ end
53
+
54
+ Rake::TestTask.new do |t|
55
+ task :test => :build
56
+ t.libs << 'ext'
57
+ t.verbose = true
58
+ t.warning = true
59
+ end
@@ -0,0 +1,34 @@
1
+ #######################################################################
2
+ # example_kstat.rb
3
+ #
4
+ # Sample script for general futzing. You can run this script via
5
+ # the 'rake example' task.
6
+ #######################################################################
7
+ require "solaris/kstat"
8
+ require "pp"
9
+ include Solaris
10
+
11
+ puts "VERSION: " + Kstat::VERSION
12
+ puts
13
+
14
+ k1 = Kstat.new('cpu_info', 0)
15
+ pp k1.record
16
+
17
+ puts '=' * 40
18
+
19
+ k2 = Kstat.new('unix', 0, 'biostats')
20
+ pp k2
21
+
22
+ # Print all modules
23
+ k = Kstat.new
24
+ k.record.each{ |k,v|
25
+ p k
26
+ }
27
+
28
+ =begin
29
+ pp k.record["cpu_info"][0]["cpu_info0"]
30
+ puts "=" * 40
31
+ pp k.record["unix"][0]["flushmeter"]
32
+ puts "=" * 40
33
+ pp k.record["cpu_stat"][0]["cpu_stat0"]
34
+ =end
@@ -44,18 +44,27 @@ VALUE ks_init(int argc, VALUE* argv, VALUE self){
44
44
 
45
45
  rb_scan_args(argc, argv, "03", &v_module, &v_instance, &v_name);
46
46
 
47
+
47
48
  if(!NIL_P(v_module)){
48
49
  SafeStringValue(v_module);
49
50
  rb_iv_set(self, "@module", v_module);
50
51
  }
52
+ else{
53
+ rb_iv_set(self, "@module", Qnil);
54
+ }
51
55
 
52
56
  if(!NIL_P(v_name)){
53
57
  SafeStringValue(v_name);
54
58
  rb_iv_set(self, "@name", v_name);
55
59
  }
60
+ else{
61
+ rb_iv_set(self, "@name", Qnil);
62
+ }
56
63
 
57
64
  if(!NIL_P(v_instance))
58
65
  rb_iv_set(self, "@instance", v_instance);
66
+ else
67
+ rb_iv_set(self, "@instance", Qnil);
59
68
 
60
69
  return self;
61
70
  }
@@ -199,7 +208,7 @@ void Init_kstat(){
199
208
  /* Unique name within module */
200
209
  rb_define_attr(cKstat, "name", 1, 1);
201
210
 
202
- /* 1.0.0: The version of this library, returned as a String */
211
+ /* 1.0.1: The version of the solaris-kstat library */
203
212
  rb_define_const(cKstat, "VERSION", rb_str_new2(SOLARIS_KSTAT_VERSION));
204
213
  }
205
214
 
@@ -2,7 +2,7 @@
2
2
  extern "C" {
3
3
  #endif
4
4
 
5
- #define SOLARIS_KSTAT_VERSION "1.0.0"
5
+ #define SOLARIS_KSTAT_VERSION "1.0.1"
6
6
 
7
7
  /* Function prototypes */
8
8
  static VALUE map_named_data_type(kstat_t* ksp);
@@ -0,0 +1,35 @@
1
+ require 'rubygems'
2
+
3
+ spec = Gem::Specification.new do |gem|
4
+ gem.name = 'solaris-kstat'
5
+ gem.version = '1.0.1'
6
+ gem.author = 'Daniel J. Berger'
7
+ gem.license = 'Artistic 2.0'
8
+ gem.email = 'djberg96@gmail.com'
9
+ gem.homepage = 'http://www.rubyforge.org/projects/solarisutils'
10
+ gem.platform = Gem::Platform::RUBY
11
+ gem.summary = 'Interface for the Solaris kstat library'
12
+ gem.has_rdoc = true
13
+ gem.test_file = 'test/test_solaris_kstat.rb'
14
+ gem.extensions = ['ext/extconf.rb']
15
+ gem.files = Dir['**/*'].reject{ |f| f.include?('CVS') }
16
+
17
+ gem.rubyforge_project = 'solarisutils'
18
+
19
+ gem.extra_rdoc_files = [
20
+ 'README',
21
+ 'CHANGES',
22
+ 'MANIFEST',
23
+ 'ext/solaris/rkstat.c'
24
+ ]
25
+
26
+ gem.required_ruby_version = '>= 1.8.0'
27
+
28
+ gem.description = <<-EOF
29
+ The solaris-kstat library provides a Ruby interface for gathering kernel
30
+ statistics from the operating system. Each matching statistic is provided
31
+ with its module, instance, and name fields, as well as its actual value.
32
+ EOF
33
+ end
34
+
35
+ Gem::Builder.new(spec).build
@@ -0,0 +1,165 @@
1
+ ###############################################################################
2
+ # test_solaris_kstat.rb
3
+ #
4
+ # Test suite for the solaris-kstat Ruby library. You should run this via
5
+ # the 'rake test' task.
6
+ ###############################################################################
7
+ require 'rubygems'
8
+ gem 'test-unit'
9
+
10
+ require 'solaris/kstat'
11
+ require 'test/unit'
12
+ require 'set'
13
+ include Solaris
14
+
15
+ class TC_Solaris_Kstat < Test::Unit::TestCase
16
+ def setup
17
+ @k = Kstat.new
18
+ end
19
+
20
+ def test_version
21
+ assert_equal('1.0.1', Kstat::VERSION)
22
+ end
23
+
24
+ def test_name
25
+ assert_respond_to(@k, :name)
26
+ assert_respond_to(@k, :name=)
27
+ assert_nil(@k.name)
28
+ assert_nothing_raised{ @k.name }
29
+ assert_nothing_raised{ @k.name = 'foo' }
30
+ end
31
+
32
+ def test_module
33
+ assert_respond_to(@k, :module)
34
+ assert_respond_to(@k, :module=)
35
+ assert_nil(@k.module)
36
+ assert_nothing_raised{ @k.module }
37
+ assert_nothing_raised{ @k.module = 'bar' }
38
+ end
39
+
40
+ def test_instance
41
+ assert_respond_to(@k, :instance)
42
+ assert_respond_to(@k, :instance=)
43
+ assert_nil(@k.instance)
44
+ assert_nothing_raised{ @k.instance }
45
+ assert_nothing_raised{ @k.instance = 0 }
46
+ end
47
+
48
+ def test_constructor_valid_values
49
+ assert_nothing_raised{ Kstat.new('cpu_info',0,'cpu_info0').record }
50
+ assert_nothing_raised{ Kstat.new(nil,0,'cpu_info0').record }
51
+ assert_nothing_raised{ Kstat.new('cpu_info',0,nil).record }
52
+ end
53
+
54
+ def test_constructor_invalid_values
55
+ assert_raises(Kstat::Error){ Kstat.new('bogus').record }
56
+ assert_raises(Kstat::Error){ Kstat.new('cpu_info',99).record }
57
+ assert_raises(Kstat::Error){ Kstat.new('cpu_info',0,'bogus').record }
58
+ assert_raises(TypeError){ Kstat.new('cpu_info','x').record }
59
+ end
60
+
61
+ def test_record_basic
62
+ assert_respond_to(@k, :record)
63
+ end
64
+
65
+ def test_record_named
66
+ assert_nothing_raised{ @k.record['cpu_info'][0]['cpu_info0'] }
67
+ assert_kind_of(Hash, @k.record['cpu_info'][0]['cpu_info0'])
68
+ end
69
+
70
+ def test_record_io
71
+ assert_nothing_raised{ @k.record['nfs'][1]['nfs1'] }
72
+ assert_kind_of(Hash, @k.record['nfs'][1]['nfs1'])
73
+ end
74
+
75
+ def test_record_intr
76
+ assert_nothing_raised{ @k.record['fd'][0]['fd0'] }
77
+ assert_kind_of(Hash, @k.record['fd'][0]['fd0'])
78
+ end
79
+
80
+ def test_record_raw_vminfo
81
+ keys = %w/freemem swap_alloc swap_avail swap_free swap_resv/
82
+
83
+ assert_nothing_raised{ @k.record['unix'][0]['vminfo'] }
84
+ assert_kind_of(Hash, @k.record['unix'][0]['vminfo'])
85
+ assert_equal(keys, @k.record['unix'][0]['vminfo'].keys.sort)
86
+ end
87
+
88
+ def test_record_raw_var
89
+ keys = %w/
90
+ v_autoup v_buf v_bufhwm v_call v_clist v_hbuf v_hmask
91
+ v_maxpmem v_maxsyspri v_maxup v_maxupttl v_nglobpris v_pbuf
92
+ v_proc v_sptmap
93
+ /
94
+
95
+ assert_nothing_raised{ @k.record['unix'][0]['var'] }
96
+ assert_kind_of(Hash, @k.record['unix'][0]['var'])
97
+ assert_equal(keys, @k.record['unix'][0]['var'].keys.sort)
98
+ end
99
+
100
+ def test_record_raw_biostats
101
+ keys = %w/
102
+ buffer_cache_hits
103
+ buffer_cache_lookups
104
+ buffers_locked_by_someone
105
+ duplicate_buffers_found
106
+ new_buffer_requests
107
+ waits_for_buffer_allocs
108
+ /
109
+
110
+ assert_nothing_raised{ @k.record['unix'][0]['biostats'] }
111
+ assert_kind_of([Hash, NilClass], @k.record['unix'][0]['biostats'])
112
+ assert_equal(keys, @k.record['unix'][0]['biostats'].keys.sort)
113
+ end
114
+
115
+ def test_record_raw_cpu_stat
116
+ keys = %w/
117
+ cpu_idle cpu_user cpu_kernel cpu_wait wait_io wait_swap
118
+ wait_pio bread bwrite lread lwrite phread phwrite pswitch
119
+ trap intr syscall sysread syswrite sysfork sysvfork sysexec
120
+ readch writech rcvint xmtint mdmint rawch canch outch msg
121
+ sema namei ufsiget ufsdirblk ufsipage ufsinopage inodeovf
122
+ fileovf procovf intrthread intrblk idlethread inv_swtch
123
+ nthreads cpumigrate xcalls mutex_adenters rw_rdfails
124
+ rw_wrfails modload modunload bawrite
125
+ /
126
+
127
+ assert_nothing_raised{ @k.record['cpu_stat'][0]['cpu_stat0'] }
128
+ assert_kind_of(Hash, @k.record['cpu_stat'][0]['cpu_stat0'])
129
+
130
+ # Too big and difficult to sort manually - so use a Set
131
+ set1 = Set.new(keys)
132
+ set2 = Set.new(@k.record['cpu_stat'][0]['cpu_stat0'].keys)
133
+ diff = set1 - set2
134
+
135
+ assert_equal(set1,set2,'Diff was: #{diff.to_a}')
136
+ end
137
+
138
+ def test_record_ncstats
139
+ keys = %w/
140
+ dbl_enters
141
+ enters
142
+ hits
143
+ long_enter
144
+ long_look misses
145
+ move_to_front
146
+ purges
147
+ /
148
+
149
+ assert_nothing_raised{ @k.record['unix'][0]['ncstats'] }
150
+ assert_kind_of(Hash, @k.record['unix'][0]['ncstats'])
151
+ assert_equal(keys, @k.record['unix'][0]['ncstats'].keys.sort)
152
+ end
153
+
154
+ def test_record_sysinfo
155
+ keys = %w/runocc runque swpocc swpque updates waiting/
156
+
157
+ assert_nothing_raised{ @k.record['unix'][0]['sysinfo'] }
158
+ assert_kind_of(Hash, @k.record['unix'][0]['sysinfo'])
159
+ assert_equal(keys, @k.record['unix'][0]['sysinfo'].keys.sort)
160
+ end
161
+
162
+ def teardown
163
+ @k = nil
164
+ end
165
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solaris-kstat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -9,11 +9,11 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-02-04 00:00:00 -07:00
12
+ date: 2009-08-27 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
16
- description: Interface for the Solaris kstat library
16
+ description: " The solaris-kstat library provides a Ruby interface for gathering kernel\n statistics from the operating system. Each matching statistic is provided\n with its module, instance, and name fields, as well as its actual value.\n"
17
17
  email: djberg96@gmail.com
18
18
  executables: []
19
19
 
@@ -25,17 +25,20 @@ extra_rdoc_files:
25
25
  - MANIFEST
26
26
  - ext/solaris/rkstat.c
27
27
  files:
28
+ - CHANGES
29
+ - MANIFEST
30
+ - README
31
+ - Rakefile
32
+ - solaris-kstat.gemspec
33
+ - examples/example_kstat.rb
28
34
  - ext/extconf.rb
29
- - ext/solaris
30
35
  - ext/solaris/rkstat.c
31
36
  - ext/solaris/rkstat.h
32
- - test/tc_kstat.rb
33
- - examples/test.rb
34
- - README
35
- - CHANGES
36
- - MANIFEST
37
+ - test/test_solaris_kstat.rb
37
38
  has_rdoc: true
38
39
  homepage: http://www.rubyforge.org/projects/solarisutils
40
+ licenses:
41
+ - Artistic 2.0
39
42
  post_install_message:
40
43
  rdoc_options: []
41
44
 
@@ -56,9 +59,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
59
  requirements: []
57
60
 
58
61
  rubyforge_project: solarisutils
59
- rubygems_version: 1.0.1
62
+ rubygems_version: 1.3.5
60
63
  signing_key:
61
- specification_version: 2
64
+ specification_version: 3
62
65
  summary: Interface for the Solaris kstat library
63
66
  test_files:
64
- - test/tc_kstat.rb
67
+ - test/test_solaris_kstat.rb
@@ -1,43 +0,0 @@
1
- ########################################################
2
- # test_kstat.rb
3
- #
4
- # Sample script for general futzing.
5
- ########################################################
6
- base = File.basename(Dir.pwd)
7
-
8
- if base == "examples" || base =~ /solaris-kstat.*/
9
- require "ftools"
10
- Dir.chdir ".." if base == "examples"
11
- Dir.mkdir("solaris") unless File.exists?("solaris")
12
- File.copy("kstat.so","solaris")
13
- $LOAD_PATH.unshift Dir.pwd
14
- end
15
-
16
- require "solaris/kstat"
17
- require "pp"
18
- include Solaris
19
-
20
- puts "VERSION: " + Kstat::VERSION
21
- puts
22
-
23
- k1 = Kstat.new("cpu_info",0)
24
- pp k1.record
25
-
26
- puts "=" * 40
27
-
28
- k2 = Kstat.new("unix",0,"flushmeter")
29
- pp k2
30
-
31
- # Print all modules
32
- k = Kstat.new
33
- k.record.each{ |k,v|
34
- p k
35
- }
36
-
37
- =begin
38
- pp k.record["cpu_info"][0]["cpu_info0"]
39
- puts "=" * 40
40
- pp k.record["unix"][0]["flushmeter"]
41
- puts "=" * 40
42
- pp k.record["cpu_stat"][0]["cpu_stat0"]
43
- =end
@@ -1,147 +0,0 @@
1
- ###############################################################################
2
- # tc_kstat.rb
3
- #
4
- # Test suite for the solaris-kstat Ruby package. You should run this via
5
- # the 'rake test' task.
6
- ###############################################################################
7
- require "solaris/kstat"
8
- require "test/unit"
9
- require "set"
10
- include Solaris
11
-
12
- class TC_Kstat < Test::Unit::TestCase
13
- def setup
14
- @k = Kstat.new
15
- end
16
-
17
- def test_version
18
- assert_equal('1.0.0', Kstat::VERSION)
19
- end
20
-
21
- def test_name
22
- assert_respond_to(@k, :name)
23
- assert_respond_to(@k, :name=)
24
- assert_nil(@k.name)
25
- assert_nothing_raised{ @k.name }
26
- assert_nothing_raised{ @k.name = "foo" }
27
- end
28
-
29
- def test_module
30
- assert_respond_to(@k, :module)
31
- assert_respond_to(@k, :module=)
32
- assert_nil(@k.module)
33
- assert_nothing_raised{ @k.module }
34
- assert_nothing_raised{ @k.module = "bar" }
35
- end
36
-
37
- def test_instance
38
- assert_respond_to(@k, :instance)
39
- assert_respond_to(@k, :instance=)
40
- assert_nil(@k.instance)
41
- assert_nothing_raised{ @k.instance }
42
- assert_nothing_raised{ @k.instance = 0 }
43
- end
44
-
45
- def test_constructor_valid_values
46
- assert_nothing_raised{ Kstat.new("cpu_info",0,"cpu_info0").record }
47
- assert_nothing_raised{ Kstat.new(nil,0,"cpu_info0").record }
48
- assert_nothing_raised{ Kstat.new("cpu_info",0,nil).record }
49
- end
50
-
51
- def test_constructor_invalid_values
52
- assert_raises(Kstat::Error){ Kstat.new("bogus").record }
53
- assert_raises(Kstat::Error){ Kstat.new("cpu_info",99).record }
54
- assert_raises(Kstat::Error){ Kstat.new("cpu_info",0,"bogus").record }
55
- assert_raises(TypeError){ Kstat.new("cpu_info","x").record }
56
- end
57
-
58
- def test_record_basic
59
- assert_respond_to(@k, :record)
60
- end
61
-
62
- def test_record_named
63
- assert_nothing_raised{ @k.record["cpu_info"][0]["cpu_info0"] }
64
- assert_kind_of(Hash, @k.record["cpu_info"][0]["cpu_info0"])
65
- end
66
-
67
- def test_record_io
68
- assert_nothing_raised{ @k.record["nfs"][1]["nfs1"] }
69
- assert_kind_of(Hash, @k.record["nfs"][1]["nfs1"])
70
- end
71
-
72
- def test_record_intr
73
- assert_nothing_raised{ @k.record["fd"][0]["fd0"] }
74
- assert_kind_of(Hash, @k.record["fd"][0]["fd0"])
75
- end
76
-
77
- def test_record_raw_vminfo
78
- keys = %w/freemem swap_alloc swap_avail swap_free swap_resv/
79
-
80
- assert_nothing_raised{ @k.record["unix"][0]["vminfo"] }
81
- assert_kind_of(Hash, @k.record["unix"][0]["vminfo"])
82
- assert_equal(keys, @k.record["unix"][0]["vminfo"].keys.sort)
83
- end
84
-
85
- def test_record_raw_var
86
- keys = %w/v_autoup v_buf v_bufhwm v_call v_clist v_hbuf v_hmask/
87
- keys.push %w/v_maxpmem v_maxsyspri v_maxup v_maxupttl v_nglobpris v_pbuf/
88
- keys.push %w/v_proc v_sptmap/
89
- keys.flatten!
90
-
91
- assert_nothing_raised{ @k.record["unix"][0]["var"] }
92
- assert_kind_of(Hash, @k.record["unix"][0]["var"])
93
- assert_equal(keys, @k.record["unix"][0]["var"].keys.sort)
94
- end
95
-
96
- def test_record_raw_flushmeter
97
- keys = %w/f_ctx f_page f_partial f_region f_segment f_usr/
98
-
99
- assert_nothing_raised{ @k.record["unix"][0]["flushmeter"] }
100
- assert_kind_of(Hash, @k.record["unix"][0]["flushmeter"])
101
- assert_equal(keys, @k.record["unix"][0]["flushmeter"].keys.sort)
102
- end
103
-
104
- def test_record_raw_cpu_stat
105
- keys = %w/cpu_idle cpu_user cpu_kernel cpu_wait wait_io wait_swap/
106
- keys << %w/wait_pio bread bwrite lread lwrite phread phwrite pswitch/
107
- keys << %w/trap intr syscall sysread syswrite sysfork sysvfork sysexec/
108
- keys << %w/readch writech rcvint xmtint mdmint rawch canch outch msg/
109
- keys << %w/sema namei ufsiget ufsdirblk ufsipage ufsinopage inodeovf/
110
- keys << %w/fileovf procovf intrthread intrblk idlethread inv_swtch/
111
- keys << %w/nthreads cpumigrate xcalls mutex_adenters rw_rdfails/
112
- keys << %w/rw_wrfails modload modunload bawrite/
113
- keys.flatten!
114
-
115
- assert_nothing_raised{ @k.record["cpu_stat"][0]["cpu_stat0"] }
116
- assert_kind_of(Hash, @k.record["cpu_stat"][0]["cpu_stat0"])
117
-
118
- # Too big and difficult to sort manually - so use a Set
119
- set1 = Set.new(keys)
120
- set2 = Set.new(@k.record["cpu_stat"][0]["cpu_stat0"].keys)
121
- diff = set1 - set2
122
-
123
- assert_equal(set1,set2,"Diff was: #{diff.to_a}")
124
- end
125
-
126
- def test_record_ncstats
127
- keys = %w/dbl_enters enters hits long_enter long_look misses/
128
- keys.push %w/move_to_front purges/
129
- keys.flatten!
130
-
131
- assert_nothing_raised{ @k.record["unix"][0]["ncstats"] }
132
- assert_kind_of(Hash, @k.record["unix"][0]["ncstats"])
133
- assert_equal(keys, @k.record["unix"][0]["ncstats"].keys.sort)
134
- end
135
-
136
- def test_record_sysinfo
137
- keys = %w/runocc runque swpocc swpque updates waiting/
138
-
139
- assert_nothing_raised{ @k.record["unix"][0]["sysinfo"] }
140
- assert_kind_of(Hash, @k.record["unix"][0]["sysinfo"])
141
- assert_equal(keys, @k.record["unix"][0]["sysinfo"].keys.sort)
142
- end
143
-
144
- def teardown
145
- @k = nil
146
- end
147
- end