Module Name:    src
Committed By:   rillig
Date:           Sat Nov 23 09:38:02 UTC 2024

Modified Files:
        src/tests/usr.bin/grep: t_grep.sh

Log Message:
tests/grep: add expected output for grep -Fvx with overlapping patterns

By default, /usr/bin/grep is GNU grep, which does not exhibit this bug.
The tools build uses the grep implementation from usr.bin/grep, though.

See PR bin/58849.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/tests/usr.bin/grep/t_grep.sh

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

Modified files:

Index: src/tests/usr.bin/grep/t_grep.sh
diff -u src/tests/usr.bin/grep/t_grep.sh:1.7 src/tests/usr.bin/grep/t_grep.sh:1.8
--- src/tests/usr.bin/grep/t_grep.sh:1.7	Fri Sep  9 22:14:29 2022
+++ src/tests/usr.bin/grep/t_grep.sh	Sat Nov 23 09:38:02 2024
@@ -1,6 +1,6 @@
-# $NetBSD: t_grep.sh,v 1.7 2022/09/09 22:14:29 wiz Exp $
+# $NetBSD: t_grep.sh,v 1.8 2024/11/23 09:38:02 rillig Exp $
 #
-# Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
+# Copyright (c) 2008, 2009, 2021, 2024 The NetBSD Foundation, Inc.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -341,6 +341,24 @@ context2_body()
 	    grep -z -C1 cod test1 test2
 }
 
+atf_test_case pr_58849
+pr_58849_head()
+{
+	atf_set "descr" "Checks overlapping patterns in whole-line search"
+}
+pr_58849_body()
+{
+	printf '%s\n' __bss_start__ __bss_end__ hello > input
+
+	# The line '__bss_end__' must not occur in the output.
+	atf_check -o inline:'__bss_start__\nhello\n' \
+	    grep -Fvx -e _end -e __bss_end__ input
+
+	# Listing the most specific pattern first works around PR bin/58849.
+	atf_check -o inline:'__bss_start__\nhello\n' \
+	    grep -Fvx -e __bss_end__ -e _end input
+}
+
 atf_init_test_cases()
 {
 	atf_add_test_case basic
@@ -363,4 +381,5 @@ atf_init_test_cases()
 	atf_add_test_case zgrep
 	atf_add_test_case nonexistent
 	atf_add_test_case context2
+	atf_add_test_case pr_58849
 }

Reply via email to