
### Description of the change This adds an environment for unit testing our bash scripts, using [BATS](https://github.com/bats-core/bats-core). It implements first tests for `config_environment.sh`. ### Benefits Writing unit tests for bash scripts documents the expected behavior and allows it being a quality gate in our CI. ### Possible drawbacks Not everyone is familiar with this approach and unit testing framework. Me neither, it took me some hours to get into it. ### Applicable issues - Related to #691 where an issue in `config_environment.sh` was detected. It doesn't fixes it yet. This will be a dedicated Pull Request. ### Additional information I've verified that the changes for Renovate are indeed working. You may wonder why there is only one `run $PROJECT_ROOT/scripts/init-containers/config/config_environment.sh` and many `run execute_test_script` calls. Usually, testing a script itself would be executing `run $PROJECT_ROOT/scripts/init-containers/config/config_environment.sh`. You then can assert the exit code and other things. Since the `config_environment.sh` exports environment variables and we are not able to access them from outside a `run` execution, the function `execute_test_script` wraps our script execution between environment comparison. Doing so allows us capture environment variables that were added/removed during script execution. Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/724 Reviewed-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: justusbunsi <sk.bunsenbrenner@gmail.com> Co-committed-by: justusbunsi <sk.bunsenbrenner@gmail.com>
40 lines
566 B
Plaintext
40 lines
566 B
Plaintext
# Patterns to ignore when building packages.
|
|
# This supports shell glob matching, relative path matching, and
|
|
# negation (prefixed with !). Only one pattern per line.
|
|
.DS_Store
|
|
# Common VCS dirs
|
|
.git/
|
|
.gitignore
|
|
.gitmodules
|
|
.bzr/
|
|
.bzrignore
|
|
.hg/
|
|
.hgignore
|
|
.svn/
|
|
# Common backup files
|
|
*.swp
|
|
*.bak
|
|
*.tmp
|
|
*~
|
|
# Various IDEs
|
|
.project
|
|
.idea/
|
|
*.tmproj
|
|
.vscode/
|
|
node_modules/
|
|
.npmrc
|
|
package.json
|
|
package-lock.json
|
|
.gitea/
|
|
Makefile
|
|
.markdownlintignore
|
|
.markdownlint.yaml
|
|
.drone.yml
|
|
CONTRIBUTING.md
|
|
unittests/
|
|
.editorconfig
|
|
.prettierignore
|
|
.yamllint
|
|
CODEOWNERS
|
|
renovate.json5
|