From cb9414bbb7f5c979f99dd76368ecad244003f8d5 Mon Sep 17 00:00:00 2001 From: Brian Goff <cpuguy83@gmail.com> Date: Tue, 6 Aug 2019 19:28:07 -0700 Subject: [PATCH] Improve integration test detecetor The "new test" detector in test-integration-flaky was a bit flaky since it would detect function signatures that are not new tests. In addition, the test calls `return` outside of a function which is not allowed. Signed-off-by: Brian Goff <cpuguy83@gmail.com> (cherry picked from commit e2b24490e45fb1e024c0b1594bf978573b91271c) Signed-off-by: Sebastiaan van Stijn <github@gone.nl> --- hack/make/test-integration-flaky | 50 ++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/hack/make/test-integration-flaky b/hack/make/test-integration-flaky index a613d6ccbc..5c28b94423 100644 --- a/hack/make/test-integration-flaky +++ b/hack/make/test-integration-flaky @@ -2,28 +2,34 @@ set -e -o pipefail source hack/validate/.validate -new_tests=$( - validate_diff --diff-filter=ACMR --unified=0 -- 'integration/*_test.go' | - grep -E '^(\+func )(.*)(\*testing)' || true -) -if [ -z "$new_tests" ]; then - echo 'No new tests added to integration.' - return -fi -echo -echo "Found new integrations tests:" -echo "$new_tests" -echo "Running stress test for them." +run_integration_flaky() { + new_tests=$( + validate_diff --diff-filter=ACMR --unified=0 -- 'integration/*_test.go' | + grep -E '^(\+func Test)(.*)(\*testing\.T\))' || true + ) -( - TESTARRAY=$(echo "$new_tests" | sed 's/+func //' | awk -F'\\(' '{print $1}' | tr '\n' '|') - # Note: TEST_REPEAT will make the test suite run 5 times, restarting the daemon - # and each test will run 5 times in a row under the same daemon. - # This will make a total of 25 runs for each test in TESTARRAY. - export TEST_REPEAT=5 - export TESTFLAGS="-test.count ${TEST_REPEAT} -test.run ${TESTARRAY%?}" - echo "Using test flags: $TESTFLAGS" - source hack/make/test-integration -) + if [ -z "$new_tests" ]; then + echo 'No new tests added to integration.' + return + fi + + echo + echo "Found new integrations tests:" + echo "$new_tests" + echo "Running stress test for them." + + ( + TESTARRAY=$(echo "$new_tests" | sed 's/+func //' | awk -F'\\(' '{print $1}' | tr '\n' '|') + # Note: TEST_REPEAT will make the test suite run 5 times, restarting the daemon + # and each test will run 5 times in a row under the same daemon. + # This will make a total of 25 runs for each test in TESTARRAY. + export TEST_REPEAT=5 + export TESTFLAGS="-test.count ${TEST_REPEAT} -test.run ${TESTARRAY%?}" + echo "Using test flags: $TESTFLAGS" + source hack/make/test-integration + ) +} + +run_integration_flaky