diff --git a/poetry/masonry/utils/package_include.py b/poetry/masonry/utils/package_include.py index 42ecbbc1fd0..512c6c48f63 100644 --- a/poetry/masonry/utils/package_include.py +++ b/poetry/masonry/utils/package_include.py @@ -34,13 +34,12 @@ def refresh(self): # type: () -> PackageInclude return self.check_elements() def check_elements(self): # type: () -> PackageInclude - root = self._elements[0] - if not self._elements: raise ValueError( "{} does not contain any element".format(self._base / self._include) ) + root = self._elements[0] if len(self._elements) > 1: # Probably glob self._is_package = True diff --git a/tests/masonry/utils/test_package_include.py b/tests/masonry/utils/test_package_include.py index a79ff96f03c..36b5985800b 100644 --- a/tests/masonry/utils/test_package_include.py +++ b/tests/masonry/utils/test_package_include.py @@ -41,3 +41,12 @@ def test_package_include_with_no_python_files_in_dir(): PackageInclude(base=with_includes, include="not_a_python_pkg") assert str(e.value) == "not_a_python_pkg is not a package." + + +def test_package_include_with_non_existent_directory(): + with pytest.raises(ValueError) as e: + PackageInclude(base=with_includes, include="not_a_dir") + + err_str = str(with_includes / "not_a_dir") + " does not contain any element" + + assert str(e.value) == err_str