def test_open_rw(self): with fatfs.open(f"/{self._filename()}", "w") as f: f.write(bytearray(b"test")) with fatfs.open(f"/{self._filename()}", "r") as f: b = bytearray(100) r = f.read(b) self.assertEqual(r, 4) self.assertEqual(bytes(b[:4]), b"test")
def test_truncate(self): with fatfs.open(f"/{self._filename()}", "w") as f: f.write(bytearray(b"test" * 100)) s = fatfs.stat(f"/{self._filename()}") self.assertEqual(s, (400, "----a", self._filename())) with fatfs.open(f"/{self._filename()}", "a") as f: f.seek(111) f.truncate() s = fatfs.stat(f"/{self._filename()}") self.assertEqual(s, (111, "----a", self._filename()))
def test_open_a(self): with fatfs.open(f"/{self._filename()}", "w") as f: f.write(bytearray(b"test" * 200)) with fatfs.open(f"{self._filename()}", "a") as f: f.seek(800) f.write(bytearray(b"TEST" * 200)) with fatfs.open(f"/{self._filename()}", "r") as f: b = bytearray(2000) r = f.read(b) self.assertEqual(r, 1600) self.assertEqual(bytes(b[:1600]), b"test" * 200 + b"TEST" * 200)
def test_listdir(self): fatfs.mkdir(f"/{self._dirname()}") with fatfs.open(f"{self._filename()}", "w") as f: f.write(bytearray(b"test")) with fatfs.open(f"/{self._dirname()}/{self._filename('2')}", "w") as f: f.write(bytearray(b"testtest")) l = [e for e in fatfs.listdir("/")] self.assertEqual( l, [(0, "---d-", self._dirname()), (4, "----a", self._filename())] ) l = [e for e in fatfs.listdir(f"/{self._dirname()}")] self.assertEqual(l, [(8, "----a", self._filename("2"))])
def test_seek(self): with fatfs.open(f"/{self._filename()}", "w+") as f: f.write(bytearray(b"test" * 10)) f.seek(2) b = bytearray(8) r = f.read(b) self.assertEqual(r, 8) self.assertEqual(bytes(b[:8]), b"sttestte")
def test_unlink(self): fatfs.mkdir(f"/{self._dirname()}") with fatfs.open(f"/{self._filename()}", "w") as f: f.write(bytearray(b"test")) s = fatfs.stat(f"/{self._dirname()}") self.assertEqual(s, (0, "---d-", self._dirname())) s = fatfs.stat(f"/{self._filename()}") self.assertEqual(s, (4, "----a", self._filename())) fatfs.unlink(f"/{self._dirname()}") fatfs.unlink(f"/{self._filename()}") with self.assertRaises(fatfs.FatFSError): fatfs.stat(f"/{self._dirname()}") with self.assertRaises(fatfs.FatFSError): self.assertRaises(fatfs.stat(f"/{self._filename()}"))
def test_unlink(self): fatfs.mkdir("/%s" % self._dirname()) with fatfs.open("/%s" % self._filename(), "w") as f: f.write(bytearray(b"test")) s = fatfs.stat("/%s" % self._dirname()) self.assertEqual(s, (0, "---d-", self._dirname())) s = fatfs.stat("/%s" % self._filename()) self.assertEqual(s, (4, "----a", self._filename())) fatfs.unlink("/%s" % self._dirname()) fatfs.unlink("/%s" % self._filename()) with self.assertRaises(OSError): fatfs.stat("/%s" % self._dirname()) with self.assertRaises(OSError): self.assertRaises(fatfs.stat("/%s" % self._filename()))