head	1.3;
access;
symbols
	perseant-exfatfs-base-20250801:1.3
	perseant-exfatfs-base-20240630:1.3
	perseant-exfatfs:1.3.0.16
	perseant-exfatfs-base:1.3
	cjep_sun2x:1.3.0.14
	cjep_sun2x-base:1.3
	cjep_staticlib_x-base1:1.3
	cjep_staticlib_x:1.3.0.12
	cjep_staticlib_x-base:1.3
	phil-wifi-20200421:1.3
	phil-wifi-20200411:1.3
	phil-wifi-20200406:1.3
	pgoyette-compat-merge-20190127:1.3
	pgoyette-compat-20190127:1.3
	pgoyette-compat-20190118:1.3
	pgoyette-compat-1226:1.3
	pgoyette-compat-1126:1.3
	pgoyette-compat-1020:1.3
	pgoyette-compat-0930:1.3
	pgoyette-compat-0906:1.3
	netbsd-7-2-RELEASE:1.2
	pgoyette-compat-0728:1.3
	pgoyette-compat-0625:1.3
	pgoyette-compat-0521:1.3
	pgoyette-compat-0502:1.3
	pgoyette-compat-0422:1.3
	pgoyette-compat-0415:1.3
	pgoyette-compat-0407:1.3
	pgoyette-compat-0330:1.3
	pgoyette-compat-0322:1.3
	pgoyette-compat-0315:1.3
	netbsd-7-1-2-RELEASE:1.2
	pgoyette-compat:1.3.0.10
	pgoyette-compat-base:1.3
	netbsd-7-1-1-RELEASE:1.2
	perseant-stdc-iso10646:1.3.0.8
	perseant-stdc-iso10646-base:1.3
	prg-localcount2-base3:1.3
	prg-localcount2-base2:1.3
	prg-localcount2-base1:1.3
	prg-localcount2:1.3.0.6
	prg-localcount2-base:1.3
	pgoyette-localcount-20170426:1.3
	bouyer-socketcan-base1:1.3
	pgoyette-localcount-20170320:1.3
	netbsd-7-1:1.2.0.70
	netbsd-7-1-RELEASE:1.2
	netbsd-7-1-RC2:1.2
	netbsd-7-nhusb-base-20170116:1.2
	bouyer-socketcan:1.3.0.4
	bouyer-socketcan-base:1.3
	pgoyette-localcount-20170107:1.3
	netbsd-7-1-RC1:1.2
	pgoyette-localcount-20161104:1.3
	netbsd-7-0-2-RELEASE:1.2
	localcount-20160914:1.3
	netbsd-7-nhusb:1.2.0.68
	netbsd-7-nhusb-base:1.2
	pgoyette-localcount-20160806:1.3
	pgoyette-localcount-20160726:1.3
	pgoyette-localcount:1.3.0.2
	pgoyette-localcount-base:1.3
	netbsd-7-0-1-RELEASE:1.2
	netbsd-7-0:1.2.0.66
	netbsd-7-0-RELEASE:1.2
	netbsd-7-0-RC3:1.2
	netbsd-7-0-RC2:1.2
	netbsd-7-0-RC1:1.2
	netbsd-5-2-3-RELEASE:1.2
	netbsd-5-1-5-RELEASE:1.2
	netbsd-6-0-6-RELEASE:1.2
	netbsd-6-1-5-RELEASE:1.2
	netbsd-7:1.2.0.64
	netbsd-7-base:1.2
	yamt-pagecache-base9:1.2
	yamt-pagecache-tag8:1.2
	netbsd-6-1-4-RELEASE:1.2
	netbsd-6-0-5-RELEASE:1.2
	tls-earlyentropy:1.2.0.62
	tls-earlyentropy-base:1.2
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2
	riastradh-drm2-base3:1.2
	netbsd-6-1-3-RELEASE:1.2
	netbsd-6-0-4-RELEASE:1.2
	netbsd-5-2-2-RELEASE:1.2
	netbsd-5-1-4-RELEASE:1.2
	netbsd-6-1-2-RELEASE:1.2
	netbsd-6-0-3-RELEASE:1.2
	netbsd-5-2-1-RELEASE:1.2
	netbsd-5-1-3-RELEASE:1.2
	netbsd-6-1-1-RELEASE:1.2
	riastradh-drm2-base2:1.2
	riastradh-drm2-base1:1.2
	riastradh-drm2:1.2.0.56
	riastradh-drm2-base:1.2
	netbsd-6-1:1.2.0.60
	netbsd-6-0-2-RELEASE:1.2
	netbsd-6-1-RELEASE:1.2
	netbsd-6-1-RC4:1.2
	netbsd-6-1-RC3:1.2
	agc-symver:1.2.0.58
	agc-symver-base:1.2
	netbsd-6-1-RC2:1.2
	dholland-make-base:1.2
	netbsd-6-1-RC1:1.2
	yamt-pagecache-base8:1.2
	netbsd-5-2:1.2.0.54
	netbsd-6-0-1-RELEASE:1.2
	yamt-pagecache-base7:1.2
	netbsd-5-2-RELEASE:1.2
	netbsd-5-2-RC1:1.2
	matt-nb6-plus-nbase:1.2
	yamt-pagecache-base6:1.2
	netbsd-6-0:1.2.0.52
	netbsd-6-0-RELEASE:1.2
	netbsd-6-0-RC2:1.2
	tls-maxphys:1.2.0.50
	tls-maxphys-base:1.2
	matt-nb6-plus:1.2.0.48
	matt-nb6-plus-base:1.2
	netbsd-6-0-RC1:1.2
	yamt-pagecache-base5:1.2
	yamt-pagecache-base4:1.2
	netbsd-6:1.2.0.46
	netbsd-6-base:1.2
	netbsd-5-1-2-RELEASE:1.2
	netbsd-5-1-1-RELEASE:1.2
	yamt-pagecache-base3:1.2
	yamt-pagecache-base2:1.2
	yamt-pagecache:1.2.0.44
	yamt-pagecache-base:1.2
	cherry-xenmp:1.2.0.42
	cherry-xenmp-base:1.2
	bouyer-quota2-nbase:1.2
	bouyer-quota2:1.2.0.40
	bouyer-quota2-base:1.2
	matt-mips64-premerge-20101231:1.2
	matt-nb5-mips64-premerge-20101231:1.2
	matt-nb5-pq3:1.2.0.38
	matt-nb5-pq3-base:1.2
	netbsd-5-1:1.2.0.36
	netbsd-5-1-RELEASE:1.2
	netbsd-5-1-RC4:1.2
	matt-nb5-mips64-k15:1.2
	netbsd-5-1-RC3:1.2
	netbsd-5-1-RC2:1.2
	netbsd-5-1-RC1:1.2
	netbsd-5-0-2-RELEASE:1.2
	matt-nb5-mips64-premerge-20091211:1.2
	matt-premerge-20091211:1.2
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.2
	matt-nb4-mips64-k7-u2a-k9b:1.2
	matt-nb5-mips64-u1-k1-k5:1.2
	matt-nb5-mips64:1.2.0.34
	netbsd-5-0-1-RELEASE:1.2
	jym-xensuspend-nbase:1.2
	netbsd-5-0:1.2.0.32
	netbsd-5-0-RELEASE:1.2
	netbsd-5-0-RC4:1.2
	netbsd-5-0-RC3:1.2
	netbsd-5-0-RC2:1.2
	jym-xensuspend:1.2.0.30
	jym-xensuspend-base:1.2
	netbsd-5-0-RC1:1.2
	netbsd-5:1.2.0.28
	netbsd-5-base:1.2
	matt-mips64-base2:1.2
	matt-mips64:1.2.0.26
	mjf-devfs2:1.2.0.24
	mjf-devfs2-base:1.2
	netbsd-4-0-1-RELEASE:1.2
	wrstuden-revivesa-base-3:1.2
	wrstuden-revivesa-base-2:1.2
	wrstuden-fixsa-newbase:1.2
	wrstuden-revivesa-base-1:1.2
	yamt-pf42-base4:1.2
	yamt-pf42-base3:1.2
	hpcarm-cleanup-nbase:1.2
	yamt-pf42-baseX:1.2
	yamt-pf42-base2:1.2
	wrstuden-revivesa:1.2.0.22
	wrstuden-revivesa-base:1.2
	yamt-pf42:1.2.0.20
	yamt-pf42-base:1.2
	keiichi-mipv6-nbase:1.2
	keiichi-mipv6:1.2.0.18
	keiichi-mipv6-base:1.2
	christos-broken:1.2
	matt-armv6-nbase:1.2
	matt-armv6-prevmlocking:1.2
	wrstuden-fixsa-base-1:1.2
	netbsd-4-0:1.2.0.16
	netbsd-4-0-RELEASE:1.2
	cube-autoconf:1.2.0.14
	cube-autoconf-base:1.2
	netbsd-4-0-RC5:1.2
	netbsd-4-0-RC4:1.2
	netbsd-4-0-RC3:1.2
	netbsd-4-0-RC2:1.2
	netbsd-4-0-RC1:1.2
	matt-armv6:1.2.0.12
	matt-armv6-base:1.2
	matt-mips64-base:1.2
	hpcarm-cleanup:1.2.0.10
	hpcarm-cleanup-base:1.2
	wrstuden-fixsa:1.2.0.8
	wrstuden-fixsa-base:1.2
	abandoned-netbsd-4-base:1.2
	abandoned-netbsd-4:1.2.0.4
	netbsd-4:1.2.0.6
	netbsd-4-base:1.2
	chap-midi-nbase:1.2
	chap-midi:1.2.0.2
	chap-midi-base:1.2;
