(self)
| 1928 | @needs_posix |
| 1929 | @needs_symlinks |
| 1930 | def test_resolve_loop(self): |
| 1931 | # Loops with relative symlinks. |
| 1932 | self.cls(self.base, 'linkX').symlink_to('linkX/inside') |
| 1933 | self._check_symlink_loop(self.base, 'linkX') |
| 1934 | self.cls(self.base, 'linkY').symlink_to('linkY') |
| 1935 | self._check_symlink_loop(self.base, 'linkY') |
| 1936 | self.cls(self.base, 'linkZ').symlink_to('linkZ/../linkZ') |
| 1937 | self._check_symlink_loop(self.base, 'linkZ') |
| 1938 | # Non-strict |
| 1939 | p = self.cls(self.base, 'linkZ', 'foo') |
| 1940 | self.assertEqual(p.resolve(strict=False), p) |
| 1941 | # Loops with absolute symlinks. |
| 1942 | self.cls(self.base, 'linkU').symlink_to(self.parser.join(self.base, 'linkU/inside')) |
| 1943 | self._check_symlink_loop(self.base, 'linkU') |
| 1944 | self.cls(self.base, 'linkV').symlink_to(self.parser.join(self.base, 'linkV')) |
| 1945 | self._check_symlink_loop(self.base, 'linkV') |
| 1946 | self.cls(self.base, 'linkW').symlink_to(self.parser.join(self.base, 'linkW/../linkW')) |
| 1947 | self._check_symlink_loop(self.base, 'linkW') |
| 1948 | # Non-strict |
| 1949 | q = self.cls(self.base, 'linkW', 'foo') |
| 1950 | self.assertEqual(q.resolve(strict=False), q) |
| 1951 | |
| 1952 | def test_resolve_nonexist_relative_issue38671(self): |
| 1953 | p = self.cls('non', 'exist') |
nothing calls this directly
no test coverage detected