sys-admin 1.4.3 → 1.4.4

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.
data/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ == 1.4.4 - 19-Nov-2008
2
+ * Added the User#uid method for MS Windows (which is just the user's relative
3
+ identifier).
4
+ * Now requires test-unit 2.x.
5
+ * Some updates to the test suite to take advantage of test-unit 2.x features.
6
+ * Some minor gemspec tweaks.
7
+
1
8
  == 1.4.3 - 2-Mar-2008
2
9
  * The block form of Admin.users now properly ensures that endpwent() is
3
10
  called. Likewise, the block form of Admin.groups now properly ensures
@@ -148,13 +148,13 @@ User#uid
148
148
  Ruby's
149
149
 
150
150
  == Copyright
151
- Copyright 2002-2007, Daniel J. Berger
151
+ Copyright 2002-2008, Daniel J. Berger
152
152
 
153
153
  All Rights Reserved. This module is free software. It may be used,
154
154
  redistributed and/or modified under the same terms as Ruby itself.
155
155
 
156
156
  == Warranty
157
- This package is provided "as is" and without any express or
157
+ This library is provided "as is" and without any express or
158
158
  implied warranties, including, without limitation, the implied
159
159
  warranties of merchantability and fitness for a particular purpose.
160
160
 
@@ -23,7 +23,7 @@ get information about users and groups.
23
23
  = Constants
24
24
  == Sys::Admin
25
25
  VERSION
26
- The version of this package, returned as a String.
26
+ The version of this library, returned as a String.
27
27
 
28
28
  == Sys::Admin::User
29
29
  TEMP_DUPLICATE
@@ -314,13 +314,13 @@ User#status
314
314
  Ruby's
315
315
 
316
316
  == Copyright
317
- Copyright 2002-2007, Daniel J. Berger
317
+ Copyright 2002-2008, Daniel J. Berger
318
318
 
319
319
  All Rights Reserved. This module is free software. It may be used,
320
320
  redistributed and/or modified under the same terms as Ruby itself.
321
321
 
322
322
  == Warranty
323
- This package is provided "as is" and without any express or
323
+ This library is provided "as is" and without any express or
324
324
  implied warranties, including, without limitation, the implied
325
325
  warranties of merchantability and fitness for a particular purpose.
326
326
 
data/ext/sys/admin.c CHANGED
@@ -364,6 +364,6 @@ void Init_admin(){
364
364
 
365
365
  /* Constants */
366
366
 
367
- /* 1.4.3: The version of this library */
367
+ /* 1.4.4: The version of this library */
368
368
  rb_define_const(cAdmin, "VERSION", rb_str_new2(SYS_ADMIN_VERSION));
369
369
  }
data/ext/sys/admin.h CHANGED
@@ -8,7 +8,7 @@
8
8
  #include <errno.h>
9
9
  #include <string.h>
10
10
 
11
- #define SYS_ADMIN_VERSION "1.4.3"
11
+ #define SYS_ADMIN_VERSION "1.4.4"
12
12
 
13
13
  #ifdef HAVE_LASTLOG_H
14
14
  #include <lastlog.h>
