Module Name:    src
Committed By:   rillig
Date:           Tue Oct 19 20:20:25 UTC 2021

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/tests/usr.bin/indent: Makefile
Added Files:
        src/tests/usr.bin/indent: indent_off_on.c

Log Message:
tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.


To generate a diff of this commit:
cvs rdiff -u -r1.1147 -r1.1148 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.23 -r1.24 src/tests/usr.bin/indent/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/indent/indent_off_on.c

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.1147 src/distrib/sets/lists/tests/mi:1.1148
--- src/distrib/sets/lists/tests/mi:1.1147	Mon Oct 18 23:01:10 2021
+++ src/distrib/sets/lists/tests/mi	Tue Oct 19 20:20:24 2021
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1147 2021/10/18 23:01:10 rillig Exp $
+# $NetBSD: mi,v 1.1148 2021/10/19 20:20:24 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -4752,6 +4752,7 @@
 ./usr/tests/usr.bin/indent/f_decls.0.stdout				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/float.0					tests-obsolete		obsolete,atf
 ./usr/tests/usr.bin/indent/float.0.stdout				tests-obsolete		obsolete,atf
+./usr/tests/usr.bin/indent/indent_off_on.c				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/indent_variables.0				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/indent_variables.0.pro			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/indent_variables.0.stdout			tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/indent/Makefile
diff -u src/tests/usr.bin/indent/Makefile:1.23 src/tests/usr.bin/indent/Makefile:1.24
--- src/tests/usr.bin/indent/Makefile:1.23	Tue Oct 19 19:59:05 2021
+++ src/tests/usr.bin/indent/Makefile	Tue Oct 19 20:20:24 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.23 2021/10/19 19:59:05 rillig Exp $
+#	$NetBSD: Makefile,v 1.24 2021/10/19 20:20:24 rillig Exp $
 
 .include <bsd.own.mk>
 
@@ -19,6 +19,7 @@ FILES+=		elsecomment.0.stdout
 FILES+=		elsecomment.0.pro
 FILES+=		f_decls.0
 FILES+=		f_decls.0.stdout
+FILES+=		indent_off_on.c
 FILES+=		indent_variables.0
 FILES+=		indent_variables.0.pro
 FILES+=		indent_variables.0.stdout

Added files:

Index: src/tests/usr.bin/indent/indent_off_on.c
diff -u /dev/null src/tests/usr.bin/indent/indent_off_on.c:1.1
--- /dev/null	Tue Oct 19 20:20:25 2021
+++ src/tests/usr.bin/indent/indent_off_on.c	Tue Oct 19 20:20:25 2021
@@ -0,0 +1,118 @@
+/* $NetBSD: indent_off_on.c,v 1.1 2021/10/19 20:20:25 rillig Exp $ */
+/* $FreeBSD$ */
+
+/*
+ * Tests for the comments 'INDENT OFF' and 'INDENT ON', which temporarily
+ * disable formatting.
+ */
+
+#indent input
+{}
+
+/*INDENT OFF*/
+/*INDENT ON*/
+
+{}
+#indent end
+
+/*
+ * XXX: It is asymmetric that 'INDENT OFF' is kept as is, while 'INDENT ON'
+ * gets enclosed with spaces.
+ */
+#indent run
+{
+}
+/* $ FIXME: This empty line must stay. */
+/*INDENT OFF*/
+/* INDENT ON */
+
+{
+}
+#indent end
+
+
+#indent input
+{}
+ /* INDENT OFF */
+ /* INDENT ON */
+{}
+#indent end
+
+/*
+ * XXX: It is asymmetric that 'INDENT OFF' is indented, while 'INDENT ON'
+ * is aligned.
+ */
+#indent run
+{
+}
+ /* INDENT OFF */
+/* INDENT ON */
+{
+}
+#indent end
+
+
+#indent input
+{}
+	/* INDENT OFF */
+	/* INDENT ON */
+{}
+#indent end
+
+/*
+ * XXX: It is asymmetric that 'INDENT OFF' is indented, while 'INDENT ON'
+ * is aligned.
+ */
+#indent run
+{
+}
+	/* INDENT OFF */
+/* INDENT ON */
+{
+}
+#indent end
+
+/*
+ * The INDENT comments can be written without space between the words, but
+ * nobody does this.
+ */
+#indent input
+int   decl   ;
+/*INDENTOFF*/
+int   decl   ;
+/*INDENTON*/
+int   decl   ;
+#indent end
+
+#indent run -di0
+int decl;
+/*INDENTOFF*/
+int   decl   ;
+/* INDENTON */
+int decl;
+#indent end
+
+
+/*
+ * Any whitespace around the 'INDENT ON/OFF' is ignored, as is any whitespace
+ * between the two words.
+ */
+#indent input
+int decl;
+/*		INDENT		OFF		*/
+int   decl   ;
+/*		INDENT		ON		*/
+int decl;
+#indent end
+
+/*
+ * XXX: It is asymmetric that 'INDENT OFF' is indented, while 'INDENT ON'
+ * is aligned.
+ */
+#indent run -di0
+int decl;
+/*		INDENT		OFF		*/
+int   decl   ;
+/* INDENT		ON		*/
+int decl;
+#indent end

Reply via email to