| 579 | |
| 580 | |
| 581 | def test_scandir_handles_os_error() -> None: |
| 582 | # Create a mock entry that will raise an OSError when is_file is called |
| 583 | mock_entry = unittest.mock.MagicMock() |
| 584 | mock_entry.is_file.side_effect = OSError("some permission error") |
| 585 | # Mock os.scandir to return an iterator with our mock entry |
| 586 | with unittest.mock.patch("os.scandir") as mock_scandir: |
| 587 | mock_scandir.return_value.__enter__.return_value = [mock_entry] |
| 588 | # Call the scandir function with a path |
| 589 | # We expect an OSError to be raised here |
| 590 | with pytest.raises(OSError, match="some permission error"): |
| 591 | scandir("/fake/path") |
| 592 | # Verify that the is_file method was called on the mock entry |
| 593 | mock_entry.is_file.assert_called_once() |
| 594 | |
| 595 | |
| 596 | class TestImportLibMode: |