summaryrefslogtreecommitdiffstats
path: root/src/rocksdb/build_tools/check-sources.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xsrc/rocksdb/build_tools/check-sources.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/rocksdb/build_tools/check-sources.sh b/src/rocksdb/build_tools/check-sources.sh
new file mode 100755
index 000000000..5672f7b2b
--- /dev/null
+++ b/src/rocksdb/build_tools/check-sources.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+#
+# Check for some simple mistakes that should prevent commit or push
+
+BAD=""
+
+git grep -n 'namespace rocksdb' -- '*.[ch]*'
+if [ "$?" != "1" ]; then
+ echo "^^^^^ Do not hardcode namespace rocksdb. Use ROCKSDB_NAMESPACE"
+ BAD=1
+fi
+
+git grep -n -i 'nocommit' -- ':!build_tools/check-sources.sh'
+if [ "$?" != "1" ]; then
+ echo "^^^^^ Code was not intended to be committed"
+ BAD=1
+fi
+
+git grep -n 'include <rocksdb/' -- ':!build_tools/check-sources.sh'
+if [ "$?" != "1" ]; then
+ echo '^^^^^ Use double-quotes as in #include "rocksdb/something.h"'
+ BAD=1
+fi
+
+git grep -n 'include "include/rocksdb/' -- ':!build_tools/check-sources.sh'
+if [ "$?" != "1" ]; then
+ echo '^^^^^ Use #include "rocksdb/something.h" instead of #include "include/rocksdb/something.h"'
+ BAD=1
+fi
+
+git grep -n 'using namespace' -- ':!build_tools' ':!docs' \
+ ':!third-party/folly/folly/lang/Align.h' \
+ ':!third-party/gtest-1.8.1/fused-src/gtest/gtest.h'
+if [ "$?" != "1" ]; then
+ echo '^^^^ Do not use "using namespace"'
+ BAD=1
+fi
+
+git grep -n -P "[\x80-\xFF]" -- ':!docs' ':!*.md'
+if [ "$?" != "1" ]; then
+ echo '^^^^ Use only ASCII characters in source files'
+ BAD=1
+fi
+
+if [ "$BAD" ]; then
+ exit 1
+fi