#!/usr/bin/env bash

PATHS="internal/backend/*.go"

for path in PATHS; do
  for filename in internal/backend/*.go; do
    funcname=`perl -ne 'while(/(?<=func\ \(b\ \*backendImpl\)\ )(.*?)(?=\(ctx\ context)/g){print "$&\n";}' $filename`
    [[ -z "$funcname" ]] && continue
    lowerfirst=`echo ${funcname:0:1} | tr A-Z a-z`
    rest=${funcname:1}
    statstring=`echo ${lowerfirst}${rest}AttemptStatStr`
    statcall=`echo b.stats.Inc\(${statstring}, 1, 1.0\)`
    badifblank=`grep "$statcall" $filename`
    [[ -z "$badifblank" ]] && { echo "$filename appears to be missing a stats call" ; exit 1; }
  done
done
