Skip to content
Snippets Groups Projects
Commit 40affc9f authored by nimrod's avatar nimrod
Browse files

Better Bats tests.

- Add a submodule for assertions. Should provide better output.
  Hopefully it will help debugging the failing tests.
- Add some perf data examples (no tests or code yet).
parent dc2eeb15
No related branches found
No related tags found
No related merge requests found
Pipeline #1928 failed
......@@ -7,6 +7,9 @@ include:
- project: shore/ci-templates
file: templates/gitlab-release.yml
variables:
GIT_SUBMODULE_STRATEGY: recursive
build-wheel:
extends: .python3-build
script:
......
[submodule "tests/bats_helpers/bats-assert"]
path = tests/bats_helpers/bats-assert
url = https://github.com/bats-core/bats-assert.git
Subproject commit e0de84e9c011223e7f88b7ccf1c929f4327097ba
# vim:ft=bash
@test "help" {
run dist/mnpw --help
[ "$status" -eq 0 ]
}
@test "version" {
run dist/mnpw --version
[ "$status" -eq 0 ]
}
@test "true" {
run dist/mnpw true
[ "$status" -eq 0 ]
}
@test "command not found" {
run dist/mnpw --dry-run /foobar
[ "$status" -eq 2 ]
}
@test "warning" {
run dist/mnpw --dry-run -- /bin/sh -c 'exit 1'
}
@test "critical" {
run dist/mnpw --dry-run -- /bin/sh -c 'exit 2'
}
@test "unknown" {
run dist/mnpw --dry-run -- /bin/sh -c 'exit 3'
}
@test "other" {
run dist/mnpw --dry-run -- /bin/sh -c 'exit 4'
}
@test "timeout" {
run dist/mnpw --dry-run --timeout 2 -- /bin/sh -c 'sleep 6'
[ "$status" -eq 2 ]
}
@test "quiet" {
run dist/mnpw --dry-run --quiet false
[ "$output" = '' ]
run dist/mnpw --dry-run --quiet foobar
[ "$output" != '' ]
}
# vim:ft=bash
setup () {
load "bats_helpers/bats-assert/load"
PATH="$BATS_TEST_DIRNAME/../dist:$PATH"
}
@test "help" {
run mnpw --help
assert_success
assert_output --partial 'usage:'
}
@test "version" {
run mnpw --version
assert_success
assert_output --partial 'mnpw version'
}
@test "silent and verbose" {
run mnpw --silent --verbose /bin/true
assert_failure 2
}
@test "true" {
run mnpw /bin/true
assert_success
}
@test "command not found" {
run mnpw --dry-run /foobar
assert_failure 2
}
@test "warning" {
run mnpw --dry-run -- /bin/sh -c 'exit 1'
}
@test "critical" {
run mnpw --dry-run -- /bin/sh -c 'exit 2'
}
@test "unknown" {
run mnpw --dry-run -- /bin/sh -c 'exit 3'
}
@test "invalid return code" {
run mnpw --dry-run -- /bin/sh -c 'exit 4'
}
@test "timeout" {
run mnpw --dry-run --timeout 2 -- /bin/sh -c 'sleep 6'
assert_failure 2
}
@test "quiet" {
run mnpw --dry-run --quiet false
assert_output ''
run mnpw --dry-run --quiet foobar
assert_output
}
......@@ -19,6 +19,20 @@ DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968
/var/log=818MB;970;975;0;980
"""
# Lifted from the Alignak project:
# https://github.com/Alignak-monitoring/alignak/blob/fcc3d6499478ce67f4b91c694111f45cc8282535/tests/test_perfdata_parsing.py
PERF_DATA_1 = """ramused=90%;85;95;;"""
PERF_DATA_2 = """ramused=1009MB;;;0;1982 """
PERF_DATA_3 = """memused=1550MB;2973;3964;0;5810"""
PERF_DATA_4 = """swapused=540MB;;;; """
PERF_DATA_5 = """memused=90%"""
PERF_DATA_6 = """'Physical Memory Used'=12085620736Bytes; """
PERF_DATA_7 = """Physical Memory Utilisation'=94%;80;90;"""
PERF_DATA_8 = """'C: used'=13.06452GB;22.28832;25.2601;0;29.71777 """
PERF_DATA_9 = """'C: used %'=44%;75;85;0;100"""
PERF_DATA_10 = """time_offset-192.168.0.1=-7.22636468709e-05s;1;2;0;;"""
PERF_DATA_11 = """àéèï-192.168.0.1=-7.22636468709e-05s;1;2;0;;"""
@pytest.mark.parametrize(
"command,args,exit_code",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment