Module Name:    src
Committed By:   rillig
Date:           Tue Oct  5 17:09:45 UTC 2021

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/tests/usr.bin/indent: Makefile
Added Files:
        src/tests/usr.bin/indent: ps_ind_level.0 ps_ind_level.0.pro
            ps_ind_level.0.stdout

Log Message:
tests/indent: demonstrate off-by-one error in edge case


To generate a diff of this commit:
cvs rdiff -u -r1.1131 -r1.1132 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.11 -r1.12 src/tests/usr.bin/indent/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/indent/ps_ind_level.0 \
    src/tests/usr.bin/indent/ps_ind_level.0.pro \
    src/tests/usr.bin/indent/ps_ind_level.0.stdout

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.1131 src/distrib/sets/lists/tests/mi:1.1132
--- src/distrib/sets/lists/tests/mi:1.1131	Thu Sep 30 02:00:19 2021
+++ src/distrib/sets/lists/tests/mi	Tue Oct  5 17:09:45 2021
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1131 2021/09/30 02:00:19 yamaguchi Exp $
+# $NetBSD: mi,v 1.1132 2021/10/05 17:09:45 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -4991,6 +4991,9 @@
 ./usr/tests/usr.bin/indent/pcs.0					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/pcs.0.pro					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/pcs.0.stdout					tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/ps_ind_level.0				tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/ps_ind_level.0.pro				tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/ps_ind_level.0.stdout			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/struct.0					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/struct.0.stdout				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/surplusbad.0					tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/indent/Makefile
diff -u src/tests/usr.bin/indent/Makefile:1.11 src/tests/usr.bin/indent/Makefile:1.12
--- src/tests/usr.bin/indent/Makefile:1.11	Sat Sep 25 13:04:55 2021
+++ src/tests/usr.bin/indent/Makefile	Tue Oct  5 17:09:45 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.11 2021/09/25 13:04:55 rillig Exp $
+#	$NetBSD: Makefile,v 1.12 2021/10/05 17:09:45 rillig Exp $
 
 .include <bsd.own.mk>
 
@@ -267,6 +267,9 @@ FILES+=		parens.0.pro
 FILES+=		pcs.0
 FILES+=		pcs.0.stdout
 FILES+=		pcs.0.pro
+FILES+=		ps_ind_level.0
+FILES+=		ps_ind_level.0.pro
+FILES+=		ps_ind_level.0.stdout
 FILES+=		cs.0
 FILES+=		cs.0.stdout
 FILES+=		cs.0.pro

Added files:

Index: src/tests/usr.bin/indent/ps_ind_level.0
diff -u /dev/null src/tests/usr.bin/indent/ps_ind_level.0:1.1
--- /dev/null	Tue Oct  5 17:09:45 2021
+++ src/tests/usr.bin/indent/ps_ind_level.0	Tue Oct  5 17:09:45 2021
@@ -0,0 +1,17 @@
+/* $NetBSD: ps_ind_level.0,v 1.1 2021/10/05 17:09:45 rillig Exp $ */
+/* $FreeBSD$ */
+/* $ */
+/* $ The leading indentation in the first line determines the indentation */
+/* $ of the remaining code. In this particular test, the indentation is set */
+/* $ to 5 and the tabulator is set to 8, to demonstrate an off-by-one error */
+/* $ in main_prepare_parsing that has been fixed in indent.c 1.106 from */
+/* $ 2021-10-05. */
+/* $ */
+/* $ The declaration in the below line is indented by 3 tabs, amounting to */
+/* $ 24 spaces. The initial indentation of the code is intended to be */
+/* $ rounded down, to 4 levels of indentation, amounting to 20 spaces. */
+			int declaration_in_column_25;
+
+/* $ Even if later code has a smaller indentation, it is nevertheless */
+/* $ indented to the level given by the first line of code. */
+void function_in_column_1(void){}
Index: src/tests/usr.bin/indent/ps_ind_level.0.pro
diff -u /dev/null src/tests/usr.bin/indent/ps_ind_level.0.pro:1.1
--- /dev/null	Tue Oct  5 17:09:45 2021
+++ src/tests/usr.bin/indent/ps_ind_level.0.pro	Tue Oct  5 17:09:45 2021
@@ -0,0 +1,5 @@
+/* $NetBSD: ps_ind_level.0.pro,v 1.1 2021/10/05 17:09:45 rillig Exp $ */
+/* $FreeBSD$ */
+
+-i5		/* 5 spaces indentation */
+-ts8		/* 8 spaces per tabulator */
Index: src/tests/usr.bin/indent/ps_ind_level.0.stdout
diff -u /dev/null src/tests/usr.bin/indent/ps_ind_level.0.stdout:1.1
--- /dev/null	Tue Oct  5 17:09:45 2021
+++ src/tests/usr.bin/indent/ps_ind_level.0.stdout	Tue Oct  5 17:09:45 2021
@@ -0,0 +1,9 @@
+/* $NetBSD: ps_ind_level.0.stdout,v 1.1 2021/10/05 17:09:45 rillig Exp $ */
+/* $FreeBSD$ */
+/* $ */
+/* $ FIXME: indentation should be 20 instead of 25. */
+			 int		 declaration_in_column_25;
+
+/* $ FIXME: The space between '){' is missing. */
+			 void		 function_in_column_1(void){
+			 }

Reply via email to