test: Add syntax checks for shell completions

This commit is contained in:
James R. Barlow
2019-07-02 13:49:17 -07:00
parent 4dab299619
commit eeae6f8292
2 changed files with 52 additions and 0 deletions
+4
View File
@@ -1,5 +1,7 @@
# ocrmypdf completion -*- shell-script -*-
set -o errexit
_ocrmypdf()
{
local cur prev cword words split
@@ -84,4 +86,6 @@ _ocrmypdf()
} &&
complete -F _ocrmypdf ocrmypdf
set +o errexit
# ex: filetype=sh
+48
View File
@@ -0,0 +1,48 @@
# © 2019 James R. Barlow: github.com/jbarlow83
#
# This file is part of OCRmyPDF.
#
# OCRmyPDF is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OCRmyPDF is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OCRmyPDF. If not, see <http://www.gnu.org/licenses/>.
from subprocess import run, PIPE
import pytest
def test_fish():
try:
proc = run(
['fish', '-n', 'misc/completion/ocrmypdf.fish'],
check=True,
encoding='utf-8',
stdout=PIPE,
stderr=PIPE,
)
assert proc.stderr == '', proc.stderr
except FileNotFoundError:
pytest.xfail('fish is not installed')
def test_bash():
try:
proc = run(
['bash', '-n', 'misc/completion/ocrmypdf.bash'],
check=True,
encoding='utf-8',
stdout=PIPE,
stderr=PIPE,
)
assert proc.stderr == '', proc.stderr
except FileNotFoundError:
pytest.xfail('bash is not installed')