summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorIWASE Yusuke <iwase.yusuke0@gmail.com>2018-01-12 14:51:03 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2018-01-24 08:18:50 +0900
commit8420d732b682a16fa34fb50725ce4c717287ecfd (patch)
tree802e7a0f53674a7cb12e946b73c557d5e9c92396 /tools
parent549b7037381ec51d0c5b9a0abbe8f73000fda70c (diff)
travis: Script to checkout use of avoided functions
For the 32-bit platform compatibility, strconv.Atoi() should be replaced by strconv.ParseUint() or strconv.ParseInt(). This scripts prevents the use of these functions which should not be used with some reasons. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/grep_avoided_functions.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/grep_avoided_functions.sh b/tools/grep_avoided_functions.sh
new file mode 100755
index 00000000..d5b6494b
--- /dev/null
+++ b/tools/grep_avoided_functions.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+# List of functions which should not be used with remarkable reasons
+FUNCS=(
+# On a 32-bit platform, int type is not big enough to convert into uint32 type.
+# strconv.Atoi() should be replaced by strconv.ParseUint() or
+# strconv.ParseInt().
+'strconv\.Atoi'
+)
+
+SCRIPT_DIR=`dirname $0`
+
+RESULT=0
+
+for FUNC in ${FUNCS[@]}
+do
+ for GO_PKG in $(go list github.com/osrg/gobgp/... | grep -v '/vendor/')
+ do
+ grep ${FUNC} -r ${GOPATH}/src/${GO_PKG}
+ if [ $? -ne 1 ]
+ then
+ RESULT=1
+ fi
+ done
+done
+
+exit $RESULT \ No newline at end of file