[lang-ref] ( rmdir ) ( python )

def test_rmdir(pushd):
    # os.rmdir()
    os.mkdir('dir1')
    assert os.path.isdir('dir1')

    os.rmdir('dir1')  # ok when empty
    assert not os.path.isdir('dir1')

    os.mkdir('dir2')
    os.mkdir('dir2/sub1')
    with pytest.raises(OSError):
        os.rmdir('dir2')  # error when not empty

    assert os.path.isdir('dir2/sub1')
    assert os.path.isdir('dir2')
def test_rmdir_alternative(pushd):
    # pathlib.Path.rmdir()
    Path('dir1').mkdir()
    assert Path('dir1').is_dir()

    Path('dir1').rmdir()  # ok when empty
    assert not Path('dir1').exists()

    Path('dir2').mkdir()
    Path('dir2/sub1').mkdir()
    with pytest.raises(OSError):
        Path('dir2').rmdir()  # error when not empty

    assert Path('dir2/sub1').is_dir()
    assert Path('dir2').is_dir()