@@ -344,28 +344,32 @@ def test_fstat(self):
344344 with open (TEST_FULL_PATH2 , 0 ) as fd : # follows symlink
345345 self .assertEqual (inode , os .fstat (fd ).st_ino )
346346
347- def test_utime_basic (self ):
348- stat_result = os .stat (TEST_FULL_PATH1 )
347+ def test_utimes (self ):
349348 os .utime (TEST_FULL_PATH2 , (- 952468575.678901234 , 1579569825.123456789 )) # follows symlink
350349 self .assertTrue (os .stat (TEST_FULL_PATH1 ).st_atime < - 900000000 )
351- os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = (stat_result .st_atime_ns , stat_result .st_mtime_ns ))
352- self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_atime - stat_result .st_atime ) < 10 )
353- with open (TEST_FULL_PATH2 , os .O_RDWR ) as fd :
354- os .utime (fd , times = (12345 , 67890 ))
355- self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_atime_ns - 12345000000000 ) < 10000000000 )
350+
351+ def test_utimes (self ):
352+ os .utime (TEST_FULL_PATH2 )
356353
357354 @unittest .skipUnless (__graalpython__ .posix_module_backend () != 'java' ,
358355 'Due to bug in OpenJDK 8 on Linux we cannot set atime/mtime of symlinks' )
359- def test_utime_basic_no_follow_symlinks (self ):
360- stat_result = os .stat (TEST_FULL_PATH1 )
356+ def test_lutimes (self ):
361357 os .utime (TEST_FULL_PATH2 , (- 952468575.678901234 , 1579569825.123456789 )) # follows symlink
362358 self .assertTrue (os .stat (TEST_FULL_PATH1 ).st_atime < - 900000000 )
363359 os .utime (TEST_FULL_PATH2 , ns = (952468575678901234 , 1579569825123456789 ), follow_symlinks = False )
364360 self .assertTrue (os .stat (TEST_FULL_PATH1 ).st_atime < - 900000000 )
365361 self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_mtime - 1579569825 ) < 10 )
366362 self .assertTrue (os .stat (TEST_FULL_PATH2 , follow_symlinks = False ).st_atime > 900000000 )
367- os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = (stat_result .st_atime_ns , stat_result .st_mtime_ns ))
368- self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_atime - stat_result .st_atime ) < 10 )
363+
364+ def test_utimensat (self ):
365+ if sys .platform == 'darwin' :
366+ with self .assertRaises (NotImplementedError ):
367+ os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = (952468575678901234 , 1579569825123456789 ))
368+ else :
369+ os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = (952468575678901234 , 1579569825123456789 ))
370+ self .assertTrue (os .stat (TEST_FULL_PATH2 ).st_atime > 900000000 )
371+
372+ def test_futimes_and_futimens (self ):
369373 with open (TEST_FULL_PATH2 , os .O_RDWR ) as fd :
370374 os .utime (fd , times = (12345 , 67890 ))
371375 self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_atime_ns - 12345000000000 ) < 10000000000 )
0 commit comments