2121import sys
2222import unittest
2323
24- from pyfakefs .helpers import IN_DOCKER , IS_PYPY , GROUP_ID , USER_ID
24+ from pyfakefs .helpers import IN_DOCKER , IS_PYPY , get_uid , get_gid
2525
2626from pyfakefs import fake_filesystem , fake_os , fake_open , fake_file
2727from pyfakefs .fake_filesystem import (
@@ -5403,6 +5403,26 @@ def chmod(self, path, mode):
54035403 else :
54045404 self .os .chmod (path , mode )
54055405
5406+ def test_getuid (self ):
5407+ self .skip_real_fs () # won't change user in real fs
5408+ self .check_posix_only ()
5409+ uid = self .os .getuid ()
5410+ set_uid (uid + 10 )
5411+ self .assertEqual (uid + 10 , self .os .getuid ())
5412+ self .assertEqual (uid + 10 , get_uid ())
5413+ set_uid (uid )
5414+ self .assertEqual (uid , self .os .getuid ())
5415+
5416+ def test_getgid (self ):
5417+ self .skip_real_fs () # won't change group in real fs
5418+ self .check_posix_only ()
5419+ gid = self .os .getgid ()
5420+ set_gid (gid + 10 )
5421+ self .assertEqual (gid + 10 , self .os .getgid ())
5422+ self .assertEqual (gid + 10 , get_gid ())
5423+ set_gid (gid )
5424+ self .assertEqual (gid , self .os .getgid ())
5425+
54065426 def test_listdir_unreadable_dir (self ):
54075427 if not is_root ():
54085428 self .assert_raises_os_error (errno .EACCES , self .os .listdir , self .dir_path )
@@ -5417,7 +5437,7 @@ def test_listdir_user_readable_dir(self):
54175437 def test_listdir_user_readable_dir_from_other_user (self ):
54185438 self .skip_real_fs () # won't change user in real fs
54195439 self .check_posix_only ()
5420- user_id = USER_ID
5440+ user_id = get_uid ()
54215441 set_uid (user_id + 1 )
54225442 dir_path = self .make_path ("dir1" )
54235443 self .create_dir (dir_path , perm = 0o600 )
@@ -5431,7 +5451,7 @@ def test_listdir_user_readable_dir_from_other_user(self):
54315451
54325452 def test_listdir_group_readable_dir_from_other_user (self ):
54335453 self .skip_real_fs () # won't change user in real fs
5434- user_id = USER_ID
5454+ user_id = get_uid ()
54355455 set_uid (user_id + 1 )
54365456 dir_path = self .make_path ("dir1" )
54375457 self .create_dir (dir_path , perm = 0o660 )
@@ -5442,7 +5462,7 @@ def test_listdir_group_readable_dir_from_other_user(self):
54425462 def test_listdir_group_readable_dir_from_other_group (self ):
54435463 self .skip_real_fs () # won't change user in real fs
54445464 self .check_posix_only ()
5445- group_id = GROUP_ID
5465+ group_id = self . os . getgid ()
54465466 set_gid (group_id + 1 )
54475467 dir_path = self .make_path ("dir1" )
54485468 self .create_dir (dir_path , perm = 0o060 )
@@ -5456,7 +5476,7 @@ def test_listdir_group_readable_dir_from_other_group(self):
54565476
54575477 def test_listdir_other_readable_dir_from_other_group (self ):
54585478 self .skip_real_fs () # won't change user in real fs
5459- group_id = GROUP_ID
5479+ group_id = get_gid ()
54605480 set_gid (group_id + 1 )
54615481 dir_path = self .make_path ("dir1" )
54625482 self .create_dir (dir_path , perm = 0o004 )
@@ -5489,7 +5509,7 @@ def test_remove_unreadable_dir(self):
54895509
54905510 def test_remove_unreadable_dir_from_other_user (self ):
54915511 self .skip_real_fs () # won't change user in real fs
5492- user_id = USER_ID
5512+ user_id = get_uid ()
54935513 set_uid (user_id + 1 )
54945514 dir_path = self .make_path ("dir1" )
54955515 self .create_dir (dir_path , perm = 0o000 )
0 commit comments