1 # 2 # Copyright (C) 2017 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 # usage: generate_vts_test.sh <tests> 17 18 set -Eeuo pipefail 19 20 NNAPI_VERSION=" 21 V1_0 22 V1_1 23 V1_2 24 " 25 26 cd "$(dirname $0)" 27 28 VTS_PATH=`realpath ../` 29 function generate_one_testcase { 30 # Generate one testcase 31 BASENAME=`basename -s .mod.py $1` 32 $VTS_PATH/../../tools/test_generator/vts_generator.py ./`basename $1`\ 33 -m $VTS_PATH/generated/vts_models/$BASENAME.model.cpp \ 34 -e $VTS_PATH/generated/examples/$BASENAME.example.cpp 35 } 36 37 function generate_wrapper { 38 for ver in $NNAPI_VERSION; 39 do 40 VER_DIR=$VTS_PATH/specs/$ver 41 [ ! -d $VER_DIR ] && continue 42 pushd $VER_DIR > /dev/null 43 OUTFILE=$VTS_PATH/generated/all_generated_${ver}_vts_tests.cpp 44 echo "// clang-format off" > $OUTFILE 45 echo "// DO NOT EDIT;" >> $OUTFILE 46 echo "// Generated by ml/nn/runtime/test/specs/generate_vts_test.sh" >> $OUTFILE 47 for f in $@; 48 do 49 if [ -f $(basename $f) ]; then 50 generate_one_testcase $f >> $OUTFILE 51 if [ $? -ne 0 ]; then 52 echo "Failed processing $f" 53 return $? 54 fi 55 fi 56 done 57 popd > /dev/null 58 done 59 } 60 61 function generate_spec_dirs { 62 for ver in $NNAPI_VERSION; 63 do 64 VER_DIR=$VTS_PATH/specs/$ver 65 [ ! -d $VER_DIR ] && continue 66 OUTFILE=$VTS_PATH/generated/all_generated_${ver}_vts_tests.cpp 67 echo "// clang-format off" > $OUTFILE 68 echo "// DO NOT EDIT;" >> $OUTFILE 69 echo "// Generated by ml/nn/runtime/test/specs/generate_vts_test.sh" >> $OUTFILE 70 $VTS_PATH/../../tools/test_generator/vts_generator.py $VER_DIR \ 71 -m $VTS_PATH/generated/vts_models -e $VTS_PATH/generated/examples >> $OUTFILE 72 echo "Generated file in $VTS_PATH/generated/"`basename $OUTFILE` 73 done 74 } 75 76 if [ $# -eq 0 ]; then 77 generate_spec_dirs 78 else 79 FILES="$@" 80 generate_wrapper $FILES 81 fi 82