Merge pull request #105 from return42/yaml

[enh] add test.yamllint - lint yaml files
This commit is contained in:
Alexandre Flament 2021-06-05 20:36:03 +02:00 committed by GitHub
commit 5f76238d5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 1259 additions and 1171 deletions

View file

@ -50,37 +50,41 @@
((nil ((nil
. ((fill-column . 80) . ((fill-column . 80)
(indent-tabs-mode . nil) (indent-tabs-mode . nil)
))
(makefile-gmake-mode
. ((indent-tabs-mode . t)
))
(python-mode
. ((indent-tabs-mode . nil)
;; project root folder is where the `.dir-locals.el' is located ;; project root folder is where the `.dir-locals.el' is located
(eval . (setq-local (eval . (setq-local
prj-root (locate-dominating-file default-directory ".dir-locals.el"))) prj-root (locate-dominating-file default-directory ".dir-locals.el")))
(eval . (setq-local (eval . (setq-local
python-environment-directory (expand-file-name "./local" prj-root))) python-environment-directory (expand-file-name "./local" prj-root)))
;; use 'py3' enviroment as default ;; use 'py3' enviroment as default
(eval . (setq-local (eval . (setq-local
python-environment-default-root-name "py3")) python-environment-default-root-name "py3"))
(eval . (setq-local (eval . (setq-local
python-shell-virtualenv-root python-shell-virtualenv-root
(concat python-environment-directory (expand-file-name python-environment-default-root-name python-environment-directory)
"/" ))
python-environment-default-root-name)))
;; python-shell-virtualenv-path is obsolete, use python-shell-virtualenv-root!
;; (eval . (setq-local
;; python-shell-virtualenv-path python-shell-virtualenv-root))
(eval . (setq-local (eval . (setq-local
python-shell-interpreter python-shell-interpreter
(expand-file-name "bin/python" python-shell-virtualenv-root))) (expand-file-name "bin/python" python-shell-virtualenv-root)))
))
(makefile-gmake-mode
. ((indent-tabs-mode . t)
))
(yaml-mode
. (
;; flycheck should use the local py3 environment
(eval . (setq-local
flycheck-yaml-yamllint-executable
(expand-file-name "bin/yamllint" python-shell-virtualenv-root)))
(eval . (setq-local
flycheck-yamllintrc
(expand-file-name ".yamllint.yml" prj-root)))
(flycheck-checker . yaml-yamllint)
))
(python-mode
. ((indent-tabs-mode . nil)
(eval . (setq-local (eval . (setq-local
python-environment-virtualenv python-environment-virtualenv

16
.yamllint.yml Normal file
View file

@ -0,0 +1,16 @@
extends: default
rules:
indentation:
spaces: 2
# 120 chars should be enough, but don't fail if a line is longer
line-length:
max: 120
level: warning
allow-non-breakable-words: true
# we don't have multiple document per file
document-start: disable
document-end: disable

View file

@ -51,8 +51,8 @@ search.checker.%: install
$(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))" $(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))"
PHONY += test ci.test test.shell PHONY += test ci.test test.shell
ci.test: test.pep8 test.pylint test.unit test.robot ci.test: test.yamllint test.pep8 test.pylint test.unit test.robot
test: test.pep8 test.pylint test.unit test.robot test.shell test: test.yamllint test.pep8 test.pylint test.unit test.robot test.shell
test.shell: test.shell:
$(Q)shellcheck -x -s dash \ $(Q)shellcheck -x -s dash \
dockerfiles/docker-entrypoint.sh dockerfiles/docker-entrypoint.sh
@ -81,7 +81,7 @@ MANAGE += node.env node.clean
MANAGE += py.build py.clean MANAGE += py.build py.clean
MANAGE += pyenv pyenv.install pyenv.uninstall MANAGE += pyenv pyenv.install pyenv.uninstall
MANAGE += pypi.upload pypi.upload.test MANAGE += pypi.upload pypi.upload.test
MANAGE += test.pylint test.pep8 test.unit test.coverage test.robot test.clean MANAGE += test.yamllint test.pylint test.pep8 test.unit test.coverage test.robot test.clean
MANAGE += themes.all themes.oscar themes.simple themes.bootstrap MANAGE += themes.all themes.oscar themes.simple themes.bootstrap
PHONY += $(MANAGE) PHONY += $(MANAGE)

10
manage
View file

@ -29,6 +29,11 @@ pylint.FILES() {
grep -l -r --include \*.py '^#[[:blank:]]*lint:[[:blank:]]*pylint' searx searx_extra tests grep -l -r --include \*.py '^#[[:blank:]]*lint:[[:blank:]]*pylint' searx searx_extra tests
} }
YAMLLINT_FILES=()
while IFS= read -r line; do
YAMLLINT_FILES+=("$line")
done <<< "$(git ls-files './tests/*.yml' './searx/*.yml')"
PYLINT_SEARX_DISABLE_OPTION="\ PYLINT_SEARX_DISABLE_OPTION="\
I,C,R,\ I,C,R,\
W0105,W0212,W0511,W0603,W0613,W0621,W0702,W0703,W1401,\ W0105,W0212,W0511,W0603,W0613,W0621,W0702,W0703,W1401,\
@ -391,6 +396,11 @@ pypi.upload.test() {
pyenv.cmd twine upload -r testpypi "${PYDIST}"/* pyenv.cmd twine upload -r testpypi "${PYDIST}"/*
} }
test.yamllint() {
build_msg TEST "[pylint] \$PYLINT_FILES"
pyenv.cmd yamllint --format parsable "${YAMLLINT_FILES[@]}"
}
test.pylint() { test.pylint() {
# shellcheck disable=SC2086 # shellcheck disable=SC2086
( set -e ( set -e

View file

@ -16,3 +16,4 @@ sphinxcontrib-programoutput==0.17
sphinx-autobuild==2021.3.14 sphinx-autobuild==2021.3.14
linuxdoc==20210324 linuxdoc==20210324
aiounittest==1.4.0 aiounittest==1.4.0
yamllint==1.26.1

File diff suppressed because it is too large Load diff

View file

@ -1,53 +1,53 @@
general: general:
debug : False debug: false
instance_name : "searx_test" instance_name: "searx_test"
search: search:
language: "all" language: "all"
server: server:
port : 11111 port: 11111
bind_address : 127.0.0.1 bind_address: 127.0.0.1
secret_key : "changedultrasecretkey" secret_key: "changedultrasecretkey"
base_url : False base_url: false
http_protocol_version : "1.0" http_protocol_version: "1.0"
ui: ui:
static_path : "" static_path: ""
templates_path : "" templates_path: ""
default_theme : oscar default_theme: oscar
preferences: preferences:
lock: [] lock: []
outgoing: outgoing:
request_timeout : 1.0 # seconds request_timeout: 1.0 # seconds
useragent_suffix : "" useragent_suffix: ""
engines: engines:
- name : general dummy - name: general dummy
engine : dummy engine: dummy
categories : general categories: general
shortcut : gd shortcut: gd
- name : dummy dummy - name: dummy dummy
engine : dummy engine: dummy
categories : dummy categories: dummy
shortcut : dd shortcut: dd
locales: locales:
en : English en: English
hu : Magyar hu: Magyar
doi_resolvers : doi_resolvers:
oadoi.org : 'https://oadoi.org/' oadoi.org: 'https://oadoi.org/'
doi.org : 'https://doi.org/' doi.org: 'https://doi.org/'
doai.io : 'https://dissem.in/' doai.io: 'https://dissem.in/'
sci-hub.se : 'https://sci-hub.se/' sci-hub.se: 'https://sci-hub.se/'
sci-hub.do : 'https://sci-hub.do/' sci-hub.do: 'https://sci-hub.do/'
scihubtw.tw : 'https://scihubtw.tw/' scihubtw.tw: 'https://scihubtw.tw/'
sci-hub.st : 'https://sci-hub.st/' sci-hub.st: 'https://sci-hub.st/'
sci-hub.bar : 'https://sci-hub.bar/' sci-hub.bar: 'https://sci-hub.bar/'
sci-hub.it.nf : 'https://sci-hub.it.nf/' sci-hub.it.nf: 'https://sci-hub.it.nf/'
default_doi_resolver : 'oadoi.org' default_doi_resolver: 'oadoi.org'

View file

@ -1,2 +1,2 @@
Test: Test:
********** "**********"

View file

@ -1,111 +1,111 @@
general: general:
debug : False debug: false
instance_name : "searx" instance_name: "searx"
search: search:
safe_search : 0 safe_search: 0
autocomplete : "" autocomplete: ""
default_lang : "" default_lang: ""
ban_time_on_fail : 5 ban_time_on_fail: 5
max_ban_time_on_fail : 120 max_ban_time_on_fail: 120
server: server:
port : 9000 port: 9000
bind_address : "0.0.0.0" bind_address: "0.0.0.0"
secret_key : "user_settings_secret" secret_key: "user_settings_secret"
base_url : False base_url: false
image_proxy : False image_proxy: false
http_protocol_version : "1.0" http_protocol_version: "1.0"
method: "POST" method: "POST"
default_http_headers: default_http_headers:
X-Content-Type-Options : nosniff X-Content-Type-Options: nosniff
X-XSS-Protection : 1; mode=block X-XSS-Protection: 1; mode=block
X-Download-Options : noopen X-Download-Options: noopen
X-Robots-Tag : noindex, nofollow X-Robots-Tag: noindex, nofollow
Referrer-Policy : no-referrer Referrer-Policy: no-referrer
ui: ui:
static_path : "" static_path: ""
templates_path : "" templates_path: ""
default_theme : oscar default_theme: oscar
default_locale : "" default_locale: ""
theme_args : theme_args:
oscar_style : logicodev oscar_style: logicodev
engines: engines:
- name : wikidata - name: wikidata
engine : wikidata engine: wikidata
shortcut : wd shortcut: wd
timeout : 3.0 timeout: 3.0
weight : 2 weight: 2
- name : wikibooks - name: wikibooks
engine : mediawiki engine: mediawiki
shortcut : wb shortcut: wb
categories : general categories: general
base_url : "https://{language}.wikibooks.org/" base_url: "https://{language}.wikibooks.org/"
number_of_results : 5 number_of_results: 5
search_type : text search_type: text
- name : wikinews - name: wikinews
engine : mediawiki engine: mediawiki
shortcut : wn shortcut: wn
categories : news categories: news
base_url : "https://{language}.wikinews.org/" base_url: "https://{language}.wikinews.org/"
number_of_results : 5 number_of_results: 5
search_type : text search_type: text
- name : wikiquote - name: wikiquote
engine : mediawiki engine: mediawiki
shortcut : wq shortcut: wq
categories : general categories: general
base_url : "https://{language}.wikiquote.org/" base_url: "https://{language}.wikiquote.org/"
number_of_results : 5 number_of_results: 5
search_type : text search_type: text
locales: locales:
en : English en: English
ar : العَرَبِيَّة (Arabic) ar: العَرَبِيَّة (Arabic)
bg : Български (Bulgarian) bg: Български (Bulgarian)
bo : བོད་སྐད་ (Tibetian) bo: བོད་སྐད་ (Tibetian)
ca : Català (Catalan) ca: Català (Catalan)
cs : Čeština (Czech) cs: Čeština (Czech)
cy : Cymraeg (Welsh) cy: Cymraeg (Welsh)
da : Dansk (Danish) da: Dansk (Danish)
de : Deutsch (German) de: Deutsch (German)
el_GR : Ελληνικά (Greek_Greece) el_GR: Ελληνικά (Greek_Greece)
eo : Esperanto (Esperanto) eo: Esperanto (Esperanto)
es : Español (Spanish) es: Español (Spanish)
et : Eesti (Estonian) et: Eesti (Estonian)
eu : Euskara (Basque) eu: Euskara (Basque)
fa_IR : (fārsī) فارسى (Persian) fa_IR: (fārsī) فارسى (Persian)
fi : Suomi (Finnish) fi: Suomi (Finnish)
fil : Wikang Filipino (Filipino) fil: Wikang Filipino (Filipino)
fr : Français (French) fr: Français (French)
gl : Galego (Galician) gl: Galego (Galician)
he : עברית (Hebrew) he: עברית (Hebrew)
hr : Hrvatski (Croatian) hr: Hrvatski (Croatian)
hu : Magyar (Hungarian) hu: Magyar (Hungarian)
ia : Interlingua (Interlingua) ia: Interlingua (Interlingua)
it : Italiano (Italian) it: Italiano (Italian)
ja : 日本語 (Japanese) ja: 日本語 (Japanese)
lt : Lietuvių (Lithuanian) lt: Lietuvių (Lithuanian)
nl : Nederlands (Dutch) nl: Nederlands (Dutch)
nl_BE : Vlaams (Dutch_Belgium) nl_BE: Vlaams (Dutch_Belgium)
oc : Lenga D'òc (Occitan) oc: Lenga D'òc (Occitan)
pl : Polski (Polish) pl: Polski (Polish)
pt : Português (Portuguese) pt: Português (Portuguese)
pt_BR : Português (Portuguese_Brazil) pt_BR: Português (Portuguese_Brazil)
ro : Română (Romanian) ro: Română (Romanian)
ru : Русский (Russian) ru: Русский (Russian)
sk : Slovenčina (Slovak) sk: Slovenčina (Slovak)
sl : Slovenski (Slovene) sl: Slovenski (Slovene)
sr : српски (Serbian) sr: српски (Serbian)
sv : Svenska (Swedish) sv: Svenska (Swedish)
te : తెలుగు (telugu) te: తెలుగు (telugu)
ta : தமிழ் (Tamil) ta: தமிழ் (Tamil)
tr : Türkçe (Turkish) tr: Türkçe (Turkish)
uk : українська мова (Ukrainian) uk: українська мова (Ukrainian)
vi : tiếng việt (Vietnamese) vi: tiếng việt (Vietnamese)
zh : 中文 (Chinese) zh: 中文 (Chinese)
zh_TW : 國語 (Taiwanese Mandarin) zh_TW: 國語 (Taiwanese Mandarin)

View file

@ -1,9 +1,9 @@
use_default_settings: True use_default_settings: true
server: server:
secret_key: "user_secret_key" secret_key: "user_secret_key"
bind_address: "0.0.0.0" bind_address: "0.0.0.0"
default_http_headers: default_http_headers:
Custom-Header: Custom-Value Custom-Header: Custom-Value
result_proxy: result_proxy:
url : https://localhost/morty url: https://localhost/morty
key : "$ecretKey" key: "$ecretKey"