https://bugs.exim.org/show_bug.cgi?id=2681
Bug ID: 2681 Summary: RunGrepTest N7 improvement: use tr(1) instead of sed(1) Product: PCRE Version: 10.36 (PCRE2) Hardware: Other OS: OpenBSD Status: NEW Severity: bug Priority: medium Component: Code Assignee: philip.ha...@gmail.com Reporter: namt...@gmail.com CC: pcre-dev@exim.org I propose a change that uses tr(1) instead of sed(1) for test N7 in RunGrepTest. I see from the comments that there are portability concerns with sed(1). # It seems impossible to handle NUL characters easily in many operating This work is from Jeremie Courreges-Anglas, who has suggested that tr implementations can handle NUL. source: https://marc.info/?l=openbsd-ports&m=155675121018167&w=2 I am Nam Nguyen, the maintainer of the pcre2 OpenBSD port. With this change N7 test passes on OpenBSD. Tests on other systems are welcome. The proposed change is in two parts: 1. patch testdata/grepoutputN to use '@' instead of "ZERO" so that tr works: sed -i 's/1:abcZERO2:defZERO/1:abc@2:def@/' ${WRKSRC}/testdata/grepoutputN 2. patch RunGrepTest $OpenBSD: patch-RunGrepTest,v 1.4 2020/06/20 06:55:46 kn Exp $ Our sed(1) doesn't cope with NUL bytes and \x00-style notation. Use tr(1) instead. Index: RunGrepTest --- RunGrepTest.orig +++ RunGrepTest @@ -763,14 +763,9 @@ $valgrind $vjs $pcre2grep -n --newline=anycrlf "^(abc| # doesn't. printf '%c--------------------------- Test N7 ------------------------------\r\n' - >>testtrygrep -Z=`printf '\0' | sed 's/\x00/Z/g'` -if [ "$Z" = "Z" ]; then - printf 'abc\0def' >testNinputgrep - $valgrind $vjs $pcre2grep -na --newline=nul "^(abc|def)" testNinputgrep | sed 's/\x00/ZERO/g' >>testtrygrep - echo "" >>testtrygrep -else - echo '1:abcZERO2:defZERO' >>testtrygrep -fi +printf 'abc\0def' >testNinputgrep +$valgrind $vjs $pcre2grep -na --newline=nul "^(abc|def)" testNinputgrep | tr '\000' '@' >>testtrygrep +echo "" >>testtrygrep $cf $srcdir/testdata/grepoutputN testtrygrep if [ $? != 0 ] ; then exit 1; fi -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev