Revert to expecting '.bst' on the command line to disambiguate elements and artifacts
Summary of changes:
* _stream.py: Treat targets with `.bst` suffixes as elements and other
targets as artifacts, and improve error reporting around this.
Also use a new machine readable error string to denote when we fail
to create a directory when creating a workspace.
* _loader/loader.py: Remove handling of LoadErrorReason.LOADING_DIRECTORY
This additional handling was only to suggest that maybe the user
meant to specify "<directory_name>.bst" in the case a directory is
encountered, but now we will bail out earlier if an element target
is specified without a ".bst" suffix anyway.
The only way to reach this error is to load a directory which itself
already has a ".bst" suffix, in which case the additional suggestion
is no longer useful.
* tests/format/elementnames.py: Expect different error for target elements
* tests/frontend/artifact_show.py: Removed test that is no longer relevant,
it is now impossible to glob for both elements and artifacts with the
same glob expression.
* tests/frontend/show.py: Removed some parameters of the glob test which
were expecting to get element results without specifying a ".bst" suffix
* tests/frontend/workspace.py: Specify a newly added machine readable reason
for the error of failing to create a directory while opening a workspace
* tests/internals/loader.py: Trigger the LoadErrorReason.LOADING_DIRECTORY
error by creating a directory named "element.bst", so that it gets by
the initial element name suffix checks.
7 files changed