#!/bin/bash

export NUM_SERVERS=1
export NUM_AGENTS=1
export SERVER_ARGS='--disable=traefik'
export WAIT_SERVICES='coredns local-path-provisioner metrics-server'

export sonobuoyParallelArgs=(--e2e-focus='\[Conformance\]' --e2e-skip='\[Serial\]' --e2e-parallel=y)
export sonobuoySerialArgs=(--e2e-focus='\[Serial\].*\[Conformance\]')

start-test() {
  sonobuoy-test $@
}
export -f start-test

test-post-hook() {
  if [[ $1 -eq 0 ]] || [[ ! -f "$TEST_DIR/sonobuoy/plugins/e2e/results/global/e2e.log" ]]; then
    return $1
  fi
  local failures=$(awk '/^Summarizing .* Failures?:$/,0' "$TEST_DIR/sonobuoy/plugins/e2e/results/global/e2e.log")
  # Ignore sonobuoy failures if only these flaky tests have failed
  flakyFails=$( grep -scF -f ./tests/docker/flaky-tests <<< "$failures" )
  totalFails=$( grep -scF -e "[Fail]" <<< "$failures" )
  [ "$totalFails" -le "$flakyFails" ]
}
export -f test-post-hook
