* Update run-tests to make use of /usr/bin/env * Update run-vint * Update run-vader-tests * Update custom-linting-rules * Update custom-checks * Update check-toc * Update check-supported-tools-tables
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -e
 | 
						|
set -u
 | 
						|
 | 
						|
exit_code=0
 | 
						|
image=w0rp/ale
 | 
						|
docker_flags=(--rm -v "$PWD:/testplugin" -v "$PWD/test:/home" -w /testplugin "$image")
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'Running custom linting rules'
 | 
						|
echo '========================================'
 | 
						|
echo 'Custom warnings/errors follow:'
 | 
						|
echo
 | 
						|
 | 
						|
set -o pipefail
 | 
						|
docker run -a stdout "${docker_flags[@]}" test/script/custom-linting-rules . || exit_code=$?
 | 
						|
set +o pipefail
 | 
						|
echo
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'Checking for duplicate tags'
 | 
						|
echo '========================================'
 | 
						|
echo 'Duplicate tags follow:'
 | 
						|
echo
 | 
						|
 | 
						|
grep --exclude=tags -roh '\*.*\*$' doc | sort | uniq -d || exit_code=$?
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'Checking for invalid tag references'
 | 
						|
echo '========================================'
 | 
						|
echo 'Invalid tag references tags follow:'
 | 
						|
echo
 | 
						|
 | 
						|
tag_regex='[gb]\?:\?\(ale\|ALE\)[a-zA-Z_\-]\+'
 | 
						|
 | 
						|
# Grep for tags and references, and complain if we find a reference without
 | 
						|
# a tag for the reference. Only our tags will be included.
 | 
						|
diff -u \
 | 
						|
    <(grep --exclude=tags -roh "\*$tag_regex\*" doc | sort -u | sed 's/*//g') \
 | 
						|
    <(grep --exclude=tags -roh "|$tag_regex|" doc | sort -u | sed 's/|//g') \
 | 
						|
    | grep '^+[^+]' && exit_code=1
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'diff README.md and doc/ale.txt tables'
 | 
						|
echo '========================================'
 | 
						|
echo 'Differences follow:'
 | 
						|
echo
 | 
						|
 | 
						|
test/script/check-supported-tools-tables || exit_code=$?
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'Look for badly aligned doc tags'
 | 
						|
echo '========================================'
 | 
						|
echo 'Badly aligned tags follow:'
 | 
						|
echo
 | 
						|
 | 
						|
# Documentation tags need to be aligned to the right margin, so look for
 | 
						|
# tags which aren't at the right margin.
 | 
						|
grep ' \*[^*]\+\*$' doc/ -r \
 | 
						|
    | awk '{ sep = index($0, ":"); if (length(substr($0, sep + 1 )) < 79) { print } }' \
 | 
						|
    | grep . && exit_code=1
 | 
						|
 | 
						|
echo '========================================'
 | 
						|
echo 'Look for table of contents issues'
 | 
						|
echo '========================================'
 | 
						|
echo
 | 
						|
 | 
						|
test/script/check-toc || exit_code=$?
 | 
						|
 | 
						|
exit $exit_code
 |