You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.1 KiB
35 lines
1.1 KiB
""" Run ESLint over the Javascript files. """
|
|
|
|
import os.path
|
|
import subprocess
|
|
import pytest
|
|
|
|
# ---------------------------------------------------------------------
|
|
|
|
@pytest.mark.skipif( not os.environ.get("ESLINT"), reason="ESLINT not configured." )
|
|
def test_eslint():
|
|
"""Run ESLint over the Javascript files."""
|
|
|
|
# initialize
|
|
eslint = os.environ[ "ESLINT" ]
|
|
|
|
# check each Javascript file
|
|
dname = os.path.join( os.path.dirname(__file__), "../static/" )
|
|
for fname in os.listdir( dname ):
|
|
|
|
if os.path.splitext( fname )[1] != ".js":
|
|
continue
|
|
|
|
# run ESLint for the next file
|
|
proc = subprocess.run(
|
|
[ eslint, os.path.join(dname,fname) ],
|
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf-8",
|
|
check=False
|
|
)
|
|
if proc.stdout or proc.stderr:
|
|
print( "=== ESLint failed: {} ===".format( fname ) )
|
|
if proc.stdout:
|
|
print( proc.stdout )
|
|
if proc.stderr:
|
|
print( proc.stderr )
|
|
assert False
|
|
|