#!/bin/bash # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This script is used to count detail PADDLE checks in the paddle/fluid directory, # contains the number of PADDLE checks under each folder, the statistical data # does not include subdirectories, only covers all files under the current directory. # # The three columns of data are: total number, valid number, invalid number. # The output format is easy to display as a markdown table. # Usage: bash count_enforce_by_dir.sh (run in tools directory) # Result Example: # paddle/fluid/operators/collective | 28 | 1 | 27 # paddle/fluid/operators/controlflow | 60 | 59 | 1 # paddle/fluid/operators/detection | 276 | 146 | 130 # paddle/fluid/operators/elementwise | 29 | 20 | 9 # paddle/fluid/operators/fused | 227 | 182 | 45 # paddle/fluid/operators/nccl | 27 | 0 | 27 # paddle/fluid/operators/optimizers | 214 | 50 | 164 # paddle/fluid/operators/reader | 40 | 14 | 26 # paddle/fluid/operators/reduce_ops | 8 | 8 | 0 # paddle/fluid/operators/sequence_ops | 167 | 47 | 120 # paddle/fluid/operators/tensorrt | 7 | 4 | 3 # paddle/fluid/operators | 2144 | 999 | 1145 . ./count_all_enforce.sh --source-only ROOT_DIR=../../paddle/fluid function count_dir_independently(){ local sub_dir_total_check_cnt=0 local sub_dir_valid_check_cnt=0 for file in `ls $1` do if [ -d $1"/"$file ];then enforce_count $1"/"$file dir_total_check_cnt dir_valid_check_cnt sub_dir_total_check_cnt=$(($sub_dir_total_check_cnt+$dir_total_check_cnt)) sub_dir_valid_check_cnt=$(($sub_dir_valid_check_cnt+$dir_valid_check_cnt)) count_dir_independently $1"/"$file $dir_total_check_cnt $dir_valid_check_cnt fi done total_check_cnt=$(($2-$sub_dir_total_check_cnt)) valid_check_cnt=$(($3-$sub_dir_valid_check_cnt)) dir_name=$1 echo "${dir_name#../} | ${total_check_cnt} | ${valid_check_cnt} | $(($total_check_cnt-$valid_check_cnt))" } main() { count_dir_independently $ROOT_DIR 0 0 } if [ "${1}" != "--source-only" ]; then main "${@}" fi