mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-11-29 16:45:20 +02:00
b2/test/subcont: test "continue" in substitutions
This commit is contained in:
parent
31c1c58691
commit
e56a71e914
129
b2/test/subcont
Executable file
129
b2/test/subcont
Executable file
@ -0,0 +1,129 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. ./Common
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
tst "substitutions: continue" -ds -q <<EOF
|
||||||
|
!-s
|
||||||
|
in = blah
|
||||||
|
out = x
|
||||||
|
in = (?)(*) {
|
||||||
|
out = \$out\$1\$1
|
||||||
|
in = \$2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
in=blah
|
||||||
|
out=x
|
||||||
|
in=RE {
|
||||||
|
out=\${out}\$1\$1
|
||||||
|
in=\$2
|
||||||
|
continue in
|
||||||
|
}
|
||||||
|
in=
|
||||||
|
out=xbbllaahh
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tst "substitutions: named continue to inner block" -q x=abc <<EOF
|
||||||
|
!-s
|
||||||
|
z = x
|
||||||
|
x = (?)(*) {
|
||||||
|
x = \$2
|
||||||
|
y = \$x
|
||||||
|
y = (*)(?) {
|
||||||
|
z = \$z\$y\$2
|
||||||
|
y = \$1
|
||||||
|
continue y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
z=xbccbb
|
||||||
|
x=bc
|
||||||
|
y=
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tst "substitutions: named continue to outer block" -q x=abc <<EOF
|
||||||
|
!-s
|
||||||
|
z = x
|
||||||
|
x = (?)(*) {
|
||||||
|
x = \$2
|
||||||
|
y = \$x
|
||||||
|
y = (*)(?) {
|
||||||
|
z = \$z\$y\$2
|
||||||
|
y = \$1
|
||||||
|
continue x
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
z=xbcccc
|
||||||
|
x=
|
||||||
|
y=
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tst "substitutions: continue to \$" -ds -q <<EOF
|
||||||
|
!-s
|
||||||
|
in = blah
|
||||||
|
out = x
|
||||||
|
in = ?(*) {
|
||||||
|
in = \$1
|
||||||
|
out = \${out}+
|
||||||
|
continue \$
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
in=blah
|
||||||
|
out=x
|
||||||
|
in=RE {
|
||||||
|
in=\$1
|
||||||
|
out=\${out}+
|
||||||
|
continue in
|
||||||
|
}
|
||||||
|
in=
|
||||||
|
out=x++++
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tst_fail "substitutions: continue inside block" <<EOF
|
||||||
|
!-s
|
||||||
|
foo = * {
|
||||||
|
continue
|
||||||
|
bar = x
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
s:3: syntax error
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tst_fail "substitutions: named continue to unknown block" -q <<EOF
|
||||||
|
!-s
|
||||||
|
x = foo
|
||||||
|
x = * {
|
||||||
|
y = \$x
|
||||||
|
y = * {
|
||||||
|
continue z
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
expect <<EOF
|
||||||
|
s:8: cannot find "z"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
###############################################################################
|
Loading…
Reference in New Issue
Block a user