locks; strict;
comment	@# @;


1.3
date	2014.08.21.13.44.51;	author apb;	state dead;
branches;
next	1.2;
commitid	PNRbDMs9XSDHweNx;

1.2
date	2006.05.11.18.48.33;	author sjg;	state Exp;
branches;
next	1.1;

1.1
date	2006.05.11.15.37.07;	author sjg;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Give each group of tests its own output file.

* Rename each sub-makefile to *.mk;
* Add a *.exp file of expected output for each sub-makefile;
* Remove test.exp, which is replaced by all the other *.exp files.
* Use suffix rules to generate *.rawout and *.out files for
  each test case.
* Rewrite the test and accept targets to adapt to the new way.

The old (now removed) test.exp file is almost identical to the
concatenation (in the correct order) of all the new *.exp files.  There
are expected differences in makefile names embedded in the output, and
the new "exit status" lines.  Some old "*** Error code 1 (ignored)"
lines are also removed (replaced by new "exit status 1" lines).
@
text
@# $Id: moderrs,v 1.2 2006/05/11 18:48:33 sjg Exp $
#
# various modifier error tests

VAR=TheVariable
# incase we have to change it ;-)
MOD_UNKN=Z
MOD_TERM=S,V,v
MOD_S:= ${MOD_TERM},

