Adding egrep hook; better iteration for whitespace; improving local tests
This commit is contained in:
parent
133f231726
commit
16c864e161
@ -47,7 +47,7 @@ function logstatement() {
|
|||||||
|
|
||||||
## Storage functions ##
|
## Storage functions ##
|
||||||
function addfs() {
|
function addfs() {
|
||||||
if [ -z "$1" ] || [ -z "$2" ] || (echo "$3" | egrep -v -E '^[0-9]{1,4}'); then
|
if [ -z "$1" ] || [ -z "$2" ] || (echo "$3" | grep -v -E '^[0-9]{1,4}'); then
|
||||||
echo "Need a filesystem(1), volume group path(2), and size (3)"
|
echo "Need a filesystem(1), volume group path(2), and size (3)"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -139,7 +139,7 @@ function prompt-var() {
|
|||||||
fi
|
fi
|
||||||
inputtime="0"
|
inputtime="0"
|
||||||
#echo "$0 is checking for $1 -- currently set to <${!1}>"
|
#echo "$0 is checking for $1 -- currently set to <${!1}>"
|
||||||
while [ -z "${!1}" ] || (echo "${!1}" | egrep -v '^[-0-9a-zA-Z ,.@]{1,50}$' &>/dev/null); do
|
while [ -z "${!1}" ] || (echo "${!1}" | grep -v -E '^[-0-9a-zA-Z ,.@]{1,50}$' &>/dev/null); do
|
||||||
printf "%s: " "$2";
|
printf "%s: " "$2";
|
||||||
read $1;
|
read $1;
|
||||||
if [ "${!1}" == "OPT" ] || [ $inputtime -gt $maxattempts ]; then exit 0; fi
|
if [ "${!1}" == "OPT" ] || [ $inputtime -gt $maxattempts ]; then exit 0; fi
|
||||||
@ -254,7 +254,7 @@ function getmagnetlink {
|
|||||||
|
|
||||||
function findaninixcheckouts {
|
function findaninixcheckouts {
|
||||||
### Find git checkouts in $pwd that are from AniNIX/Foundation
|
### Find git checkouts in $pwd that are from AniNIX/Foundation
|
||||||
find . -type f -name config -exec egrep -l 'url[[:space:]]=[[:space:]]/srv/foundation|url[[:space:]]=[[:space:]]https://(foundation.)aninix.net|url[[:space:]]=[[:space:]]([a-zA-Z0-9])+@(foundation.)aninix.net' {} \; 2>/dev/null | sed 's#.git/config$##'
|
find . -type f -name config -exec grep -l -E 'url[[:space:]]=[[:space:]]/srv/foundation|url[[:space:]]=[[:space:]]https://(foundation.)aninix.net|url[[:space:]]=[[:space:]]([a-zA-Z0-9])+@(foundation.)aninix.net' {} \; 2>/dev/null | sed 's#.git/config$##'
|
||||||
}
|
}
|
||||||
|
|
||||||
function aninixgitstatus {
|
function aninixgitstatus {
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
# Run all our checking scripts.
|
# Run all our checking scripts.
|
||||||
for script in $(find `dirname "$0"`/scripts.d -type f); do
|
for script in $(find `dirname "$0"`/scripts.d -type f); do
|
||||||
|
echo "Running ${script}"
|
||||||
"$script"
|
"$script"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "$script" failed checks.
|
echo "$script" failed checks.
|
||||||
|
7
Hooks/scripts.d/egrep
Executable file
7
Hooks/scripts.d/egrep
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if git ls-files | xargs --delimiter='\n' grep -irlE 'egrep' | grep -v 'Hooks/scripts.d/egrep' ; then
|
||||||
|
echo 'Egrep has been deprecated as of GNU grep 3.8 -- replace `egrep` with `grep -E`.'
|
||||||
|
echo https://www.gnu.org/software/grep/manual/grep.html
|
||||||
|
exit 1
|
||||||
|
fi
|
@ -1,8 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
# This script ensures that repos can commit personal hooks in the ./precommit-hooks folder.
|
# This script ensures that repos can commit personal hooks in the ./precommit-hooks folder.
|
||||||
|
|
||||||
for script in `find precommit-hooks -type f`; do
|
if [ -d precommit-hooks ]; then
|
||||||
if ! bash "$script"; then
|
for script in `find precommit-hooks -type f`; do
|
||||||
echo "Local script $script failed checks."
|
if ! bash "$script"; then
|
||||||
exit 1
|
echo "Local script $script failed checks."
|
||||||
fi
|
exit 1
|
||||||
done
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
|
|
||||||
# Sourced from https://github.com/git/git/blob/master/templates/hooks--pre-commit.sample
|
# Sourced from https://github.com/git/git/blob/master/templates/hooks--pre-commit.sample
|
||||||
|
|
||||||
if git ls-files | xargs egrep -irl '\s\+$' ; then
|
if git ls-files | xargs --delimiter='\n' grep -irlE '\s\+$'; then
|
||||||
echo The above lines have trailing whitespace. Run "sed -i 's/\s\+$//'" on the affected files.
|
echo The above lines have trailing whitespace. Run "sed -i 's/\s\+$//'" on the affected files.
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if git rev-parse --verify HEAD >/dev/null 2>&1
|
if git rev-parse --verify HEAD >/dev/null 2>&1; then
|
||||||
then
|
|
||||||
against=HEAD
|
against=HEAD
|
||||||
else
|
else
|
||||||
# Initial commit: diff against an empty tree object
|
# Initial commit: diff against an empty tree object
|
||||||
|
@ -2,7 +2,7 @@ import os
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
def test_hooks_exec():
|
def test_hooks_exec():
|
||||||
fh = os.popen("find Hooks -type f -exec ls -l {} \\; | egrep ^-rw-")
|
fh = os.popen("find Hooks -type f -exec ls -l {} \\; | grep -E ^-rw-")
|
||||||
output = fh.read()
|
output = fh.read()
|
||||||
retcode = fh.close()
|
retcode = fh.close()
|
||||||
assert retcode == 256 and output == ''
|
assert retcode == 256 and output == ''
|
||||||
|
@ -2,7 +2,7 @@ import os
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
def test_bash_import():
|
def test_bash_import():
|
||||||
fh = os.popen("/bin/bash -c 'source Bash/header; [ `declare -F | wc -l` -eq `egrep -c ^function\\ Bash/header` ]'", mode='r', buffering=-1)
|
fh = os.popen("/bin/bash -c 'source Bash/header; [ `declare -F | wc -l` -eq `grep -E -c ^function\\ Bash/header` ]'", mode='r', buffering=-1)
|
||||||
output = fh.read()
|
output = fh.read()
|
||||||
retcode = fh.close()
|
retcode = fh.close()
|
||||||
assert retcode == None
|
assert retcode == None
|
||||||
|
Loading…
Reference in New Issue
Block a user