github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/util/leaktest/check-leaktest.sh (about)

     1  #!/bin/sh
     2  
     3  set -e
     4  
     5  pkgs=$(git grep 'go:generate' | grep add-leaktest.sh | awk -F: '{print $1}' | xargs -n1 dirname)
     6  for pkg in ${pkgs}; do
     7    if [ -z "$(ls ${pkg}/*_test.go 2>/dev/null)" ]; then
     8      # skip packages without _test.go files.
     9      continue
    10    fi
    11  
    12    awk -F'[ (]' '
    13  /func Test.*testing.T\) {/ {
    14    test = $2
    15    next
    16  }
    17  
    18  /defer leaktest.AfterTest\(.+\)\(\)/ {
    19    test = 0
    20    next
    21  }
    22  
    23  {
    24    if (test) {
    25      printf "%s: %s: missing defer leaktest.AfterTest\n", FILENAME, test
    26      test = 0
    27      code = 1
    28    }
    29  }
    30  
    31  END {
    32    exit code
    33  }
    34  ' ${pkg}/*_test.go
    35  done