diff --git a/.gitignore b/.gitignore index 95f32bf..bf514fc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ configure.in Makefile.in - ###################################### # GENERIC ###################################### @@ -20,6 +19,8 @@ Makefile.in *.orig *.rej +###### python ###### +*.pyc ###################################### # Operating Systems diff --git a/.travis.yml b/.travis.yml index cb2c3f4..ffc91a5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,8 +34,9 @@ before_install: - sudo npm install -g eslint - sudo npm install -g jsonlint - - sudo npm install -g mdlint + #- sudo npm install -g mdlint - sudo gem install scss_lint + - sudo gem install mdl # Symlink node binaries - sudo ln -s /usr/local/node/bin/* /usr/local/bin/ 2>/dev/null || true @@ -48,10 +49,15 @@ before_install: script: - # Validate coding guidelines of self + #------------------------------------------------------------ + # 1.) Validate coding guidelines of self + #------------------------------------------------------------ - shellcheck --exclude=SC1090,SC2001 --shell=bash bin/* - # Output Info + + #------------------------------------------------------------ + # 2.) Output Info + #------------------------------------------------------------ - bin/file-crlf --info - bin/file-empty --info - bin/file-trailing-newline --info @@ -78,54 +84,117 @@ script: - bin/syntax-sh --info - # Test the scripts in dry mode - - bin/file-crlf --path=. --config=etc/awesome-ci.conf --dry - - bin/file-empty --path=. --config=etc/awesome-ci.conf --dry - - bin/file-trailing-newline --path=. --config=etc/awesome-ci.conf --dry + #------------------------------------------------------------ + # 3.) Test the scripts in dry mode + #------------------------------------------------------------ + - bin/file-crlf --path=. --config=etc/awesome-ci.conf --dry + - bin/file-empty --path=. --config=etc/awesome-ci.conf --dry + - bin/file-trailing-newline --path=. --config=etc/awesome-ci.conf --dry - bin/file-trailing-single-newline --path=. --config=etc/awesome-ci.conf --dry - - bin/file-trailing-space --path=. --config=etc/awesome-ci.conf --dry - - bin/file-utf8 --path=. --config=etc/awesome-ci.conf --dry - - bin/file-utf8-bom --path=. --config=etc/awesome-ci.conf --dry - - bin/git-conflicts --path=. --config=etc/awesome-ci.conf --dry - - bin/git-ignored --path=. --dry - - bin/inline-css --path=. --config=etc/awesome-ci.conf --dry - - bin/inline-js --path=. --config=etc/awesome-ci.conf --dry - - bin/regex-grep --path=. --config=etc/awesome-ci.conf --dry - - bin/regex-perl --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-bash --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-css --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-js --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-json --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-markdown --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-perl --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-php --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-python --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-ruby --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-scss --path=. --config=etc/awesome-ci.conf --dry - - bin/syntax-sh --path=. --config=etc/awesome-ci.conf --dry - - # Test the scripts in real mode - - bin/file-crlf --path=. --config=etc/awesome-ci.conf - - bin/file-empty --path=. --config=etc/awesome-ci.conf - - bin/file-trailing-newline --path=. --ignore=".git,configure.in" --config=etc/awesome-ci.conf - - bin/file-trailing-single-newline --path=. --ignore=".git,configure.in" --config=etc/awesome-ci.conf - - bin/file-trailing-space --path=. --ignore=".git,configure.in" --config=etc/awesome-ci.conf - - bin/file-utf8 --path=. --config=etc/awesome-ci.conf - - bin/file-utf8-bom --path=. --config=etc/awesome-ci.conf - - bin/git-conflicts --path=. --config=etc/awesome-ci.conf - - bin/git-ignored --path=. - - bin/inline-css --path=. --config=etc/awesome-ci.conf - - bin/inline-js --path=. --config=etc/awesome-ci.conf - #- bin/regex-grep --path=. --config=etc/awesome-ci.conf - #- bin/regex-perl --path=. --config=etc/awesome-ci.conf - - bin/syntax-bash --path=. --config=etc/awesome-ci.conf - - bin/syntax-css --path=. --config=etc/awesome-ci.conf - - bin/syntax-js --path=. --config=etc/awesome-ci.conf - - bin/syntax-json --path=. --config=etc/awesome-ci.conf - - bin/syntax-markdown --path=. --config=etc/awesome-ci.conf - - bin/syntax-perl --path=. --config=etc/awesome-ci.conf - - bin/syntax-php --path=. --config=etc/awesome-ci.conf - - bin/syntax-python --path=. --config=etc/awesome-ci.conf - - bin/syntax-ruby --path=. --config=etc/awesome-ci.conf - - bin/syntax-scss --path=. --config=etc/awesome-ci.conf - - bin/syntax-sh --path=. --config=etc/awesome-ci.conf + - bin/file-trailing-space --path=. --config=etc/awesome-ci.conf --dry + - bin/file-utf8 --path=. --config=etc/awesome-ci.conf --dry + - bin/file-utf8-bom --path=. --config=etc/awesome-ci.conf --dry + - bin/git-conflicts --path=. --config=etc/awesome-ci.conf --dry + - bin/git-ignored --path=. --dry + - bin/inline-css --path=. --config=etc/awesome-ci.conf --dry + - bin/inline-js --path=. --config=etc/awesome-ci.conf --dry + - bin/regex-grep --path=. --config=etc/awesome-ci.conf --dry + - bin/regex-perl --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-bash --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-css --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-js --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-json --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-markdown --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-perl --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-php --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-python --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-ruby --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-scss --path=. --config=etc/awesome-ci.conf --dry + - bin/syntax-sh --path=. --config=etc/awesome-ci.conf --dry + + + #------------------------------------------------------------ + # 4.) Test the scripts in real mode (without findings) + #------------------------------------------------------------ + - bin/file-crlf --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-empty --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-trailing-newline --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-trailing-single-newline --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-trailing-space --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-utf8 --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/file-utf8-bom --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/git-conflicts --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/git-ignored --path=. + - bin/inline-css --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/inline-js --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + #- bin/regex-grep --path=. --config=etc/awesome-ci.conf + #- bin/regex-perl --path=. --config=etc/awesome-ci.conf + - bin/syntax-bash --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-css --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-js --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-json --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-markdown --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-perl --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-php --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-python --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-ruby --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-scss --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + - bin/syntax-sh --path=. --config=etc/awesome-ci.conf --ignore=".git/,test/,configure.in" + + + #------------------------------------------------------------ + # 5.) Find errors + #------------------------------------------------------------ + - bin/file-crlf --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-empty --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-trailing-newline --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-trailing-single-newline --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-trailing-space --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-utf8 --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/file-utf8-bom --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/git-conflicts --path=test/err/ --config=etc/awesome-ci.conf && false || true + #- bin/git-ignored --path=test/err/ + - bin/inline-css --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/inline-js --path=test/err/ --config=etc/awesome-ci.conf && false || true + #- bin/regex-grep --path=test/err/ --config=etc/awesome-ci.conf + #- bin/regex-perl --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-bash --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-css --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-js --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-json --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-markdown --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-perl --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-php --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-python --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-ruby --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-scss --path=test/err/ --config=etc/awesome-ci.conf && false || true + - bin/syntax-sh --path=test/err/ --config=etc/awesome-ci.conf && false || true + + + #------------------------------------------------------------ + # 6.) Find Success + #------------------------------------------------------------ + - bin/file-crlf --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-empty --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-trailing-newline --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-trailing-single-newline --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-trailing-space --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-utf8 --path=test/err/ --config=etc/awesome-ci.conf + - bin/file-utf8-bom --path=test/err/ --config=etc/awesome-ci.conf + - bin/git-conflicts --path=test/err/ --config=etc/awesome-ci.conf + #- bin/git-ignored --path=test/err/ + - bin/inline-css --path=test/err/ --config=etc/awesome-ci.conf + - bin/inline-js --path=test/err/ --config=etc/awesome-ci.conf + #- bin/regex-grep --path=test/err/ --config=etc/awesome-ci.conf + #- bin/regex-perl --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-bash --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-css --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-js --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-json --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-markdown --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-perl --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-php --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-python --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-ruby --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-scss --path=test/err/ --config=etc/awesome-ci.conf + - bin/syntax-sh --path=test/err/ --config=etc/awesome-ci.conf \ No newline at end of file diff --git a/bin/syntax-css b/bin/syntax-css index 69d6fc3..8e0cd6d 100755 --- a/bin/syntax-css +++ b/bin/syntax-css @@ -27,7 +27,7 @@ ENABLE_CUST_OPS=1 # When not specifying --custom, # always use this as the default options # to parse to the check binary. -DEFAULT_CUST_OPS="--color" +DEFAULT_CUST_OPS="--color --include-linter \"\"" # How to add your check here: # --------------------------- diff --git a/bin/syntax-markdown b/bin/syntax-markdown index de23c29..1058dcf 100755 --- a/bin/syntax-markdown +++ b/bin/syntax-markdown @@ -15,7 +15,7 @@ MY_FINISH_ERR="Found files with Markdown syntax errors." MY_CONF_PRE="SYNTAX_MARKDOWN_" # Custom required binaries -REQUIRED_CUST_BINS="mdlint" +REQUIRED_CUST_BINS="mdl" # Binaries required for fixing REQUIRED_FIX_BINS="" @@ -27,7 +27,7 @@ ENABLE_CUST_OPS=1 # When not specifying --custom, # always use this as the default options # to parse to the check binary. -DEFAULT_CUST_OPS="" +DEFAULT_CUST_OPS="--no-warnings" # How to add your check here: # --------------------------- @@ -39,7 +39,7 @@ DEFAULT_CUST_OPS="" # This will be replaced either with custom options # or with the default options. -MY_CHECK="mdlint __CUSTOM_OPT_PLACEHOLDER__ \"\$1\" 2>&1 | grep -i \"Error\" || true" +MY_CHECK="mdl __CUSTOM_OPT_PLACEHOLDER__ \"\$1\" 2>&1 | grep -i \"Error\" || true" # Can this check fix the problems? ENABLE_FIX=0 diff --git a/bin/syntax-perl b/bin/syntax-perl index 0ec3f76..3ab9852 100755 --- a/bin/syntax-perl +++ b/bin/syntax-perl @@ -39,7 +39,7 @@ DEFAULT_CUST_OPS="" # This will be replaced either with custom options # or with the default options. -MY_CHECK="perl -c \"\$1\" 2>&1 || true" +MY_CHECK="perl -c \"\$1\" 2>&1 | grep -vE \"[[:space:]]*OK\$\" || true" # Can this check fix the problems? ENABLE_FIX=0 diff --git a/bin/syntax-ruby b/bin/syntax-ruby index f99f8ec..ffd6a28 100755 --- a/bin/syntax-ruby +++ b/bin/syntax-ruby @@ -39,7 +39,7 @@ DEFAULT_CUST_OPS="" # This will be replaced either with custom options # or with the default options. -MY_CHECK="ruby -c \"\$1\" 2>&1 || true" +MY_CHECK="ruby -c \"\$1\" 2>&1 | grep -vE \"[[:space:]]*OK\$\" || true" # Can this check fix the problems? ENABLE_FIX=0 diff --git a/bin/syntax-scss b/bin/syntax-scss index 23eb416..7a04272 100755 --- a/bin/syntax-scss +++ b/bin/syntax-scss @@ -27,7 +27,7 @@ REQUIRED_FIX_BINS="" # When not specifying --custom, # always use this as the default options # to parse to the check binary. -DEFAULT_CUST_OPS="--color" +DEFAULT_CUST_OPS="--color --include-linter \"\"" # How to add your check here: # --------------------------- diff --git a/test/err/file-crlf_err b/test/err/file-crlf_err new file mode 100644 index 0000000..d7d083c --- /dev/null +++ b/test/err/file-crlf_err @@ -0,0 +1,3 @@ +LINE1 +LINE2 +LINE3 diff --git a/test/err/file-empty_err b/test/err/file-empty_err new file mode 100644 index 0000000..e69de29 diff --git a/test/err/file-trailing-newline_err b/test/err/file-trailing-newline_err new file mode 100644 index 0000000..3d2aac3 --- /dev/null +++ b/test/err/file-trailing-newline_err @@ -0,0 +1 @@ +This file does not have a trailing newline \ No newline at end of file diff --git a/test/err/file-trailing-single-newline_err b/test/err/file-trailing-single-newline_err new file mode 100644 index 0000000..63ab235 --- /dev/null +++ b/test/err/file-trailing-single-newline_err @@ -0,0 +1,7 @@ +This file does not have a single trailing newline, +but much more + + + + + diff --git a/test/err/file-trailing-space_err b/test/err/file-trailing-space_err new file mode 100644 index 0000000..c0c7635 --- /dev/null +++ b/test/err/file-trailing-space_err @@ -0,0 +1,3 @@ +A lot +of trailing +space diff --git a/test/err/file-utf8-bom_err b/test/err/file-utf8-bom_err new file mode 100644 index 0000000..d000294 --- /dev/null +++ b/test/err/file-utf8-bom_err @@ -0,0 +1 @@ +This file contains BOM diff --git a/test/err/file-utf8_err b/test/err/file-utf8_err new file mode 100644 index 0000000..bf638d0 --- /dev/null +++ b/test/err/file-utf8_err @@ -0,0 +1,2 @@ +Correct unicode +�� diff --git a/test/err/git-conflicts_err b/test/err/git-conflicts_err new file mode 100644 index 0000000..37e1c4e --- /dev/null +++ b/test/err/git-conflicts_err @@ -0,0 +1,6 @@ +the number of planets are +<<<<<<< HEAD +nine +======= +eight +>>>>>>> branch-a diff --git a/test/err/inline-css_err.html b/test/err/inline-css_err.html new file mode 100644 index 0000000..e10e0d3 --- /dev/null +++ b/test/err/inline-css_err.html @@ -0,0 +1,6 @@ + + + + + + + + +test + + + + + + + + + + + +