@@ -117,7 +117,7 @@ static VALUE get_user_by_name(VALUE v_name){
117
117
 
118
118
  v_user = get_user(pwd);
119
119
  #else
120
- rb_raise(rb_eNotImpError, "getting user by name not supported");
120
+ rb_raise(rb_eNotImpError, "getting user by name not supported");
121
121
  #endif
122
122
 
123
123
  return v_user;
@@ -148,7 +148,7 @@ static VALUE get_group_by_num(VALUE v_gid){
148
148
  struct group* grp;
149
149
  if( (grp = getgrgid(gid)) == NULL)
150
150
  rb_raise(cAdminError, "no group found for group ID: %i", gid);
151
-
151
+
152
152
  v_group = get_group(grp);
153
153
  #else
154
154
  rb_raise(rb_eNotImpError, "getting group by group ID not supported");
@@ -188,7 +188,7 @@ static VALUE get_group_by_name(VALUE v_name){
188
188
  #endif
189
189
 
190
190
  return v_group;
191
- }
191
+ }
192
192
 
193
193
  /*
194
194
  * :no-doc:
@@ -302,7 +302,7 @@ void get_user_from_value(VALUE v_user, struct passwd* pwd){
302
302
  VALUE v_gecos = rb_iv_get(v_user, "@gecos");
303
303
  if(!NIL_P(v_gecos)){
304
304
  SafeStringValue(v_gecos);
305
- pwd->pw_gecos = StringValuePtr(v_gecos);
305
+ pwd->pw_gecos = StringValuePtr(v_gecos);
306
306
  }
307
307
  #endif
308
308
 
@@ -409,7 +409,7 @@ void get_group_from_value(VALUE v_group, struct group* grp){
409
409
  *
410
410
  * Helper function that gets lastlog information for the User object.
411
411
  */
412
- int get_lastlog_info(struct passwd* pwd, VALUE v_user){
412
+ int get_lastlog_info(struct passwd* pwd, VALUE v_user){
413
413
  int fd;
414
414
  ssize_t bytes_read;
415
415
  struct lastlog log;
data/test/tc_admin.rb CHANGED
@@ -5,10 +5,10 @@
5
5
  # test suite based on the platform.
6
6
  ###############################################################################
7
7
  $LOAD_PATH.unshift Dir.pwd
8
- $LOAD_PATH.unshift Dir.pwd + "/test"
8
+ $LOAD_PATH.unshift File.join(Dir.pwd, 'test')
9
9
 
10
10
  if File::ALT_SEPARATOR
11
- require "tc_windows"
11
+ require 'tc_windows'
12
12
  else
13
- require "tc_unix"
13
+ require 'tc_unix'
14
14
  end
data/test/tc_unix.rb CHANGED
@@ -17,7 +17,7 @@ class TC_Sys_Admin_Unix < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  def test_version
20
- assert_equal('1.4.3', Admin::VERSION)
20
+ assert_equal('1.4.4', Admin::VERSION)
21
21
  end
22
22
 
23
23
  def test_get_login
data/test/tc_windows.rb CHANGED
@@ -7,29 +7,35 @@
7
7
  #
8
8
  # It is assumed that this test will be run via the 'rake test' task.
9
9
  ###############################################################################
10
- require "test/unit"
11
- require "sys/admin"
12
- require "socket"
10
+ require 'rubygems'
11
+ gem 'test-unit'
12
+
13
+ require 'test/unit'
14
+ require 'sys/admin'
15
+ require 'socket'
13
16
  include Sys
14
17
 
15
18
  class TC_Sys_Admin_Win32 < Test::Unit::TestCase
19
+ def self.startup
20
+ @@host = Socket.gethostname
21
+ end
22
+
16
23
  def setup
17
- @host = Socket.gethostname
18
- @user = User.new
19
- @user_name = "guest"
20
- @user_id = 501 # best guess, may fail
21
- @group = Group.new
22
- @group_name = "guests"
23
- @group_id = 546 # best guess, may fail
24
+ @user = User.new
25
+ @user_name = 'guest'
26
+ @user_id = 501 # best guess, may fail
27
+ @group = Group.new
28
+ @group_name = 'guests'
29
+ @group_id = 546 # best guess, may fail
24
30
  end
25
31
 
26
32
  def test_version
27
- assert_equal('1.4.3', Admin::VERSION)
33
+ assert_equal('1.4.4', Admin::VERSION)
28
34
  end
29
35
 
30
36
  def test_01_add_local_user
31
37
  assert_respond_to(Admin, :add_local_user)
32
- assert_nothing_raised{ Admin.add_local_user("foo") }
38
+ assert_nothing_raised{ Admin.add_local_user('foo') }
33
39
  end
34
40
 
35
41
  def test_add_global_user
@@ -39,7 +45,7 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
39
45
  def test_02_config_local_user
40
46
  assert_respond_to(Admin, :config_local_user)
41
47
  assert_nothing_raised{
42
- Admin.config_local_user("foo",{
48
+ Admin.config_local_user("foo", {
43
49
  :description => "delete me",
44
50
  :fullname => "fubar"
45
51
  })
@@ -71,7 +77,7 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
71
77
  def test_02_config_local_group
72
78
  assert_respond_to(Admin, :config_local_group)
73
79
  assert_nothing_raised{
74
- Admin.config_local_group("bar",{:description=>"delete me"})
80
+ Admin.config_local_group('bar', {:description => 'delete me'})
75
81
  }
76
82
  end
77
83
 
@@ -107,10 +113,10 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
107
113
  end
108
114
 
109
115
  def test_get_user_remote
110
- assert_nothing_raised{ Admin.get_user(@user_name, @host) }
111
- assert_nothing_raised{ Admin.get_user(@user_id, @host) }
112
- assert_kind_of(User, Admin.get_user(@user_name, @host))
113
- assert_kind_of(User, Admin.get_user(@user_id, @host))
116
+ assert_nothing_raised{ Admin.get_user(@user_name, @@host) }
117
+ assert_nothing_raised{ Admin.get_user(@user_id, @@host) }
118
+ assert_kind_of(User, Admin.get_user(@user_name, @@host))
119
+ assert_kind_of(User, Admin.get_user(@user_id, @@host))
114
120
  end
115
121
 
116
122
  def test_users
@@ -127,8 +133,8 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
127
133
  end
128
134
 
129
135
  def test_users_remote
130
- assert_nothing_raised{ Admin.users(@host) }
131
- assert_nothing_raised{ Admin.users(@host){ |u| } }
136
+ assert_nothing_raised{ Admin.users(@@host) }
137
+ assert_nothing_raised{ Admin.users(@@host){ |u| } }
132
138
  end
133
139
 
134
140
  def test_user_instance_caption
@@ -205,6 +211,11 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
205
211
  assert_respond_to(@user, :account_type)
206
212
  assert_respond_to(@user, :account_type=)
207
213
  end
214
+
215
+ def test_user_instance_uid
216
+ assert_respond_to(@user, :uid)
217
+ assert_respond_to(@user, :uid=)
218
+ end
208
219
 
209
220
  def test_get_group
210
221
  assert_respond_to(Admin, :get_group)
@@ -219,8 +230,8 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
219
230
  end
220
231
 
221
232
  def test_get_group_remote
222
- assert_nothing_raised{ Admin.get_group(@group_name, @host) }
223
- assert_kind_of(Group, Admin.get_group(@group_name, @host))
233
+ assert_nothing_raised{ Admin.get_group(@group_name, @@host) }
234
+ assert_kind_of(Group, Admin.get_group(@group_name, @@host))
224
235
  end
225
236
 
226
237
  def test_groups
@@ -235,10 +246,10 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
235
246
  end
236
247
 
237
248
  def test_groups_remote
238
- assert_nothing_raised{ Admin.groups(@host) }
239
- assert_nothing_raised{ Admin.groups(@host){ |g| } }
240
- assert_kind_of(Array, Admin.groups(@host))
241
- assert_kind_of(Group, Admin.groups(@host).first)
249
+ assert_nothing_raised{ Admin.groups(@@host) }
250
+ assert_nothing_raised{ Admin.groups(@@host){ |g| } }
251
+ assert_kind_of(Array, Admin.groups(@@host))
252
+ assert_kind_of(Group, Admin.groups(@@host).first)
242
253
  end
243
254
 
244
255
  def test_group_instance_caption
@@ -292,7 +303,6 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
292
303
  end
293
304
 
294
305
  def teardown
295
- @host = nil
296
306
  @user = nil
297
307
  @user_name = nil
298
308
  @user_id = nil
@@ -300,4 +310,8 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
300
310
  @group_name = nil
301
311
  @group_id = nil
302
312
  end
313
+
314
+ def self.shutdown
315
+ @@host = nil
316
+ end
303
317
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-02 00:00:00 -07:00
12
+ date: 2008-11-19 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -36,8 +36,6 @@ files:
36
36
  - MANIFEST
37
37
  - Rakefile
38
38
  - README
39
- - ext/extconf.rb
40
- - ext/sys
41
39
  - ext/sys/admin.c
42
40
  - ext/sys/admin.h
43
41
  has_rdoc: true
@@ -51,7 +49,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
51
49
  requirements:
52
50
  - - ">="
53
51
  - !ruby/object:Gem::Version
54
- version: 1.8.0
52
+ version: 1.8.2
55
53
  version:
56
54
  required_rubygems_version: !ruby/object:Gem::Requirement
57
55
  requirements:
@@ -62,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
60
  requirements: []
63
61
 
64
62
  rubyforge_project: sysutils
65
- rubygems_version: 1.0.1
63
+ rubygems_version: 1.2.0
66
64
  signing_key:
67
65
  specification_version: 2
68
66
  summary: A unified, cross platform replacement for the "etc" package.