Add bats unit testing to repository
Will recursively look for `*.bats` files and run them with bats-core test suite. Simple sample unit tests for existing scripts are included in `.config/shell/rc.d/test`.
This commit is contained in:
parent
beb5f1c323
commit
b11343b73a
5 changed files with 50 additions and 1 deletions
|
@ -64,6 +64,7 @@ Plug 'stephpy/vim-yaml'
|
|||
Plug 'mhartington/nvim-typescript', {'for': 'typescript','do': './install.sh'}
|
||||
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
||||
Plug 'deoplete-plugins/deoplete-go', { 'do': 'make'}
|
||||
Plug 'aliou/bats.vim'
|
||||
|
||||
" HTML Workflow
|
||||
Plug 'valloric/matchtagalways', { 'on': [] }
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
# set wiki root to nextcloud notes folder,
|
||||
# will be picked up by vim wiki plugin as root
|
||||
export WIKIROOT="$HOME/Nextcloud/Notes/"
|
||||
export WIKIROOT=${WIKIROOT:-"$HOME/Nextcloud/Notes/"}
|
||||
|
|
23
.config/shell/rc.d/test/env-wiki-root.bats
Normal file
23
.config/shell/rc.d/test/env-wiki-root.bats
Normal file
|
@ -0,0 +1,23 @@
|
|||
setup() {
|
||||
testfile="$BATS_TEST_DIRNAME/../env-wiki-root.sh"
|
||||
}
|
||||
|
||||
teardown() {
|
||||
export WIKIROOT=""
|
||||
}
|
||||
|
||||
@test "Populates WIKIROOT environment variable" {
|
||||
source $testfile
|
||||
[ -n "$WIKIROOT" ]
|
||||
}
|
||||
|
||||
@test "Sets WIKIROOT to correct default path" {
|
||||
source $testfile
|
||||
[ "$WIKIROOT" = "$HOME/Nextcloud/Notes/" ]
|
||||
}
|
||||
|
||||
@test "Leaves WIKIROOT as is if it is already set" {
|
||||
export WIKIROOT="MY/CUSTOM/DIR"
|
||||
source $testfile
|
||||
[ "$WIKIROOT" = "MY/CUSTOM/DIR" ]
|
||||
}
|
15
.config/shell/rc.d/test/locale-utf-8.bats
Normal file
15
.config/shell/rc.d/test/locale-utf-8.bats
Normal file
|
@ -0,0 +1,15 @@
|
|||
setup() {
|
||||
testfile="$BATS_TEST_DIRNAME/../locale-utf-8.sh"
|
||||
}
|
||||
|
||||
teardown() {
|
||||
export LC_ALL=""
|
||||
export LANG=""
|
||||
}
|
||||
|
||||
@test "Sets LC_ALL and LANG to en_US.utf-8" {
|
||||
source $testfile
|
||||
expected="en_US.utf-8"
|
||||
[ "$LC_ALL" = "en_US.utf-8" ]
|
||||
[ "$LANG" = "en_US.utf-8" ]
|
||||
}
|
|
@ -24,3 +24,13 @@ lint:
|
|||
- find . -type f -name '*.sh' | xargs shfmt -d -i 2
|
||||
- echo "--------- CHECKING ZSH SHELLSCRIPTS -------------"
|
||||
- find . -type f -name '*.zsh' | xargs shfmt -d -i 2
|
||||
|
||||
test:
|
||||
stage: test
|
||||
image: alpine
|
||||
before_script:
|
||||
- apk add git bash
|
||||
- git clone https://github.com/bats-core/bats-core.git /bats
|
||||
- /bats/bin/bats --version
|
||||
script:
|
||||
- /bats/bin/bats -r .
|
||||
|
|
Loading…
Reference in a new issue