dreamer/roberta

Makefile error

yochananmarqos opened this issue · 4 comments

Manjaro GNOME

roberta 0.1.0
python-pylint 2.3.1-1
python-pytest 5.1.1-1
python-coverage 4.5.4-1
shellcheck 0.7.0-20

I receive the following running make:

shellcheck scripts/codestyle.sh tests/coverage-report.sh
pylint --rcfile=.pylint run-vm *.py tests/*.py
Traceback (most recent call last):
  File "/usr/sbin/pylint", line 11, in <module>
    load_entry_point('pylint==2.3.1', 'console_scripts', 'pylint')()
  File "/usr/lib/python3.7/site-packages/pylint/__init__.py", line 20, in run_pylint
    Run(sys.argv[1:])
  File "/usr/lib/python3.7/site-packages/pylint/lint.py", line 1586, in __init__
    linter.load_config_file()
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 753, in load_config_file
    self.global_set_option(option, value)
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 646, in global_set_option
    self._all_options[opt].set_option(opt, value)
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 843, in set_option
    value = _validate(value, optdict, optname)
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 251, in _validate
    return _call_validator(_type, optdict, name, value)
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 231, in _call_validator
    return VALIDATORS[opttype](optdict, option, value)
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 219, in <lambda>
    "choice": lambda opt, name, value: _choice_validator(opt["choices"], name, value),
  File "/usr/lib/python3.7/site-packages/pylint/config.py", line 173, in _choice_validator
    raise optparse.OptionValueError(msg % (name, value, choices))
optparse.OptionValueError: option spelling-dict: invalid value: 'en_GB', should be in ['']
make: *** [Makefile:53: lint] Error 1

I receive similar output trying to build boxtron 0.5.1 as well.

Just to be clear: make (without any parameters) triggers make lint, which is relevant only for development purposes - as user you only need make user-install to place the files into the proper location.

So I'll assume you want to develop Boxtron/Roberta; install all packages mentioned in CONTRIBUTING.md. The error is caused by missing en_GB dictionary on your machine (now I see this package is not mentioned in contributing guide - I'll correct it ASAP). I don't know how the dictionary package is called on Manjaro; on Fedora it's hunspell-en-GB, on Debian it's myspell-en-GB. This package is used for automatically checking spelling in comments in Python code. If you don't want to deal with this right now, you can temporarily disable the check (spelling-dict setting in .pylint file).

Thank you, I missed the CONTRIBUTING.md. The Arch package is hunspell-en_GB. After installing all the required dependencies, I receive this output:

shellcheck scripts/codestyle.sh tests/coverage-report.sh
pylint --rcfile=.pylint run-vm *.py tests/*.py
************* Module fakescripteval
fakescripteval.py:46:0: C0401: Wrong spelling of a word 'runtime' in a comment:
# TODO use runtime dir instead of cache here
           ^^^^^^^
Did you mean: ''run time' or 'run-time' or 'rudiment''? (wrong-spelling-in-comment)

------------------------------------------------------------------
Your code has been rated at 9.98/10 (previous run: 9.81/10, +0.17)

make: *** [Makefile:53: lint] Error 16

That's weird - this spelling is not caught in my dictionary (Fedora) and neither was caught on CI (Debian). I you feel like it, you can add it to the exceptions (spelling-ignore-words in .pylint) and send as PR. If you prefer not to, I'll fix it with the update to contributing guide.