add test case for directory exclusion default tip

Thu, 02 Jul 2026 10:22:33 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 02 Jul 2026 10:22:33 +0200
changeset 98
09ad5d8ab860
parent 97
7b0357fdb304

add test case for directory exclusion

resolves #838

test/Makefile file | annotate | diff | comparison | revisions
test/dir-excl.sh file | annotate | diff | comparison | revisions
--- a/test/Makefile	Tue Jun 30 15:59:40 2026 +0200
+++ b/test/Makefile	Thu Jul 02 10:22:33 2026 +0200
@@ -26,7 +26,8 @@
   codeonly_chars.force \
   nocomments.force \
   total.force \
-  total_chars.force
+  total_chars.force \
+  dir-excl.force
 
 all: $(TEST_SCRIPTS)
 	echo "Tests successful."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/dir-excl.sh	Thu Jul 02 10:22:33 2026 +0200
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2016 Mike Becker. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+expected=21
+
+echo -n "Verifying correctness of directory exclusion by name: "
+
+count=`../build/cline -RVs .c -D src ..`
+if [ "$count" -eq "$expected" ]; then
+    echo "OK."
+else
+    echo "FAIL! $count is not $expected"
+    exit 1
+fi
+
+echo -n "Verifying correctness of directory exclusion by relative path: "
+
+count=`../build/cline -RVs .c -D ../src ..`
+if [ "$count" -eq "$expected" ]; then
+    echo "OK."
+else
+    echo "FAIL! $count is not $expected"
+    exit 1
+fi
+
+echo -n "Verifying correctness of directory exclusion by absolute path: "
+
+count=`../build/cline -RVs .c -D $(realpath ../src) ..`
+if [ "$count" -eq "$expected" ]; then
+    echo "OK."
+else
+    echo "FAIL! $count is not $expected"
+    exit 1
+fi
+
+exit 0

mercurial