pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/regress/subst regress/subst: demonstrate that SUBST_VA...
details: https://anonhg.NetBSD.org/pkgsrc/rev/f3564a195378
branches: trunk
changeset: 331375:f3564a195378
user: rillig <rillig%pkgsrc.org@localhost>
date: Sun Mar 17 11:28:13 2019 +0000
description:
regress/subst: demonstrate that SUBST_VARS doesn't pass newlines
Sure, it's an edge case and has not been necessary until now.
Nevertheless it's good to see how this can be done.
Variables having dots in their names are also not handled completely
correct. This also didn't occur in practice since the variable names
passed to SUBST_VARS are usually A-Za-z0-9_ only.
diffstat:
regress/subst/Makefile | 44 ++++++++++++++++++++++++++++++++++++--------
regress/subst/PLIST | 2 ++
regress/subst/files/expected | 23 +++++++++++++++++++++++
regress/subst/vars.mk | 5 -----
4 files changed, 61 insertions(+), 13 deletions(-)
diffs (112 lines):
diff -r a34e39c6b7e2 -r f3564a195378 regress/subst/Makefile
--- a/regress/subst/Makefile Sun Mar 17 11:18:55 2019 +0000
+++ b/regress/subst/Makefile Sun Mar 17 11:28:13 2019 +0000
@@ -1,30 +1,58 @@
-# $NetBSD: Makefile,v 1.4 2019/03/17 10:19:36 rillig Exp $
+# $NetBSD: Makefile,v 1.5 2019/03/17 11:28:13 rillig Exp $
#
-DISTNAME= subst-1.0
+DISTNAME= subst-19.03
CATEGORIES= regress
DISTFILES= # none
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
COMMENT= Test the SUBST framework
+LICENSE= 2-clause-bsd
WRKSRC= ${WRKDIR}
-USE_TOOLS+= diff
+USE_TOOLS+= diff printf
SUBST_CLASSES+= vars
SUBST_STAGE.vars= do-build
-SUBST_FILES.vars= vars
-SUBST_VARS.vars= PLAIN DQUOT SQUOT DELIM EVIL1
+SUBST_FILES.vars= vars.after
+SUBST_VARS.vars= PLAIN DQUOT SQUOT DELIM PRINTABLE
+SUBST_VARS.vars+= UNDEFINED
+SUBST_VARS.vars+= BETWEEN_SPACE BETWEEN_TAB BETWEEN_NL
+SUBST_VARS.vars+= BACKSLASHES VAR...... VAR.abcde
+
+PLAIN= hello_world
+DQUOT= "hello world"
+SQUOT= 'hello world'
+DELIM= hello, world
+PRINTABLE= !"\#$$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}
+
+#UNDEFINED= # undefined
-.include "vars.mk"
+# Ensure that leading and trailing whitespace is preserved.
+BETWEEN_SPACE= ${:U }between spaces${:U }
+BETWEEN_TAB= ${:U }between tabs${:U }
+# TODO: currently fails; needs to be fixed in subst.mk
+#BETWEEN_NL= ${.newline}between newlines${.newline}
+
+BACKSLASHES= \" \, \\, \" \' \0\000 \x40 \089 \a \$$
+
+# Ensure that special regex characters may appear in variable names.
+VAR......= dots
+VAR.abcde= letters
+
+do-extract:
+ ${RUN} ${SED} -e /^\#/d -e /^$$/d ${FILESDIR}/expected \
+ > ${WRKSRC}/expected
pre-build:
- for v in ${SUBST_VARS.vars}; do echo "$$v=@$$v@"; done > ${WRKSRC}/vars
+ ${RUN} printf '%s: <@%s@>\n' ${SUBST_VARS.vars:@var@ ${var:Q} ${var:Q} @} \
+ > ${WRKSRC}/vars.before
+ ${RUN} ${CAT} ${WRKSRC}/vars.before > ${WRKSRC}/vars.after
do-build:
@${DO_NADA}
post-build:
- diff -u vars.mk ${WRKSRC}/vars
+ ${RUN} diff -u ${WRKSRC}/expected ${WRKSRC}/vars.after
.include "../../mk/bsd.pkg.mk"
diff -r a34e39c6b7e2 -r f3564a195378 regress/subst/PLIST
--- a/regress/subst/PLIST Sun Mar 17 11:18:55 2019 +0000
+++ b/regress/subst/PLIST Sun Mar 17 11:28:13 2019 +0000
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.2 2019/03/17 11:28:13 rillig Exp $
+@comment unused
diff -r a34e39c6b7e2 -r f3564a195378 regress/subst/files/expected
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/regress/subst/files/expected Sun Mar 17 11:28:13 2019 +0000
@@ -0,0 +1,23 @@
+# $NetBSD: expected,v 1.1 2019/03/17 11:28:13 rillig Exp $
+#
+# The expected output from the SUBST_VARS test.
+# Each substituted value is enclosed in <angle brackets> to clearly
+# show where it begins and ends.
+
+PLAIN: <hello_world>
+DQUOT: <"hello world">
+SQUOT: <'hello world'>
+DELIM: <hello, world>
+PRINTABLE: <!"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}>
+
+UNDEFINED: <>
+
+BETWEEN_SPACE: < between spaces >
+BETWEEN_TAB: < between tabs >
+BETWEEN_NL: <>
+
+BACKSLASHES: <\" \, \\, \" \' \0\000 \x40 \089 \a \$>
+
+VAR......: <dots>
+# FIXME: must be <letters> instead of <dots>
+VAR.abcde: <dots>
diff -r a34e39c6b7e2 -r f3564a195378 regress/subst/vars.mk
--- a/regress/subst/vars.mk Sun Mar 17 11:18:55 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-PLAIN=hello_world
-DQUOT="hello world"
-SQUOT='hello world'
-DELIM=hello, world
-EVIL1=h\ello \0\0\0 \\\"\' foo && bar
Home |
Main Index |
Thread Index |
Old Index