Page MenuHomePhabricator

Add linter: Make sure we explicitly open all text files using UTF-8
ClosedPublic

Authored by Fabien on Tue, Jul 30, 18:18.

Details

Summary

...encoding in Python.

Backport of core PR13440 and PR13448
https://github.com/bitcoin/bitcoin/pull/13440/files
https://github.com/bitcoin/bitcoin/pull/13448/files

Depends on D3756 and D3759.

The linter has been converted to PHP and integrated into arcanist within
the same diff, as it is simple enough. It also gets improved to behave
correcty when the arguments are spead over multiple lines. It also graps
the open() call nested in another function call.

Test Plan
./test/functional/test_runner.py
arc lint --everything

Find an open() occurrence in any python file and change the encoding
to encoding='foo'.

arc lint -- <the edited file>

Check the linter returns an error where the encoding has been changed.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.