@@ -3178,10 +3178,11 @@ def test_absolute(self):
31783178 self .assertEqual (str (P ('//a' ).absolute ()), '//a' )
31793179 self .assertEqual (str (P ('//a/b' ).absolute ()), '//a/b' )
31803180
3181- def _check_symlink_loop (self , * args , strict = True ):
3181+ def _check_symlink_loop (self , * args ):
31823182 path = self .cls (* args )
3183- with self .assertRaises (RuntimeError ):
3184- print (path .resolve (strict ))
3183+ with self .assertRaises (OSError ) as cm :
3184+ path .resolve (strict = True )
3185+ self .assertEqual (cm .exception .errno , errno .ELOOP )
31853186
31863187 @unittest .skipIf (
31873188 is_emscripten or is_wasi ,
@@ -3240,7 +3241,8 @@ def test_resolve_loop(self):
32403241 os .symlink ('linkZ/../linkZ' , join ('linkZ' ))
32413242 self ._check_symlink_loop (BASE , 'linkZ' )
32423243 # Non-strict
3243- self ._check_symlink_loop (BASE , 'linkZ' , 'foo' , strict = False )
3244+ p = self .cls (BASE , 'linkZ' , 'foo' )
3245+ self .assertEqual (p .resolve (strict = False ), p )
32443246 # Loops with absolute symlinks.
32453247 os .symlink (join ('linkU/inside' ), join ('linkU' ))
32463248 self ._check_symlink_loop (BASE , 'linkU' )
@@ -3249,7 +3251,8 @@ def test_resolve_loop(self):
32493251 os .symlink (join ('linkW/../linkW' ), join ('linkW' ))
32503252 self ._check_symlink_loop (BASE , 'linkW' )
32513253 # Non-strict
3252- self ._check_symlink_loop (BASE , 'linkW' , 'foo' , strict = False )
3254+ q = self .cls (BASE , 'linkW' , 'foo' )
3255+ self .assertEqual (q .resolve (strict = False ), q )
32533256
32543257 def test_glob (self ):
32553258 P = self .cls
0 commit comments