Regression: Unhelpful error message on missing variables
Summary
If a .bst file fails to specify a required variable, we receive a very unhelpful error message.
This has been reported before in #253 (closed) and was supposedly fixed by !449 (merged), however, I am seeing this behaviour on current master.
Steps to reproduce
I commented out the url of the tarball for the source of the hello.bst element in our autotools example
$ cat elements/hello.bst
kind: autotools
description: |
Hello world example from automake
variables:
# The hello world example lives in the doc/amhello folder.
#
# Set the %{command-subdir} variable to that location
# and just have the autotools element run its commands there.
#
command-subdir: doc/amhello
sources:
- kind: tar
# url: gnu:automake-1.16.tar.gz
ref: 80da43bb5665596ee389e6d8b64b4f122ea4b92a685b1dbd813cd1f0e0c2d83f
depends:
- base.bst
$ bst show hello.bst
[--:--:--][ ][ main:core activity ] START Loading elements
[00:00:00][ ][ main:core activity ] SUCCESS Loading elements
[--:--:--][ ][ main:core activity ] START Resolving elements
[00:00:00][ ][ main:core activity ] FAILURE Resolving elements
autotools.yaml [synthetic node]: Dictionary did not contain expected key 'url'
What is the expected correct behavior?
We should at the very least get the filename.