@@ -672,17 +672,27 @@ def test_lutimes(self):
672672 self .assertTrue (os .stat (TEST_FULL_PATH2 , follow_symlinks = False ).st_atime > 900000000 )
673673
674674 def test_utimensat (self ):
675- if sys .platform == 'darwin' :
676- with self .assertRaises (NotImplementedError ):
677- os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = (952468575678901234 , 1579569825123456789 ))
675+ timestamps = (952468575678901234 , 1579569825123456789 )
676+ os .utime (TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = timestamps )
677+ stat_result = os .stat (TEST_FULL_PATH2 )
678+ if __graalpython__ .posix_module_backend () == 'java' :
679+ self .assertEqual (timestamps [0 ] // 1_000_000_000 , stat_result .st_atime_ns // 1_000_000_000 )
680+ self .assertEqual (timestamps [1 ] // 1_000_000_000 , stat_result .st_mtime_ns // 1_000_000_000 )
678681 else :
679- os . utime ( TEST_FILENAME2 , dir_fd = self .tmp_fd , ns = ( 952468575678901234 , 1579569825123456789 ) )
680- self .assertTrue ( os . stat ( TEST_FULL_PATH2 ). st_atime > 900000000 )
682+ self .assertEqual ( timestamps [ 0 ], stat_result . st_atime_ns )
683+ self .assertEqual ( timestamps [ 1 ], stat_result . st_mtime_ns )
681684
682685 def test_futimes_and_futimens (self ):
683686 with open (TEST_FULL_PATH2 , os .O_RDWR ) as fd :
684- os .utime (fd , times = (12345 , 67890 ))
685- self .assertTrue (abs (os .stat (TEST_FULL_PATH1 ).st_atime_ns - 12345000000000 ) < 10000000000 )
687+ timestamps = (12345678901234 , 67890123456789 )
688+ os .utime (fd , ns = timestamps )
689+ stat_result = os .stat (TEST_FULL_PATH1 )
690+ if __graalpython__ .posix_module_backend () == 'java' :
691+ self .assertEqual (timestamps [0 ] // 1_000_000_000 , stat_result .st_atime_ns // 1_000_000_000 )
692+ self .assertEqual (timestamps [1 ] // 1_000_000_000 , stat_result .st_mtime_ns // 1_000_000_000 )
693+ else :
694+ self .assertEqual (timestamps [0 ], stat_result .st_atime_ns )
695+ self .assertEqual (timestamps [1 ], stat_result .st_mtime_ns )
686696
687697 @unittest .skipUnless (sys .platform != 'darwin' , 'faccessat on MacOSX does not support follow_symlinks' )
688698 def test_access (self ):
0 commit comments