sys-admin 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
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.