| #!/bin/bash | 
 |  | 
 | # Tests the parser, independently of whether any generators | 
 | # are correct or useful. | 
 | # Currently only tests that valid .thrift files parse cleanly. | 
 | # Doesn't test that correct information is extracted from them. | 
 |  | 
 | shopt -s extglob | 
 |  | 
 | MY_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | 
 | ROOT_DIR=`cd $MY_DIR/../../ && pwd` | 
 | TEST_THRIFT_DIR=${ROOT_DIR}/test | 
 | THRIFT_FILES=`find ${TEST_THRIFT_DIR} -type f -name *.thrift ! -name BrokenConstants.thrift` | 
 |  | 
 | OUTPUT_DIR=`mktemp -d -t test_thrift_parser.XXXXX` | 
 |  | 
 | PASS=0 | 
 | FAIL=0 | 
 | for f in ${THRIFT_FILES}; | 
 | do | 
 |   echo "Parsing ${f}" | 
 |   ${MY_DIR}/thrift -o ${OUTPUT_DIR} -nowarn --allow-64bit-consts --gen cpp ${f} | 
 |   EXIT_CODE=$? | 
 |   if [ ${EXIT_CODE} -eq 0 ]; then | 
 |     let PASS=PASS+1 | 
 |   else | 
 |     let FAIL=FAIL+1 | 
 |   fi | 
 | done | 
 | echo | 
 | echo "${PASS} files parsed correctly. ${FAIL} files failed to parse." |