diff options
| author | 2023-05-09 22:08:53 +0100 | |
|---|---|---|
| committer | 2023-05-09 22:08:53 +0100 | |
| commit | 9804a10a598b678225d299178113210f74a25392 (patch) | |
| tree | 9192cd23a3ee78e96ac2083327324fa3d3f28223 /tests/test_nsjail.py | |
| parent | Update Sentry SDK to support Falcon 3 (diff) | |
| parent | Merge branch 'main' into file-scan-recursion-fix (diff) | |
Merge pull request #173 from python-discord/file-scan-recursion-fix
Fix recursion error during file attachment parsing of deep nested paths
Diffstat (limited to '')
| -rw-r--r-- | tests/test_nsjail.py | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/tests/test_nsjail.py b/tests/test_nsjail.py index 456046b..c701d3a 100644 --- a/tests/test_nsjail.py +++ b/tests/test_nsjail.py @@ -227,6 +227,29 @@ class NsJailTests(unittest.TestCase):          )          self.assertEqual(result.stderr, None) +    def test_file_parsing_depth_limit(self): +        code = dedent( +            """ +            import os + +            x = "" +            for _ in range(1000): +                x += "a/" +                os.mkdir(x) + +            open(f"{x}test.txt", "w").write("test") +            """ +        ).strip() + +        nsjail = NsJail(memfs_instance_size=32 * Size.MiB, files_timeout=5) +        result = nsjail.python3(["-c", code]) +        self.assertEqual(result.returncode, None) +        self.assertEqual( +            result.stdout, +            "FileParsingError: Exceeded directory depth limit while parsing attachments", +        ) +        self.assertEqual(result.stderr, None) +      def test_file_write_error(self):          """Test errors during file write."""          result = self.nsjail.python3( | 
