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