Assertion functions for the filesystem

These functions make it easy to check the state of files and directories. When the assertion is not true, they provide informative error messages.

testpath.assert_path_exists(path, msg=None)

Assert that something exists at the given path.

testpath.assert_not_path_exists(path, msg=None)

Assert that nothing exists at the given path.

testpath.assert_isfile(path, follow_symlinks=True, msg=None)

Assert that path exists and is a regular file.

With follow_symlinks=True, the default, this will pass if path is a symlink to a regular file. With follow_symlinks=False, it will fail in that case.

testpath.assert_not_isfile(path, follow_symlinks=True, msg=None)

Assert that path exists but is not a regular file.

With follow_symlinks=True, the default, this will fail if path is a symlink to a regular file. With follow_symlinks=False, it will pass in that case.

testpath.assert_isdir(path, follow_symlinks=True, msg=None)

Assert that path exists and is a directory.

With follow_symlinks=True, the default, this will pass if path is a symlink to a directory. With follow_symlinks=False, it will fail in that case.

testpath.assert_not_isdir(path, follow_symlinks=True, msg=None)

Assert that path exists but is not a directory.

With follow_symlinks=True, the default, this will fail if path is a symlink to a directory. With follow_symlinks=False, it will pass in that case.

Assert that path exists and is a symlink.

If to is specified, also check that it is the target of the symlink.

Assert that path exists but is not a symlink.

Unix specific

New in version 0.4.

These additional functions test for special Unix filesystem objects: named pipes and Unix domain sockets. The functions can be used on all platforms, but these types of objects do not exist on Windows.

testpath.assert_ispipe(path, follow_symlinks=True, msg=None)

Assert that path exists and is a named pipe (FIFO).

With follow_symlinks=True, the default, this will pass if path is a symlink to a named pipe. With follow_symlinks=False, it will fail in that case.

testpath.assert_not_ispipe(path, follow_symlinks=True, msg=None)

Assert that path exists but is not a named pipe (FIFO).

With follow_symlinks=True, the default, this will fail if path is a symlink to a named pipe. With follow_symlinks=False, it will pass in that case.

testpath.assert_issocket(path, follow_symlinks=True, msg=None)

Assert that path exists and is a Unix domain socket.

With follow_symlinks=True, the default, this will pass if path is a symlink to a Unix domain socket. With follow_symlinks=False, it will fail in that case.

testpath.assert_not_issocket(path, follow_symlinks=True, msg=None)

Assert that path exists but is not a Unix domain socket.

With follow_symlinks=True, the default, this will fail if path is a symlink to a Unix domain socket. With follow_symlinks=False, it will pass in that case.