From 727993bb362aca654057b3e01c4f104dde978f83 Mon Sep 17 00:00:00 2001 From: ionite34 Date: Thu, 24 Nov 2022 11:35:55 +0800 Subject: Add unit test for MemFS access before __enter__ --- tests/test_memfs.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/test_memfs.py') diff --git a/tests/test_memfs.py b/tests/test_memfs.py index 128530a..6b51405 100644 --- a/tests/test_memfs.py +++ b/tests/test_memfs.py @@ -1,5 +1,6 @@ import logging from concurrent.futures import ThreadPoolExecutor +from operator import attrgetter from unittest import TestCase, mock from uuid import uuid4 @@ -37,3 +38,19 @@ class NsJailTests(TestCase): # Original memfs should still exist afterwards self.assertIsInstance(memfs, MemFS) self.assertTrue(memfs.path.exists()) + + def test_no_context_error(self): + """Accessing MemFS attributes before __enter__ raises RuntimeError.""" + cases = [ + attrgetter("path"), + attrgetter("name"), + attrgetter("home"), + attrgetter("output"), + lambda fs: fs.mkdir(""), + lambda fs: list(fs.attachments(1)), + ] + + memfs = MemFS(10) + for case in cases: + with self.subTest(case=case), self.assertRaises(RuntimeError): + case(memfs) -- cgit v1.2.3