diff --git a/fs/tarfs.py b/fs/tarfs.py
index 543b203..917eb03 100644
--- a/fs/tarfs.py
+++ b/fs/tarfs.py
@@ -16,7 +16,7 @@ from .enums import ResourceType
 from .info import Info
 from .iotools import RawWrapper
 from .opener import open_fs
-from .path import dirname, normpath, relpath, basename
+from .path import dirname, relpath, basename, isbase, parts, frombase
 from .wrapfs import WrapFS
 from .permissions import Permissions
 
@@ -256,9 +256,14 @@ class ReadTarFS(FS):
 
         else:
             try:
+                implicit = False
                 member = self._tar.getmember(self._encode(_path))
             except KeyError:
-                raise errors.ResourceNotFound(path)
+                if not self.isdir(_path):
+                    raise errors.ResourceNotFound(path)
+                implicit = True
+                member = tarfile.TarInfo(_path)
+                member.type = tarfile.DIRTYPE
 
             raw_info["basic"] = {
                 "name": basename(self._decode(member.name)),
@@ -268,10 +273,11 @@ class ReadTarFS(FS):
             if "details" in namespaces:
                 raw_info["details"] = {
                     "size": member.size,
-                    "type": int(self.type_map[member.type]),
-                    "modified": member.mtime,
+                    "type": int(self.type_map[member.type])
                 }
-            if "access" in namespaces:
+                if not implicit:
+                    raw_info["details"]["modified"] = member.mtime
+            if "access" in namespaces and not implicit:
                 raw_info["access"] = {
                     "gid": member.gid,
                     "group": member.gname,
@@ -279,7 +285,7 @@ class ReadTarFS(FS):
                     "uid": member.uid,
                     "user": member.uname,
                 }
-            if "tar" in namespaces:
+            if "tar" in namespaces and not implicit:
                 raw_info["tar"] = _get_member_info(member, self.encoding)
                 raw_info["tar"].update({
                     k.replace('is', 'is_'):getattr(member, k)()
@@ -289,39 +295,46 @@ class ReadTarFS(FS):
 
         return Info(raw_info)
 
+    def isdir(self, path):
+        _path = relpath(self.validatepath(path))
+        try:
+            return self._directory[_path].isdir()
+        except KeyError:
+            return any(isbase(_path, name) for name in self._directory)
+
+    def isfile(self, path):
+        _path = relpath(self.validatepath(path))
+        try:
+            return self._directory[_path].isfile()
+        except KeyError:
+            return False
+
     def setinfo(self, path, info):
         self.check()
         raise errors.ResourceReadOnly(path)
 
     def listdir(self, path):
-        self.check()
-        _path = relpath(path)
-        info = self._directory.get(_path)
-        if _path:
-            if info is None:
-                raise errors.ResourceNotFound(path)
-            if not info.isdir():
-                raise errors.DirectoryExpected(path)
-        dir_list = [
-            basename(name)
-            for name in self._directory.keys()
-            if dirname(name) == _path
-        ]
-        return dir_list
+        _path = relpath(self.validatepath(path))
+
+        if not self.gettype(path) is ResourceType.directory:
+            raise errors.DirectoryExpected(path)
+
+        children = (frombase(_path, n) for n in self._directory if isbase(_path, n))
+        content = (parts(child)[1] for child in children if relpath(child))
+        return list(OrderedDict.fromkeys(content))
 
     def makedir(self, path, permissions=None, recreate=False):
         self.check()
         raise errors.ResourceReadOnly(path)
 
     def openbin(self, path, mode="r", buffering=-1, **options):
-        self.check()
-        path = relpath(normpath(path))
+        _path = relpath(self.validatepath(path))
 
         if 'w' in mode or '+' in mode or 'a' in mode:
             raise errors.ResourceReadOnly(path)
 
         try:
-            member = self._tar.getmember(self._encode(path))
+            member = self._tar.getmember(self._encode(_path))
         except KeyError:
             six.raise_from(errors.ResourceNotFound(path), None)
 

diff --git a/tests/test_tarfs.py b/tests/test_tarfs.py
index e894f6b..bfe0bc4 100644
--- a/tests/test_tarfs.py
+++ b/tests/test_tarfs.py
@@ -1,16 +1,20 @@
 # -*- encoding: UTF-8
 from __future__ import unicode_literals
 
+import io
 import os
 import six
 import gzip
 import tarfile
 import getpass
+import tarfile
 import tempfile
 import unittest
+import uuid
 
 from fs import tarfs
 from fs import errors
+from fs.enums import ResourceType
 from fs.compress import write_tar
 from fs.opener import open_fs
 from fs.opener.errors import NotWriteable
@@ -184,6 +188,73 @@ class TestReadTarFS(ArchiveTestCases, unittest.TestCase):
         self.assertTrue(top.get('tar', 'is_file'))
 
 
+class TestImplicitDirectories(unittest.TestCase):
+    """Regression tests for #160.
+    """
+
+    @classmethod
+    def setUpClass(cls):
+        cls.tmpfs = open_fs("temp://")
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.tmpfs.close()
+
+    def setUp(self):
+        self.tempfile = self.tmpfs.open('test.tar', 'wb+')
+        with tarfile.open(mode="w", fileobj=self.tempfile) as tf:
+            tf.addfile(tarfile.TarInfo("foo/bar/baz/spam.txt"), io.StringIO())
+            tf.addfile(tarfile.TarInfo("foo/eggs.bin"), io.StringIO())
+            tf.addfile(tarfile.TarInfo("foo/yolk/beans.txt"), io.StringIO())
+            info = tarfile.TarInfo("foo/yolk")
+            info.type = tarfile.DIRTYPE
+            tf.addfile(info, io.BytesIO())
+        self.tempfile.seek(0)
+        self.fs = tarfs.TarFS(self.tempfile)
+
+    def tearDown(self):
+        self.fs.close()
+        self.tempfile.close()
+
+    def test_isfile(self):
+        self.assertFalse(self.fs.isfile("foo"))
+        self.assertFalse(self.fs.isfile("foo/bar"))
+        self.assertFalse(self.fs.isfile("foo/bar/baz"))
+        self.assertTrue(self.fs.isfile("foo/bar/baz/spam.txt"))
+        self.assertTrue(self.fs.isfile("foo/yolk/beans.txt"))
+        self.assertTrue(self.fs.isfile("foo/eggs.bin"))
+        self.assertFalse(self.fs.isfile("foo/eggs.bin/baz"))
+
+    def test_isdir(self):
+        self.assertTrue(self.fs.isdir("foo"))
+        self.assertTrue(self.fs.isdir("foo/yolk"))
+        self.assertTrue(self.fs.isdir("foo/bar"))
+        self.assertTrue(self.fs.isdir("foo/bar/baz"))
+        self.assertFalse(self.fs.isdir("foo/bar/baz/spam.txt"))
+        self.assertFalse(self.fs.isdir("foo/eggs.bin"))
+        self.assertFalse(self.fs.isdir("foo/eggs.bin/baz"))
+        self.assertFalse(self.fs.isdir("foo/yolk/beans.txt"))
+
+    def test_listdir(self):
+        self.assertEqual(sorted(self.fs.listdir("foo")), ["bar", "eggs.bin", "yolk"])
+        self.assertEqual(self.fs.listdir("foo/bar"), ["baz"])
+        self.assertEqual(self.fs.listdir("foo/bar/baz"), ["spam.txt"])
+        self.assertEqual(self.fs.listdir("foo/yolk"), ["beans.txt"])
+
+    def test_getinfo(self):
+        info = self.fs.getdetails("foo/bar/baz")
+        self.assertEqual(info.name, "baz")
+        self.assertEqual(info.size, 0)
+        self.assertIs(info.type, ResourceType.directory)
+
+        info = self.fs.getdetails("foo")
+        self.assertEqual(info.name, "foo")
+        self.assertEqual(info.size, 0)
+        self.assertIs(info.type, ResourceType.directory)
+
+
+
+
 class TestReadTarFSMem(TestReadTarFS):
 
     def make_source_fs(self):

PyFilesystem can't find existing file in tar-fs
I wrote a stackoverflow post about this, I'm not entirely sure, but I suspect this to be a bug:

https://stackoverflow.com/questions/49811622/pyfilesystem-cant-find-existing-file-in-tar-fs
tests/test_tarfs.py::TestImplicitDirectories::test_getinfo tests/test_tarfs.py::TestImplicitDirectories::test_isdir tests/test_tarfs.py::TestImplicitDirectories::test_listdir
tests/test_tarfs.py::TestWriteReadTarFS::test_unicode_paths tests/test_tarfs.py::TestWriteTarFS::test_appendbytes tests/test_tarfs.py::TestWriteTarFS::test_appendtext tests/test_tarfs.py::TestWriteTarFS::test_basic tests/test_tarfs.py::TestWriteTarFS::test_bin_files tests/test_tarfs.py::TestWriteTarFS::test_close tests/test_tarfs.py::TestWriteTarFS::test_copy tests/test_tarfs.py::TestWriteTarFS::test_copy_dir_mem tests/test_tarfs.py::TestWriteTarFS::test_copy_dir_temp tests/test_tarfs.py::TestWriteTarFS::test_copy_file tests/test_tarfs.py::TestWriteTarFS::test_copy_structure tests/test_tarfs.py::TestWriteTarFS::test_copydir tests/test_tarfs.py::TestWriteTarFS::test_create tests/test_tarfs.py::TestWriteTarFS::test_desc tests/test_tarfs.py::TestWriteTarFS::test_exists tests/test_tarfs.py::TestWriteTarFS::test_files tests/test_tarfs.py::TestWriteTarFS::test_filterdir tests/test_tarfs.py::TestWriteTarFS::test_getbytes tests/test_tarfs.py::TestWriteTarFS::test_getfile tests/test_tarfs.py::TestWriteTarFS::test_getinfo tests/test_tarfs.py::TestWriteTarFS::test_getmeta tests/test_tarfs.py::TestWriteTarFS::test_getsize tests/test_tarfs.py::TestWriteTarFS::test_getsyspath tests/test_tarfs.py::TestWriteTarFS::test_gettext tests/test_tarfs.py::TestWriteTarFS::test_geturl tests/test_tarfs.py::TestWriteTarFS::test_geturl_purpose tests/test_tarfs.py::TestWriteTarFS::test_invalid_chars tests/test_tarfs.py::TestWriteTarFS::test_isdir tests/test_tarfs.py::TestWriteTarFS::test_isempty tests/test_tarfs.py::TestWriteTarFS::test_isfile tests/test_tarfs.py::TestWriteTarFS::test_islink tests/test_tarfs.py::TestWriteTarFS::test_listdir tests/test_tarfs.py::TestWriteTarFS::test_makedir tests/test_tarfs.py::TestWriteTarFS::test_makedirs tests/test_tarfs.py::TestWriteTarFS::test_match tests/test_tarfs.py::TestWriteTarFS::test_move tests/test_tarfs.py::TestWriteTarFS::test_move_dir_mem tests/test_tarfs.py::TestWriteTarFS::test_move_dir_temp tests/test_tarfs.py::TestWriteTarFS::test_move_file_mem tests/test_tarfs.py::TestWriteTarFS::test_move_file_same_fs tests/test_tarfs.py::TestWriteTarFS::test_move_file_temp tests/test_tarfs.py::TestWriteTarFS::test_move_same_fs tests/test_tarfs.py::TestWriteTarFS::test_movedir tests/test_tarfs.py::TestWriteTarFS::test_open tests/test_tarfs.py::TestWriteTarFS::test_open_files tests/test_tarfs.py::TestWriteTarFS::test_openbin tests/test_tarfs.py::TestWriteTarFS::test_openbin_rw tests/test_tarfs.py::TestWriteTarFS::test_opendir tests/test_tarfs.py::TestWriteTarFS::test_remove tests/test_tarfs.py::TestWriteTarFS::test_removedir tests/test_tarfs.py::TestWriteTarFS::test_removetree tests/test_tarfs.py::TestWriteTarFS::test_repeat_dir tests/test_tarfs.py::TestWriteTarFS::test_scandir tests/test_tarfs.py::TestWriteTarFS::test_setbinfile tests/test_tarfs.py::TestWriteTarFS::test_setbytes tests/test_tarfs.py::TestWriteTarFS::test_setfile tests/test_tarfs.py::TestWriteTarFS::test_setinfo tests/test_tarfs.py::TestWriteTarFS::test_settext tests/test_tarfs.py::TestWriteTarFS::test_settimes tests/test_tarfs.py::TestWriteTarFS::test_touch tests/test_tarfs.py::TestWriteTarFS::test_tree tests/test_tarfs.py::TestWriteTarFS::test_validatepath tests/test_tarfs.py::TestWriteTarFSToFileobj::test_appendbytes tests/test_tarfs.py::TestWriteTarFSToFileobj::test_appendtext tests/test_tarfs.py::TestWriteTarFSToFileobj::test_basic tests/test_tarfs.py::TestWriteTarFSToFileobj::test_bin_files tests/test_tarfs.py::TestWriteTarFSToFileobj::test_close tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copy tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copy_dir_mem tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copy_dir_temp tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copy_file tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copy_structure tests/test_tarfs.py::TestWriteTarFSToFileobj::test_copydir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_create tests/test_tarfs.py::TestWriteTarFSToFileobj::test_desc tests/test_tarfs.py::TestWriteTarFSToFileobj::test_exists tests/test_tarfs.py::TestWriteTarFSToFileobj::test_files tests/test_tarfs.py::TestWriteTarFSToFileobj::test_filterdir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getbytes tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getfile tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getinfo tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getmeta tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getsize tests/test_tarfs.py::TestWriteTarFSToFileobj::test_getsyspath tests/test_tarfs.py::TestWriteTarFSToFileobj::test_gettext tests/test_tarfs.py::TestWriteTarFSToFileobj::test_geturl tests/test_tarfs.py::TestWriteTarFSToFileobj::test_geturl_purpose tests/test_tarfs.py::TestWriteTarFSToFileobj::test_invalid_chars tests/test_tarfs.py::TestWriteTarFSToFileobj::test_isdir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_isempty tests/test_tarfs.py::TestWriteTarFSToFileobj::test_isfile tests/test_tarfs.py::TestWriteTarFSToFileobj::test_islink tests/test_tarfs.py::TestWriteTarFSToFileobj::test_listdir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_makedir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_makedirs tests/test_tarfs.py::TestWriteTarFSToFileobj::test_match tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_dir_mem tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_dir_temp tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_file_mem tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_file_same_fs tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_file_temp tests/test_tarfs.py::TestWriteTarFSToFileobj::test_move_same_fs tests/test_tarfs.py::TestWriteTarFSToFileobj::test_movedir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_open tests/test_tarfs.py::TestWriteTarFSToFileobj::test_open_files tests/test_tarfs.py::TestWriteTarFSToFileobj::test_openbin tests/test_tarfs.py::TestWriteTarFSToFileobj::test_openbin_rw tests/test_tarfs.py::TestWriteTarFSToFileobj::test_opendir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_remove tests/test_tarfs.py::TestWriteTarFSToFileobj::test_removedir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_removetree tests/test_tarfs.py::TestWriteTarFSToFileobj::test_repeat_dir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_scandir tests/test_tarfs.py::TestWriteTarFSToFileobj::test_setbinfile tests/test_tarfs.py::TestWriteTarFSToFileobj::test_setbytes tests/test_tarfs.py::TestWriteTarFSToFileobj::test_setfile tests/test_tarfs.py::TestWriteTarFSToFileobj::test_setinfo tests/test_tarfs.py::TestWriteTarFSToFileobj::test_settext tests/test_tarfs.py::TestWriteTarFSToFileobj::test_settimes tests/test_tarfs.py::TestWriteTarFSToFileobj::test_touch tests/test_tarfs.py::TestWriteTarFSToFileobj::test_tree tests/test_tarfs.py::TestWriteTarFSToFileobj::test_validatepath tests/test_tarfs.py::TestWriteGZippedTarFS::test_appendbytes tests/test_tarfs.py::TestWriteGZippedTarFS::test_appendtext tests/test_tarfs.py::TestWriteGZippedTarFS::test_basic tests/test_tarfs.py::TestWriteGZippedTarFS::test_bin_files tests/test_tarfs.py::TestWriteGZippedTarFS::test_close tests/test_tarfs.py::TestWriteGZippedTarFS::test_copy tests/test_tarfs.py::TestWriteGZippedTarFS::test_copy_dir_mem tests/test_tarfs.py::TestWriteGZippedTarFS::test_copy_dir_temp tests/test_tarfs.py::TestWriteGZippedTarFS::test_copy_file tests/test_tarfs.py::TestWriteGZippedTarFS::test_copy_structure tests/test_tarfs.py::TestWriteGZippedTarFS::test_copydir tests/test_tarfs.py::TestWriteGZippedTarFS::test_create tests/test_tarfs.py::TestWriteGZippedTarFS::test_desc tests/test_tarfs.py::TestWriteGZippedTarFS::test_exists tests/test_tarfs.py::TestWriteGZippedTarFS::test_files tests/test_tarfs.py::TestWriteGZippedTarFS::test_filterdir tests/test_tarfs.py::TestWriteGZippedTarFS::test_getbytes tests/test_tarfs.py::TestWriteGZippedTarFS::test_getfile tests/test_tarfs.py::TestWriteGZippedTarFS::test_getinfo tests/test_tarfs.py::TestWriteGZippedTarFS::test_getmeta tests/test_tarfs.py::TestWriteGZippedTarFS::test_getsize tests/test_tarfs.py::TestWriteGZippedTarFS::test_getsyspath tests/test_tarfs.py::TestWriteGZippedTarFS::test_gettext tests/test_tarfs.py::TestWriteGZippedTarFS::test_geturl tests/test_tarfs.py::TestWriteGZippedTarFS::test_geturl_purpose tests/test_tarfs.py::TestWriteGZippedTarFS::test_invalid_chars tests/test_tarfs.py::TestWriteGZippedTarFS::test_isdir tests/test_tarfs.py::TestWriteGZippedTarFS::test_isempty tests/test_tarfs.py::TestWriteGZippedTarFS::test_isfile tests/test_tarfs.py::TestWriteGZippedTarFS::test_islink tests/test_tarfs.py::TestWriteGZippedTarFS::test_listdir tests/test_tarfs.py::TestWriteGZippedTarFS::test_makedir tests/test_tarfs.py::TestWriteGZippedTarFS::test_makedirs tests/test_tarfs.py::TestWriteGZippedTarFS::test_match tests/test_tarfs.py::TestWriteGZippedTarFS::test_move tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_dir_mem tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_dir_temp tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_file_mem tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_file_same_fs tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_file_temp tests/test_tarfs.py::TestWriteGZippedTarFS::test_move_same_fs tests/test_tarfs.py::TestWriteGZippedTarFS::test_movedir tests/test_tarfs.py::TestWriteGZippedTarFS::test_open tests/test_tarfs.py::TestWriteGZippedTarFS::test_open_files tests/test_tarfs.py::TestWriteGZippedTarFS::test_openbin tests/test_tarfs.py::TestWriteGZippedTarFS::test_openbin_rw tests/test_tarfs.py::TestWriteGZippedTarFS::test_opendir tests/test_tarfs.py::TestWriteGZippedTarFS::test_remove tests/test_tarfs.py::TestWriteGZippedTarFS::test_removedir tests/test_tarfs.py::TestWriteGZippedTarFS::test_removetree tests/test_tarfs.py::TestWriteGZippedTarFS::test_repeat_dir tests/test_tarfs.py::TestWriteGZippedTarFS::test_scandir tests/test_tarfs.py::TestWriteGZippedTarFS::test_setbinfile tests/test_tarfs.py::TestWriteGZippedTarFS::test_setbytes tests/test_tarfs.py::TestWriteGZippedTarFS::test_setfile tests/test_tarfs.py::TestWriteGZippedTarFS::test_setinfo tests/test_tarfs.py::TestWriteGZippedTarFS::test_settext tests/test_tarfs.py::TestWriteGZippedTarFS::test_settimes tests/test_tarfs.py::TestWriteGZippedTarFS::test_touch tests/test_tarfs.py::TestWriteGZippedTarFS::test_tree tests/test_tarfs.py::TestWriteGZippedTarFS::test_validatepath tests/test_tarfs.py::TestWriteXZippedTarFS::test_appendbytes tests/test_tarfs.py::TestWriteXZippedTarFS::test_appendtext tests/test_tarfs.py::TestWriteXZippedTarFS::test_basic tests/test_tarfs.py::TestWriteXZippedTarFS::test_bin_files tests/test_tarfs.py::TestWriteXZippedTarFS::test_close tests/test_tarfs.py::TestWriteXZippedTarFS::test_copy tests/test_tarfs.py::TestWriteXZippedTarFS::test_copy_dir_mem tests/test_tarfs.py::TestWriteXZippedTarFS::test_copy_dir_temp tests/test_tarfs.py::TestWriteXZippedTarFS::test_copy_file tests/test_tarfs.py::TestWriteXZippedTarFS::test_copy_structure tests/test_tarfs.py::TestWriteXZippedTarFS::test_copydir tests/test_tarfs.py::TestWriteXZippedTarFS::test_create tests/test_tarfs.py::TestWriteXZippedTarFS::test_desc tests/test_tarfs.py::TestWriteXZippedTarFS::test_exists tests/test_tarfs.py::TestWriteXZippedTarFS::test_files tests/test_tarfs.py::TestWriteXZippedTarFS::test_filterdir tests/test_tarfs.py::TestWriteXZippedTarFS::test_getbytes tests/test_tarfs.py::TestWriteXZippedTarFS::test_getfile tests/test_tarfs.py::TestWriteXZippedTarFS::test_getinfo tests/test_tarfs.py::TestWriteXZippedTarFS::test_getmeta tests/test_tarfs.py::TestWriteXZippedTarFS::test_getsize tests/test_tarfs.py::TestWriteXZippedTarFS::test_getsyspath tests/test_tarfs.py::TestWriteXZippedTarFS::test_gettext tests/test_tarfs.py::TestWriteXZippedTarFS::test_geturl tests/test_tarfs.py::TestWriteXZippedTarFS::test_geturl_purpose tests/test_tarfs.py::TestWriteXZippedTarFS::test_invalid_chars tests/test_tarfs.py::TestWriteXZippedTarFS::test_isdir tests/test_tarfs.py::TestWriteXZippedTarFS::test_isempty tests/test_tarfs.py::TestWriteXZippedTarFS::test_isfile tests/test_tarfs.py::TestWriteXZippedTarFS::test_islink tests/test_tarfs.py::TestWriteXZippedTarFS::test_listdir tests/test_tarfs.py::TestWriteXZippedTarFS::test_makedir tests/test_tarfs.py::TestWriteXZippedTarFS::test_makedirs tests/test_tarfs.py::TestWriteXZippedTarFS::test_match tests/test_tarfs.py::TestWriteXZippedTarFS::test_move tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_dir_mem tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_dir_temp tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_file_mem tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_file_same_fs tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_file_temp tests/test_tarfs.py::TestWriteXZippedTarFS::test_move_same_fs tests/test_tarfs.py::TestWriteXZippedTarFS::test_movedir tests/test_tarfs.py::TestWriteXZippedTarFS::test_open tests/test_tarfs.py::TestWriteXZippedTarFS::test_open_files tests/test_tarfs.py::TestWriteXZippedTarFS::test_openbin tests/test_tarfs.py::TestWriteXZippedTarFS::test_openbin_rw tests/test_tarfs.py::TestWriteXZippedTarFS::test_opendir tests/test_tarfs.py::TestWriteXZippedTarFS::test_remove tests/test_tarfs.py::TestWriteXZippedTarFS::test_removedir tests/test_tarfs.py::TestWriteXZippedTarFS::test_removetree tests/test_tarfs.py::TestWriteXZippedTarFS::test_repeat_dir tests/test_tarfs.py::TestWriteXZippedTarFS::test_scandir tests/test_tarfs.py::TestWriteXZippedTarFS::test_setbinfile tests/test_tarfs.py::TestWriteXZippedTarFS::test_setbytes tests/test_tarfs.py::TestWriteXZippedTarFS::test_setfile tests/test_tarfs.py::TestWriteXZippedTarFS::test_setinfo tests/test_tarfs.py::TestWriteXZippedTarFS::test_settext tests/test_tarfs.py::TestWriteXZippedTarFS::test_settimes tests/test_tarfs.py::TestWriteXZippedTarFS::test_touch tests/test_tarfs.py::TestWriteXZippedTarFS::test_tree tests/test_tarfs.py::TestWriteXZippedTarFS::test_validatepath tests/test_tarfs.py::TestWriteBZippedTarFS::test_appendbytes tests/test_tarfs.py::TestWriteBZippedTarFS::test_appendtext tests/test_tarfs.py::TestWriteBZippedTarFS::test_basic tests/test_tarfs.py::TestWriteBZippedTarFS::test_bin_files tests/test_tarfs.py::TestWriteBZippedTarFS::test_close tests/test_tarfs.py::TestWriteBZippedTarFS::test_copy tests/test_tarfs.py::TestWriteBZippedTarFS::test_copy_dir_mem tests/test_tarfs.py::TestWriteBZippedTarFS::test_copy_dir_temp tests/test_tarfs.py::TestWriteBZippedTarFS::test_copy_file tests/test_tarfs.py::TestWriteBZippedTarFS::test_copy_structure tests/test_tarfs.py::TestWriteBZippedTarFS::test_copydir tests/test_tarfs.py::TestWriteBZippedTarFS::test_create tests/test_tarfs.py::TestWriteBZippedTarFS::test_desc tests/test_tarfs.py::TestWriteBZippedTarFS::test_exists tests/test_tarfs.py::TestWriteBZippedTarFS::test_files tests/test_tarfs.py::TestWriteBZippedTarFS::test_filterdir tests/test_tarfs.py::TestWriteBZippedTarFS::test_getbytes tests/test_tarfs.py::TestWriteBZippedTarFS::test_getfile tests/test_tarfs.py::TestWriteBZippedTarFS::test_getinfo tests/test_tarfs.py::TestWriteBZippedTarFS::test_getmeta tests/test_tarfs.py::TestWriteBZippedTarFS::test_getsize tests/test_tarfs.py::TestWriteBZippedTarFS::test_getsyspath tests/test_tarfs.py::TestWriteBZippedTarFS::test_gettext tests/test_tarfs.py::TestWriteBZippedTarFS::test_geturl tests/test_tarfs.py::TestWriteBZippedTarFS::test_geturl_purpose tests/test_tarfs.py::TestWriteBZippedTarFS::test_invalid_chars tests/test_tarfs.py::TestWriteBZippedTarFS::test_isdir tests/test_tarfs.py::TestWriteBZippedTarFS::test_isempty tests/test_tarfs.py::TestWriteBZippedTarFS::test_isfile tests/test_tarfs.py::TestWriteBZippedTarFS::test_islink tests/test_tarfs.py::TestWriteBZippedTarFS::test_listdir tests/test_tarfs.py::TestWriteBZippedTarFS::test_makedir tests/test_tarfs.py::TestWriteBZippedTarFS::test_makedirs tests/test_tarfs.py::TestWriteBZippedTarFS::test_match tests/test_tarfs.py::TestWriteBZippedTarFS::test_move tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_dir_mem tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_dir_temp tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_file_mem tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_file_same_fs tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_file_temp tests/test_tarfs.py::TestWriteBZippedTarFS::test_move_same_fs tests/test_tarfs.py::TestWriteBZippedTarFS::test_movedir tests/test_tarfs.py::TestWriteBZippedTarFS::test_open tests/test_tarfs.py::TestWriteBZippedTarFS::test_open_files tests/test_tarfs.py::TestWriteBZippedTarFS::test_openbin tests/test_tarfs.py::TestWriteBZippedTarFS::test_openbin_rw tests/test_tarfs.py::TestWriteBZippedTarFS::test_opendir tests/test_tarfs.py::TestWriteBZippedTarFS::test_remove tests/test_tarfs.py::TestWriteBZippedTarFS::test_removedir tests/test_tarfs.py::TestWriteBZippedTarFS::test_removetree tests/test_tarfs.py::TestWriteBZippedTarFS::test_repeat_dir tests/test_tarfs.py::TestWriteBZippedTarFS::test_scandir tests/test_tarfs.py::TestWriteBZippedTarFS::test_setbinfile tests/test_tarfs.py::TestWriteBZippedTarFS::test_setbytes tests/test_tarfs.py::TestWriteBZippedTarFS::test_setfile tests/test_tarfs.py::TestWriteBZippedTarFS::test_setinfo tests/test_tarfs.py::TestWriteBZippedTarFS::test_settext tests/test_tarfs.py::TestWriteBZippedTarFS::test_settimes tests/test_tarfs.py::TestWriteBZippedTarFS::test_touch tests/test_tarfs.py::TestWriteBZippedTarFS::test_tree tests/test_tarfs.py::TestWriteBZippedTarFS::test_validatepath tests/test_tarfs.py::TestReadTarFS::test_getinfo tests/test_tarfs.py::TestReadTarFS::test_gets tests/test_tarfs.py::TestReadTarFS::test_implied_dir tests/test_tarfs.py::TestReadTarFS::test_listdir tests/test_tarfs.py::TestReadTarFS::test_open tests/test_tarfs.py::TestReadTarFS::test_read_from_filename tests/test_tarfs.py::TestReadTarFS::test_read_from_fileobject tests/test_tarfs.py::TestReadTarFS::test_readonly tests/test_tarfs.py::TestReadTarFS::test_repr tests/test_tarfs.py::TestReadTarFS::test_str tests/test_tarfs.py::TestReadTarFS::test_walk_files tests/test_tarfs.py::TestImplicitDirectories::test_isfile tests/test_tarfs.py::TestReadTarFSMem::test_getinfo tests/test_tarfs.py::TestReadTarFSMem::test_gets tests/test_tarfs.py::TestReadTarFSMem::test_implied_dir tests/test_tarfs.py::TestReadTarFSMem::test_listdir tests/test_tarfs.py::TestReadTarFSMem::test_open tests/test_tarfs.py::TestReadTarFSMem::test_read_from_filename tests/test_tarfs.py::TestReadTarFSMem::test_read_from_fileobject tests/test_tarfs.py::TestReadTarFSMem::test_readonly tests/test_tarfs.py::TestReadTarFSMem::test_repr tests/test_tarfs.py::TestReadTarFSMem::test_str tests/test_tarfs.py::TestReadTarFSMem::test_walk_files tests/test_tarfs.py::TestOpener::test_not_writeable