Module Name:    src
Committed By:   rillig
Date:           Sat Sep 25 12:20:44 UTC 2021

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

Log Message:
tests/indent: test edge cases for the tokenizer


To generate a diff of this commit:
cvs rdiff -u -r1.1127 -r1.1128 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.9 -r1.10 src/tests/usr.bin/indent/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/indent/lex.0 \
    src/tests/usr.bin/indent/lex.0.pro src/tests/usr.bin/indent/lex.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.1127 src/distrib/sets/lists/tests/mi:1.1128
--- src/distrib/sets/lists/tests/mi:1.1127	Sat Sep 25 09:46:29 2021
+++ src/distrib/sets/lists/tests/mi	Sat Sep 25 12:20:44 2021
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1127 2021/09/25 09:46:29 rillig Exp $
+# $NetBSD: mi,v 1.1128 2021/09/25 12:20:44 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -4753,6 +4753,9 @@
 ./usr/tests/usr.bin/indent/label.0					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/label.0.pro					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/label.0.stdout				tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/lex.0					tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/lex.0.pro					tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/lex.0.stdout					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/lex_char.0					tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/lex_char.0.pro				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/lex_char.0.stdout				tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/indent/Makefile
diff -u src/tests/usr.bin/indent/Makefile:1.9 src/tests/usr.bin/indent/Makefile:1.10
--- src/tests/usr.bin/indent/Makefile:1.9	Sat Sep 25 09:46:29 2021
+++ src/tests/usr.bin/indent/Makefile	Sat Sep 25 12:20:44 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.9 2021/09/25 09:46:29 rillig Exp $
+#	$NetBSD: Makefile,v 1.10 2021/09/25 12:20:44 rillig Exp $
 
 .include <bsd.own.mk>
 
@@ -30,6 +30,9 @@ FILES+=		indent_variables.0.stdout
 FILES+=		label.0
 FILES+=		label.0.stdout
 FILES+=		label.0.pro
+FILES+=		lex.0
+FILES+=		lex.0.pro
+FILES+=		lex.0.stdout
 FILES+=		lex_char.0
 FILES+=		lex_char.0.pro
 FILES+=		lex_char.0.stdout

Added files:

Index: src/tests/usr.bin/indent/lex.0
diff -u /dev/null src/tests/usr.bin/indent/lex.0:1.1
--- /dev/null	Sat Sep 25 12:20:44 2021
+++ src/tests/usr.bin/indent/lex.0	Sat Sep 25 12:20:44 2021
@@ -0,0 +1,40 @@
+/* $NetBSD: lex.0,v 1.1 2021/09/25 12:20:44 rillig Exp $ */
+/* $FreeBSD$ */
+
+/*
+ * Test lexing of tokens, such as keywords, identifiers, operators.
+ */
+
+/* GCC accepts this even with WARNS=6. */
+in\
+t \
+var\
+iable;
+
+int
+	no_backslash;
+
+/* $ See check_size_token. */
+/* $ The default buffer size is 200, the limit is 195. */
+struct long_tag_name_to_overflow_the_token_buffer_4567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890;
+
+/* $ See check_size_token. */
+/* $ The difference between limit and start got incremented to 595. */
+struct long_tag_name_to_overflow_the_token_buffer_4567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890\
+12345678901234567890123456789012345678901234567890;
+
+/* This is a syntax error; see lex_word. */
+int identifier\n;
Index: src/tests/usr.bin/indent/lex.0.pro
diff -u /dev/null src/tests/usr.bin/indent/lex.0.pro:1.1
--- /dev/null	Sat Sep 25 12:20:44 2021
+++ src/tests/usr.bin/indent/lex.0.pro	Sat Sep 25 12:20:44 2021
@@ -0,0 +1,4 @@
+/* $NetBSD: lex.0.pro,v 1.1 2021/09/25 12:20:44 rillig Exp $ */
+/* $FreeBSD$ */
+
+-di16
Index: src/tests/usr.bin/indent/lex.0.stdout
diff -u /dev/null src/tests/usr.bin/indent/lex.0.stdout:1.1
--- /dev/null	Sat Sep 25 12:20:44 2021
+++ src/tests/usr.bin/indent/lex.0.stdout	Sat Sep 25 12:20:44 2021
@@ -0,0 +1,21 @@
+/* $NetBSD: lex.0.stdout,v 1.1 2021/09/25 12:20:44 rillig Exp $ */
+/* $FreeBSD$ */
+
+/*
+ * Test lexing of tokens, such as keywords, identifiers, operators.
+ */
+
+/* GCC accepts this even with WARNS=6. */
+/* $ XXX: The indentation of the backslash is one short of a tab. */
+int	       \
+		variable;
+
+int
+		no_backslash;
+
+struct long_tag_name_to_overflow_the_token_buffer_4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890;
+
+struct long_tag_name_to_overflow_the_token_buffer_45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890;
+
+/* This is a syntax error; see lex_word. */
+int		identifier \n;

Reply via email to