Zernit/QA/tests/check.sh
Kreyren d256ff6c67
Master init (#40)
* fdjfgjdfg

* jghkfghkf

* fgdfjfghj

* sgassg

* jksdhgjkasdnh

* Adapted code

* add vlang

* hkghkgh

* sdgasdg

* sagsdag

* gjghfj

* hjfghkf

* dgsghafh

* gjfgjfd

* fdhfhfgj

* Update gitpod.Dockerfile

* fixes

* fixes

* gjhfhghk

* xdgad

* dsgasdg

* shebang test

* sagaga

* shash

* jfhjgh

* hfgdj

* dgsdfhsdf

* Update gitpod.Dockerfile

* dshsfd

* hgkgk

* ffhdfgj

* Update vlang_init.sh

* Update vlang_init.sh

* agsah

* ffgjghjfgh

* jghkfg

* jghjfh

* hdhsfdh

* fdhfgj

* fdhsfdh

* fghdfgh

* sdgag

* dshas

* vcmvmvb

* sdagasdg

* shfdh

* sdagsdag

* dfhfgd

* Update cargo-make requirement from 0.26.2 to 0.27.0

Updates the requirements on [cargo-make](https://github.com/sagiegurari/cargo-make) to permit the latest version.
- [Release notes](https://github.com/sagiegurari/cargo-make/releases)
- [Changelog](https://github.com/sagiegurari/cargo-make/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sagiegurari/cargo-make/compare/0.26.2...0.27.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* test

* Bump termcolor from 1.0.0 to 1.1.0

Bumps [termcolor](http://pypi.python.org/pypi/termcolor) from 1.0.0 to 1.1.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* fdhsfh

* Create jekyll.yml

* dsadsh

* fdhgj

* sagsag

* sagag

* hfgj

* sdgsdag

* dgasdga

* hghkh

* sagas

* gjkghkf

* safsaf

* gjfkf

* stub

* djknsfdjknh

* sdgasdg

* asasg

* safsa

* gagsd

* IT'S YOUR TURN TRAVIS MUHAHAH

* shfdhsfd

* gfgj

* dfhfgdj

* fgkfhg

* fdhhsf

* fghkjgh

* fhdfjh

* safsa

* sagasga

* sdgdsfh

* saagsga

* gjhlghl

* jklhj

* gfghkg

* gfjdfgj

* nm,;n

* kljlk'j

* jk'jkl'

* saasga

* sdgasdg

* gjghk

* dhsfh

* fdhsfdj

* hkgjkgh

* asgsa

* fhfgjfg

* RUNALISA!

* asgas

* sasgd

* fdfgj

* dsfhdsf

* fhdfhs

* sagasg

* sagasg

* Fix C and adapt more sanity checks

* shdfh

* sagsag

* safasf

* sag

* hgjl

* asgasg

* sgagsa

* asfasf

* safasf

* sasag

* fdjfgj

* fjdgj

* sagasg

* Why can't i see the hugging source for this GUI? #ThanksMicrosoft

* saksdakhla

* jhlgj

* hjglh

* sdgdasg

* saga

* safsaf

* sagag

* fdhsfdh

* safasf

* fdhjsfdh

* PLEASE JUST FUCKING WORK

* SAGSAG

* sagasg

* agaahds

* end my suffering

* hgkkfkg

* all hail twofifths the savior

* sagasga

* fdhfgh

* dgsgh

* khgk

* asgasg

* ddfjhfg

* asgagasg

* fhdshfd

* asasgsagas

* hgkg

* saasg

* saagg

* ffdjgf

* hlj

* vbbghkk

* safasf

* safsaf

* sdhdfh

* fdhsdh

* saag

* sagag

* safasf

* asgasg

* ffgjfg

* f54hs6f5d4h

* sagasg

* dsgasg

* sgasdg

* gfjfgj

* cfghd

* fhddfgj

* dsgsagd

* shsadh

* fhdf

* fdjhfg

* asgasga

* sdgag

* fjfdgjdf

* fdhsfdh

* asgsa

* sagasg

* sagasg

* sagasg

* dsgsdha

* fdhsfhd

* YoU cAnT dO tHiS iN ShElL kReY

* tetats

* gfjdfgj

* sagsag

* fgj

* bvghkf

* gfhdfghfg

* sdagsadg

* sdgasdg

* agaas

* dassfd

* vbghf

* jghkgh

* hfgdj

* gjkjlg

* sdgfdg

* asgag

* fgkgkh

* fdhsfdh

* dsgasdg

* dsgsg

* fgj

* safsaf

* agsgd

* Finally we have theia config

Relevant: https://github.com/gitpod-io/gitpod/issues/800#issuecomment-587381366

* agsdgh

* kjghkgg

* vjfgjfgd

* add dia

* flowchart: init

* adgasdg

* Update Zernit.drawio

* Update Zernit.drawio

* Update Zernit.drawio

* asdgsdag

* fddfhs

* saasg

* sasag

* dgasdgasd

* dsgasdg

* Create question.md

* Update labels.yml

* do not bother bug wranglers with questions

* sasaasgd

* dhfdh

* safasf

* dsgasdg

* Update debian.Dockerfile

* dsagasdg

* Update debian.Dockerfile

* sdghsdf

* agasd

* Update cargo-make requirement from 0.27.0 to 0.28.0 (#58)

Updates the requirements on [cargo-make](https://github.com/sagiegurari/cargo-make) to permit the latest version.
- [Release notes](https://github.com/sagiegurari/cargo-make/releases)
- [Changelog](https://github.com/sagiegurari/cargo-make/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sagiegurari/cargo-make/compare/0.27.0...0.28.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* stub for RXT ownership

* Create other.md

* Create legal-request.yml

* Rename legal-request.yml to legal-request.md

* Update bug_report.md

* sgsfdh

* saga

* stub license

* Initial configuration

Co-authored-by: @Klairm <ivangardis@hotmail.com>
- Thanks for C contrib!
Co-authored-by: @Uniminin <uniminin@zoho.com> 
- Thanks for the contribution of annoyance and python!
Co-authored-by: @JesterOrNot <seanhellum45@gmail.com>
- Thanks for gitpod contrib! https://github.com/RXT0112/Zernit/pull/32
- Thanks for issue-meggage in https://github.com/RXT0112/Zernit/pull/23!
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 07:23:24 +01:00

116 lines
3.4 KiB
Bash
Executable File

#!/bin/sh
die() {
err_code="$1"
message="$2"
case $err_code in
1)
printf 'FATAL: %s\n' "$message"
exit "$err_code"
;;
lintfail)
printf 'FATAL: %s\n' "Linting file '$file', failed.."
exit 1
;;
255)
printf 'FATAL: %s\n' "$message"
exit "$err_code"
;;
*)
printf 'FATAL: %s\n' "Unrecognized error code argument has been parsed in die function in QA/tests/shell/check.sh"
exit 255
esac
unset err_code message
}
fixme() {
argument="$1"
case $argument in
LintNotImplemented) printf 'FIXME: %s\n' "Unable to check file '$file', $identifier linting is not implemented" ;;
*) printf 'FIXME: %s\n' "$*"
esac
unset argument
}
# shellcheck disable=SC2044 # HOTFIX!
for file in $(find . -not \( \
-path './.git' -prune -o \
-path './vendor' -prune -o \
-name 'LICENSE' -prune -o \
-name '.gitignore' -prune -o \
-name 'os-release' -prune -o \
-name '.keepinfodir' -prune -o \
-name 'include-bedrock' -prune -o \
-name 'lock' -prune \
\) -type f); do
# Identify file
# FIXME: In theory we can use 'file' for this instead
case "$file" in
*.c) identifier="C" ;;
*.sh) identifier="shell" ;;
*.bash) identifier="bash" ;;
*.yml) identifier="yaml" ;;
*.md) identifier="markdown" ;;
*.png) identifier="png" ;;
*.zsh) identifier="zsh" ;;
*.conf) identifier="config" ;;
*.fish) identifier="fish" ;;
*.gpg) identifier="gpg" ;;
*.service) identifier="service" ;;
*.donotcheck|*.disabled) identifier="DoNotCheck" ;;
*.json) identifier="json" ;;
*.Dockerfile) identifier="dockerfile" ;;
*.xml) identifier="xml" ;;
*.fetchnext) identifier="fetchnext" ;;
*/Makefile) identifier="makefile" ;;
*.bak) identifier="backup" ;;
*)
case "$(head -n1 "$file")" in
'#!/'*'/bash'|'#!/'*' bash') identifier="bash" ;;
'#!/'*'/sh'|'#!/'*' sh') identifier="shell" ;;
'#compdef'*) identifier="zsh" ;;
*) die 255 "Unexpected file '$file' has been parsed in tests, unable to resolve for tests"
esac
esac
# Output message about checked file
printf "checking $identifier file %s\\n" "${file#./}"
# Test file based on identifier
case "$identifier" in
C)
cppcheck --error-exitcode=1 "$file" || die lintfail
;;
markdown|yaml|config|makefile|service|gpg|json|xml|dockerfile)
fixme LintNotImplemented
;;
backup|png)
true # Do not check these
;;
DoNotCheck)
printf 'INFO: %s\n' "File $file is set to be ignored by tests"
;;
fetchnext)
printf 'INFO: %s\n' "fetchnext files are stub"
;;
bash)
shellcheck -x -s bash "$file" || die lintfail
;;
shell)
shellcheck -x -s bash "$file" || die lintfail
;;
zsh)
# zsh are apparently tested agains bash in shellcheck (FIXME: Sanity-check)
shellcheck -x -s bash "$file" || die lintfail
;;
fish)
fixme LintNotImplemented
;;
*) die 255 "Unknown identifier for file '$file' has been parsed, unable to resolve.."
esac
done