Various test-scaffolding fixes

* Skip some tests if the bridge-custom plugin is
  unavailable. This CNI plugin is not distributed in
  any RPM, it is only available by compiling from a
  side branch in runcom's private github. We can't
  use it in a real integration-test setting.

* Don't use `run()` inside cleanup handlers. It will
  override $status, which is a double whammy:
   - successful cleanup will mask a test failure
   - when a test is `skip()`ed, crictl may fail,
     and $status will indicate failure.

* seccomp test: use existing $SECCOMP_PROFILE instead of
  assuming a path under $CRIO_ROOT

Signed-off-by: Ed Santiago <santiago@redhat.com>
This commit is contained in:
Ed Santiago 2017-11-01 15:02:51 -06:00
parent 6b6d634cfc
commit b7697672f0
3 changed files with 18 additions and 12 deletions

View file

@ -127,6 +127,9 @@ function teardown() {
}
@test "Ensure correct CNI plugin namespace/name/container-id arguments" {
if [[ ! -e "$CRIO_CNI_PLUGIN"/bridge-custom ]]; then
skip "bridge-custom plugin not available"
fi
start_crio "" "" "" "prepare_plugin_test_args_network_conf"
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
[ "$status" -eq 0 ]
@ -168,6 +171,9 @@ function teardown() {
}
@test "Clean up network if pod sandbox fails" {
if [[ ! -e "$CRIO_CNI_PLUGIN"/bridge-custom ]]; then
skip "bridge-custom plugin not available"
fi
start_crio "" "" "" "prepare_plugin_test_args_network_conf"
# make conmon non-executable to cause the sandbox setup to fail after