for c in src/*.c; do
  cmd=$(basename "$c" '.c')
  awk '/ long_options\[\]/,/};/' "$c" | grep ', ' |
  sed ':a;/[^}],$/{N;s/[^}],\n/,/;ta}' | # ensure on one line
  sed 's| */\*.*||' | # strip comments
  { uniq --all-repeated=separate -f3; echo; } |  # append blank line after each group
  cut -d'"' -f2 |
  while read opt; do
    if test "$opt"; then
      opts="$opts --$opt "
    else
      if test "$opts"; then
        echo "$cmd $opts --version"
        if test -x src/$cmd; then
          src/$cmd $opts --version >/dev/null || touch failed
        else
          echo "Couldn't find src/$cmd" >&2
        fi
      fi
      opts=''
    fi
  done
done
test -f failed && echo failed
