bin/ai/regression/completeness.sh
branchnoai
changeset 9564 cd02879048c9
child 9565 7237786c6197
equal deleted inserted replaced
9563:2c0a7ea15d4c 9564:cd02879048c9
       
     1 #!/bin/sh
       
     2 
       
     3 if ! [ -f ai/regression/regression.nut ]; then
       
     4 	echo "Make sure you are in the root of OpenTTD before starting this script."
       
     5 	exit 1
       
     6 fi
       
     7 
       
     8 cat ai/regression/regression.nut | awk '
       
     9 /^function/ {
       
    10 	for (local in locals) {
       
    11 		delete locals[local]
       
    12 	}
       
    13 	if (match($0, "function Regression::Start") || match($0, "function Regression::Stop")) next
       
    14 	locals["this"] = "AIControllerSquirrel"
       
    15 }
       
    16 
       
    17 /local/ {
       
    18 	gsub(".*local", "local")
       
    19 	if (match($4, "^AI")) {
       
    20 		sub("\\(.*", "", $4)
       
    21 		locals[$2] = $4
       
    22 	}
       
    23 }
       
    24 
       
    25 /\./ {
       
    26 	for (local in locals) {
       
    27 		if (match($0, local ".")) {
       
    28 			fname = substr($0, index($0, local "."))
       
    29 			sub("\\(.*", "", fname)
       
    30 			sub("\\.", "::", fname)
       
    31 			sub(local, locals[local], fname)
       
    32 			print fname
       
    33 		}
       
    34 	}
       
    35 }
       
    36 ' | sort | uniq > in_regression.txt
       
    37 
       
    38 grep 'DefSQ.*Method' ../src/ai/api/*.hpp | grep -v '::GetClassName' | sed 's/^[^,]*, &//g;s/,[^,]*//g' | sort > in_api.txt
       
    39 
       
    40 diff -u in_regression.txt in_api.txt | grep -v '^+++' | grep '^+' | sed 's/^+//'
       
    41 
       
    42 rm -f in_regression.txt in_api.txt
       
    43