summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNate <37554478+servusdei2018@users.noreply.github.com>2021-08-08 04:34:07 (GMT)
committerGitHub <noreply@github.com>2021-08-08 04:34:07 (GMT)
commit594ec829e372558ef5617bd508149468d9432acd (patch)
treee1a2a632f1fdae288fe8e505da94a5c7f5164682
parent0c782923359062d1c909b8cce52526ec95f28f6c (diff)
downloadlz4-594ec829e372558ef5617bd508149468d9432acd.zip
lz4-594ec829e372558ef5617bd508149468d9432acd.tar.gz
lz4-594ec829e372558ef5617bd508149468d9432acd.tar.bz2
tests(unicode_lint.sh): create: lint source files in ./lib/ and ./programs/ for Unicode
-rw-r--r--tests/unicode_lint.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/unicode_lint.sh b/tests/unicode_lint.sh
new file mode 100644
index 0000000..08f8381
--- /dev/null
+++ b/tests/unicode_lint.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# `unicode_lint.sh' determines whether source files under the ./lib/ and ./programs/ directories
+# contain Unicode characters, and fails if any do.
+#
+# See https://github.com/lz4/lz4/issues/1018
+
+pass=true
+
+# Scan ./lib/ for Unicode in source (*.c, *.h) files
+result=$(
+ find ./lib/ -regex '.*\.\(c\|h\)$' -exec grep -P -n "[^\x00-\x7F]" {} \; -exec echo "FAIL: {}" \;
+)
+if [[ $result ]]; then
+ echo "$result"
+ pass=false
+fi
+
+# Scan ./programs/ for Unicode in source (*.c, *.h) files
+result=$(
+ find ./programs/ -regex '.*\.\(c\|h\)$' -exec grep -P -n "[^\x00-\x7F]" {} \; -exec echo "{}: FAIL" \;
+)
+if [[ $result ]]; then
+ echo "$result"
+ pass=false
+fi
+
+if [ "$pass" = true ]; then
+ echo "All tests successful."
+ echo "Result: PASS"
+ exit 0
+else
+ echo "Result: FAIL"
+ exit 1
+fi