all:	modunkn modunknV varterm vartermV modtermV

modunkn:
	@@echo "Expect: Unknown modifier 'Z'"
	@@echo "VAR:Z=${VAR:Z}"

modunknV:
	@@echo "Expect: Unknown modifier 'Z'"
	@@echo "VAR:${MOD_UNKN}=${VAR:${MOD_UNKN}}"

varterm:
	@@echo "Expect: Unclosed variable specification for VAR"
	@@echo VAR:S,V,v,=${VAR:S,V,v,

vartermV:
	@@echo "Expect: Unclosed variable specification for VAR"
	@@echo VAR:${MOD_TERM},=${VAR:${MOD_S}

modtermV:
	@@echo "Expect: Unclosed substitution for VAR (, missing)"
	-@@echo "VAR:${MOD_TERM}=${VAR:${MOD_TERM}}"
@


1.2
log
@Remove the modterm case from moderrs, the syntax errors
generated by /bin/sh on other systems are not consistent.
@
text
@d1 1
a1 1
# $Id: moderrs,v 1.1 2006/05/11 15:37:07 sjg Exp $
@


1.1
log
@Extract the variable modifier logic to a separate function.
This cuts Var_Parse in half! and allows the modifier logic to
be used recursively - when getting modifiers via variables.

Add new unit-test, to check that certain error cases are handled
correctly.
@
text
@d1 1
a1 1
# $Id$
d11 1
a11 1
all:	modunkn modunknV varterm vartermV modterm modtermV
a28 5
modterm:
	@@echo "Expect: Unclosed substitution for VAR (, missing)"
	@@echo "and: Syntax error: Unterminated quoted string"
	-@@echo "VAR:S,V,v=${VAR:S,V,v}"

@

