summaryrefslogtreecommitdiff
path: root/keama/tests
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2017-04-23 00:00:15 +0200
committerFrancis Dupont <fdupont@isc.org>2018-11-29 16:42:14 +0100
commitdac675e14791533a2854d6531228f3e0561a5a47 (patch)
tree665cd0654c1326951a8f5b501add7457a9171df3 /keama/tests
parentb9ba4dd232e5dbe39ed0b6773d6f2c2ab2b4397e (diff)
downloadisc-dhcp-dac675e14791533a2854d6531228f3e0561a5a47.tar.gz
Checkpoint (more tests)
Diffstat (limited to 'keama/tests')
-rw-r--r--keama/tests/badinclude.err3
-rw-r--r--keama/tests/badinclude.msg1
-rw-r--r--keama/tests/empty.msg2
-rw-r--r--keama/tests/failover.err4
-rw-r--r--keama/tests/failover.msg1
-rw-r--r--keama/tests/fixedaddressinroot4.err44
-rw-r--r--keama/tests/fixedaddressinroot4.msg1
-rw-r--r--keama/tests/fixedaddressinroot6.err64
-rw-r--r--keama/tests/fixedaddressinroot6.msg1
-rw-r--r--keama/tests/fixedprefixinroot.err64
-rw-r--r--keama/tests/fixedprefixinroot.msg1
-rw-r--r--keama/tests/groupinclass.err10
-rw-r--r--keama/tests/groupinclass.msg1
-rw-r--r--keama/tests/hardwareinroot.err5
-rw-r--r--keama/tests/hardwareinroot.msg1
-rw-r--r--keama/tests/hostinclass.err10
-rw-r--r--keama/tests/hostinclass.msg1
-rw-r--r--keama/tests/hostinhost.err11
-rw-r--r--keama/tests/hostinhost.msg1
-rw-r--r--keama/tests/minimal4.in42
-rw-r--r--keama/tests/minimal6.in62
-rw-r--r--keama/tests/noauth.err7
-rw-r--r--keama/tests/noauth.msg1
-rw-r--r--keama/tests/noinclude.err3
-rw-r--r--keama/tests/noinclude.msg1
-rw-r--r--keama/tests/orphan4.in413
-rw-r--r--keama/tests/orphan4.out28
-rw-r--r--keama/tests/orphan6.in613
-rw-r--r--keama/tests/orphan6.out26
-rw-r--r--keama/tests/poolinroot4.err47
-rw-r--r--keama/tests/poolinroot4.msg1
-rw-r--r--keama/tests/poolinroot6.err67
-rw-r--r--keama/tests/poolinroot6.msg1
-rw-r--r--keama/tests/prefixinroot6.err64
-rw-r--r--keama/tests/prefixinroot6.msg1
-rw-r--r--keama/tests/range6in4.err45
-rw-r--r--keama/tests/range6in4.msg1
-rw-r--r--keama/tests/rangeinroot4.err44
-rw-r--r--keama/tests/rangeinroot4.msg1
-rw-r--r--keama/tests/rangeinroot6.err65
-rw-r--r--keama/tests/rangeinroot6.msg1
-rw-r--r--keama/tests/runone.sh23
-rw-r--r--keama/tests/shareinclass.err11
-rw-r--r--keama/tests/shareinclass.msg1
-rw-r--r--keama/tests/shareinhost.err11
-rw-r--r--keama/tests/shareinhost.msg1
-rw-r--r--keama/tests/shareinshare.err10
-rw-r--r--keama/tests/shareinshare.msg1
-rw-r--r--keama/tests/shareinsubnet4.err410
-rw-r--r--keama/tests/shareinsubnet4.msg1
-rw-r--r--keama/tests/shareinsubnet6.err610
-rw-r--r--keama/tests/shareinsubnet6.msg1
-rw-r--r--keama/tests/subnet4inclass.err410
-rw-r--r--keama/tests/subnet4inclass.msg1
-rw-r--r--keama/tests/subnet4inhost.err411
-rw-r--r--keama/tests/subnet4inhost.msg1
-rw-r--r--keama/tests/subnet6inclass.err610
-rw-r--r--keama/tests/subnet6inclass.msg1
-rw-r--r--keama/tests/subnet6inhost.err611
-rw-r--r--keama/tests/subnet6inhost.msg1
-rw-r--r--keama/tests/subnetinsubnet4.err410
-rw-r--r--keama/tests/subnetinsubnet4.msg1
-rw-r--r--keama/tests/subnetinsubnet6.err610
-rw-r--r--keama/tests/subnetinsubnet6.msg1
-rw-r--r--keama/tests/unknownoption.err4
-rw-r--r--keama/tests/unknownoption.msg1
-rw-r--r--keama/tests/unknownspace.err4
-rw-r--r--keama/tests/unknownspace.msg1
68 files changed, 348 insertions, 10 deletions
diff --git a/keama/tests/badinclude.err b/keama/tests/badinclude.err
new file mode 100644
index 00000000..7ab310ff
--- /dev/null
+++ b/keama/tests/badinclude.err
@@ -0,0 +1,3 @@
+# bad include config
+
+include 192.168.0.1;
diff --git a/keama/tests/badinclude.msg b/keama/tests/badinclude.msg
new file mode 100644
index 00000000..e7ebf997
--- /dev/null
+++ b/keama/tests/badinclude.msg
@@ -0,0 +1 @@
+badinclude.err line 3: filename string expected.
diff --git a/keama/tests/empty.msg b/keama/tests/empty.msg
index 098ffb61..55209627 100644
--- a/keama/tests/empty.msg
+++ b/keama/tests/empty.msg
@@ -1 +1 @@
-tests/empty.err line 0: missing top level authoritative statement
+empty.err line 0: missing top level authoritative statement
diff --git a/keama/tests/failover.err b/keama/tests/failover.err
new file mode 100644
index 00000000..f625e62a
--- /dev/null
+++ b/keama/tests/failover.err
@@ -0,0 +1,4 @@
+# failover declaration config
+
+# failover declaration
+failover;
diff --git a/keama/tests/failover.msg b/keama/tests/failover.msg
new file mode 100644
index 00000000..c3642cad
--- /dev/null
+++ b/keama/tests/failover.msg
@@ -0,0 +1 @@
+failover.err line 0: No failover support.
diff --git a/keama/tests/fixedaddressinroot4.err4 b/keama/tests/fixedaddressinroot4.err4
new file mode 100644
index 00000000..f5d2480a
--- /dev/null
+++ b/keama/tests/fixedaddressinroot4.err4
@@ -0,0 +1,4 @@
+# DHCPv4 fixed address declaration in root config
+
+# DHCPv4 fixed address declaration must be in a host declaration
+fixed-address 204.152.185.133;
diff --git a/keama/tests/fixedaddressinroot4.msg b/keama/tests/fixedaddressinroot4.msg
new file mode 100644
index 00000000..fd0424a5
--- /dev/null
+++ b/keama/tests/fixedaddressinroot4.msg
@@ -0,0 +1 @@
+fixedaddressinroot4.err4 line 4: fixed-address parameter not allowed here.
diff --git a/keama/tests/fixedaddressinroot6.err6 b/keama/tests/fixedaddressinroot6.err6
new file mode 100644
index 00000000..f42854a7
--- /dev/null
+++ b/keama/tests/fixedaddressinroot6.err6
@@ -0,0 +1,4 @@
+# DHCPv6 fixed address declaration in root config
+
+# DHCPv6 fixed address declaration must be in a host declaration
+fixed-address6 2001::1;
diff --git a/keama/tests/fixedaddressinroot6.msg b/keama/tests/fixedaddressinroot6.msg
new file mode 100644
index 00000000..21da6d84
--- /dev/null
+++ b/keama/tests/fixedaddressinroot6.msg
@@ -0,0 +1 @@
+fixedaddressinroot6.err6 line 4: fixed-address parameter not allowed here.
diff --git a/keama/tests/fixedprefixinroot.err6 b/keama/tests/fixedprefixinroot.err6
new file mode 100644
index 00000000..7415aaf3
--- /dev/null
+++ b/keama/tests/fixedprefixinroot.err6
@@ -0,0 +1,4 @@
+# DHCPv6 fixed prefix declaration in root config
+
+# DHCPv6 fixed prefix declaration must be in a host declaration
+fixed-prefix6 2001:0:0:1/64;
diff --git a/keama/tests/fixedprefixinroot.msg b/keama/tests/fixedprefixinroot.msg
new file mode 100644
index 00000000..0b835acd
--- /dev/null
+++ b/keama/tests/fixedprefixinroot.msg
@@ -0,0 +1 @@
+fixedprefixinroot.err6 line 4: fixed-prefix6 declaration not allowed here.
diff --git a/keama/tests/groupinclass.err b/keama/tests/groupinclass.err
new file mode 100644
index 00000000..dbc320a4
--- /dev/null
+++ b/keama/tests/groupinclass.err
@@ -0,0 +1,10 @@
+# group declaration inside class declaration config
+
+# host declaration
+class "foobar" {
+ # can't put a group declaration here
+ group "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/groupinclass.msg b/keama/tests/groupinclass.msg
new file mode 100644
index 00000000..ee72c674
--- /dev/null
+++ b/keama/tests/groupinclass.msg
@@ -0,0 +1 @@
+groupinclass.err line 6: group declarations not allowed here.
diff --git a/keama/tests/hardwareinroot.err b/keama/tests/hardwareinroot.err
new file mode 100644
index 00000000..22902f20
--- /dev/null
+++ b/keama/tests/hardwareinroot.err
@@ -0,0 +1,5 @@
+# hardware declaration in root config
+
+# hardware declaration must be in a host declaration
+hardware ethernet 00:0B:FD:32:E6:FA;
+
diff --git a/keama/tests/hardwareinroot.msg b/keama/tests/hardwareinroot.msg
new file mode 100644
index 00000000..6cf018d0
--- /dev/null
+++ b/keama/tests/hardwareinroot.msg
@@ -0,0 +1 @@
+hardwareinroot.err line 4: hardware address parameter not allowed here.
diff --git a/keama/tests/hostinclass.err b/keama/tests/hostinclass.err
new file mode 100644
index 00000000..ce882582
--- /dev/null
+++ b/keama/tests/hostinclass.err
@@ -0,0 +1,10 @@
+# host declaration inside class declaration config
+
+# class declaration
+class "foobar" {
+ # can't put a host declaration here
+ host illegal {
+ hardware ethernet 00:07:0E:36:48:19;;
+ }
+}
+
diff --git a/keama/tests/hostinclass.msg b/keama/tests/hostinclass.msg
new file mode 100644
index 00000000..004446ba
--- /dev/null
+++ b/keama/tests/hostinclass.msg
@@ -0,0 +1 @@
+hostinclass.err line 6: host declarations not allowed here.
diff --git a/keama/tests/hostinhost.err b/keama/tests/hostinhost.err
new file mode 100644
index 00000000..2ac39e43
--- /dev/null
+++ b/keama/tests/hostinhost.err
@@ -0,0 +1,11 @@
+# host declaration inside host declaration config
+
+# host declaration
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ # can't put another host declaration here
+ host illegal {
+ hardware ethernet 00:07:0E:36:48:19;;
+ }
+}
+
diff --git a/keama/tests/hostinhost.msg b/keama/tests/hostinhost.msg
new file mode 100644
index 00000000..3ddfbd7a
--- /dev/null
+++ b/keama/tests/hostinhost.msg
@@ -0,0 +1 @@
+hostinhost.err line 7: host declarations not allowed here.
diff --git a/keama/tests/minimal4.in4 b/keama/tests/minimal4.in4
index c8c76f04..b7b4ae13 100644
--- a/keama/tests/minimal4.in4
+++ b/keama/tests/minimal4.in4
@@ -1,4 +1,4 @@
-# minimal config
+# DHCPv4 minimal config
# authoritative is mandatory
authoritative;
diff --git a/keama/tests/minimal6.in6 b/keama/tests/minimal6.in6
index c8c76f04..02f95274 100644
--- a/keama/tests/minimal6.in6
+++ b/keama/tests/minimal6.in6
@@ -1,4 +1,4 @@
-# minimal config
+# DHCPv6 minimal config
# authoritative is mandatory
authoritative;
diff --git a/keama/tests/noauth.err b/keama/tests/noauth.err
new file mode 100644
index 00000000..18276595
--- /dev/null
+++ b/keama/tests/noauth.err
@@ -0,0 +1,7 @@
+# no(t) authoritative config
+
+# authoritative is mandatory
+#authoritative;
+
+# empty configs are not accepted by Kea
+default-lease-time 1800;
diff --git a/keama/tests/noauth.msg b/keama/tests/noauth.msg
new file mode 100644
index 00000000..5556e8db
--- /dev/null
+++ b/keama/tests/noauth.msg
@@ -0,0 +1 @@
+noauth.err line 7: missing top level authoritative statement
diff --git a/keama/tests/noinclude.err b/keama/tests/noinclude.err
new file mode 100644
index 00000000..f39f388b
--- /dev/null
+++ b/keama/tests/noinclude.err
@@ -0,0 +1,3 @@
+# no file include config
+
+include "do-not-exist";
diff --git a/keama/tests/noinclude.msg b/keama/tests/noinclude.msg
new file mode 100644
index 00000000..91b2284b
--- /dev/null
+++ b/keama/tests/noinclude.msg
@@ -0,0 +1 @@
+noinclude.err line 3: Can't open do-not-exist: No such file or directory
diff --git a/keama/tests/orphan4.in4 b/keama/tests/orphan4.in4
new file mode 100644
index 00000000..fc9ecfcf
--- /dev/null
+++ b/keama/tests/orphan4.in4
@@ -0,0 +1,13 @@
+# DHCPv4 orphan reservation config
+
+# authoritative is mandatory
+authoritative;
+
+# empty configs are not accepted by Kea
+default-lease-time 1800;
+
+# orphan reservation
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ option ip-forwarding off;
+}
diff --git a/keama/tests/orphan4.out b/keama/tests/orphan4.out
new file mode 100644
index 00000000..b1d2d181
--- /dev/null
+++ b/keama/tests/orphan4.out
@@ -0,0 +1,28 @@
+{
+ "Dhcp4": {
+ "valid-lifetime": 1800,
+ "host-reservation-identifiers": [
+ "hw-address"
+ ]
+// /// Orphan reservations
+// /// Kea reservations are per subnet
+// /// Reference Kea #5246
+// "reservations": [
+// # orphan reservation
+// {
+// "hostname": "foobar",
+// "hw-address": "00:0b:fd:32:e6:fa",
+// "option-data": [
+// {
+// "space": "dhcp4",
+// "name": "ip-forwarding",
+// "code": 19,
+// "original-data": "off",
+// /// canonized booleans to lowercase true or false
+// "data": "false"
+// }
+// ]
+// }
+// ]
+ }
+}
diff --git a/keama/tests/orphan6.in6 b/keama/tests/orphan6.in6
new file mode 100644
index 00000000..711bb73d
--- /dev/null
+++ b/keama/tests/orphan6.in6
@@ -0,0 +1,13 @@
+# DHCPv6 orphan reservation config
+
+# authoritative is mandatory
+authoritative;
+
+# empty configs are not accepted by Kea
+default-lease-time 1800;
+
+# orphan reservation
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ option dhcp6.domain-search 2a01:e00::2, 2a01:e00::1;
+}
diff --git a/keama/tests/orphan6.out b/keama/tests/orphan6.out
new file mode 100644
index 00000000..cf70d0c1
--- /dev/null
+++ b/keama/tests/orphan6.out
@@ -0,0 +1,26 @@
+{
+ "Dhcp6": {
+ "valid-lifetime": 1800,
+ "host-reservation-identifiers": [
+ "hw-address"
+ ]
+// /// Orphan reservations
+// /// Kea reservations are per subnet
+// /// Reference Kea #5246
+// "reservations": [
+// # orphan reservation
+// {
+// "hostname": "foobar",
+// "hw-address": "00:0b:fd:32:e6:fa",
+// "option-data": [
+// {
+// "space": "dhcp6",
+// "name": "domain-search",
+// "code": 24,
+// "data": "2a01:e00::2, 2a01:e00::1"
+// }
+// ]
+// }
+// ]
+ }
+}
diff --git a/keama/tests/poolinroot4.err4 b/keama/tests/poolinroot4.err4
new file mode 100644
index 00000000..6caa6d47
--- /dev/null
+++ b/keama/tests/poolinroot4.err4
@@ -0,0 +1,7 @@
+# DHCPv4 pool declaration in root config
+
+# DHCPv4 pool declaration must be in a shared-network or subnet declaration
+pool {
+ range 204.152.185.135 204.152.185.185;
+}
+
diff --git a/keama/tests/poolinroot4.msg b/keama/tests/poolinroot4.msg
new file mode 100644
index 00000000..845744fd
--- /dev/null
+++ b/keama/tests/poolinroot4.msg
@@ -0,0 +1 @@
+poolinroot4.err4 line 4: pool declared outside of network
diff --git a/keama/tests/poolinroot6.err6 b/keama/tests/poolinroot6.err6
new file mode 100644
index 00000000..6605f086
--- /dev/null
+++ b/keama/tests/poolinroot6.err6
@@ -0,0 +1,7 @@
+# DHCPv6 pool declaration in root config
+
+# DHCPv6 pool declaration must be in a shared-network or subnet declaration
+pool6 {
+ range6 2001::/64;
+}
+
diff --git a/keama/tests/poolinroot6.msg b/keama/tests/poolinroot6.msg
new file mode 100644
index 00000000..5f48f13d
--- /dev/null
+++ b/keama/tests/poolinroot6.msg
@@ -0,0 +1 @@
+poolinroot6.err6 line 4: pool6 declared outside of network
diff --git a/keama/tests/prefixinroot6.err6 b/keama/tests/prefixinroot6.err6
new file mode 100644
index 00000000..f1fd4a1e
--- /dev/null
+++ b/keama/tests/prefixinroot6.err6
@@ -0,0 +1,4 @@
+# DHCPv6 prefix declaration in root config
+
+# DHCPv6 prefix declaration must be in a subnet declaration
+prefix6 2001:: 2001:0:1:: / 64;
diff --git a/keama/tests/prefixinroot6.msg b/keama/tests/prefixinroot6.msg
new file mode 100644
index 00000000..8aa498f4
--- /dev/null
+++ b/keama/tests/prefixinroot6.msg
@@ -0,0 +1 @@
+prefixinroot6.err6 line 4: prefix6 declaration not allowed here.
diff --git a/keama/tests/range6in4.err4 b/keama/tests/range6in4.err4
new file mode 100644
index 00000000..af3630c0
--- /dev/null
+++ b/keama/tests/range6in4.err4
@@ -0,0 +1,5 @@
+# DHCPv6 pool declaration in DHCPv4 config
+
+# DHCPv6 pool declaration must be in DHCPv6 config
+range6 2001::/64;
+
diff --git a/keama/tests/range6in4.msg b/keama/tests/range6in4.msg
new file mode 100644
index 00000000..d27a8452
--- /dev/null
+++ b/keama/tests/range6in4.msg
@@ -0,0 +1 @@
+range6in4.err4 line 4: expecting a parameter or declaration
diff --git a/keama/tests/rangeinroot4.err4 b/keama/tests/rangeinroot4.err4
new file mode 100644
index 00000000..7a3d36f9
--- /dev/null
+++ b/keama/tests/rangeinroot4.err4
@@ -0,0 +1,4 @@
+# DHCPv4 range declaration in root config
+
+# DHCPv4 range declaration must be in a subnet declaration
+range 204.152.185.135 204.152.185.185;
diff --git a/keama/tests/rangeinroot4.msg b/keama/tests/rangeinroot4.msg
new file mode 100644
index 00000000..4ed397e4
--- /dev/null
+++ b/keama/tests/rangeinroot4.msg
@@ -0,0 +1 @@
+rangeinroot4.err4 line 4: range declaration not allowed here.
diff --git a/keama/tests/rangeinroot6.err6 b/keama/tests/rangeinroot6.err6
new file mode 100644
index 00000000..e8c5c65e
--- /dev/null
+++ b/keama/tests/rangeinroot6.err6
@@ -0,0 +1,5 @@
+# DHCPv6 range declaration in root config
+
+# DHCPv6 range declaration must be in a subnet declaration
+range6 2001::/64;
+
diff --git a/keama/tests/rangeinroot6.msg b/keama/tests/rangeinroot6.msg
new file mode 100644
index 00000000..969fe658
--- /dev/null
+++ b/keama/tests/rangeinroot6.msg
@@ -0,0 +1 @@
+rangeinroot6.err6 line 4: range6 declaration not allowed here.
diff --git a/keama/tests/runone.sh b/keama/tests/runone.sh
index c6b0bcd9..30b499c8 100644
--- a/keama/tests/runone.sh
+++ b/keama/tests/runone.sh
@@ -60,7 +60,7 @@ fi
out=/tmp/$base.out$$
expected=""
-if [ $errcase ]; then
+if [ $errcase -ne 0 ]; then
expected=$base.msg
else
expected=$base.out
@@ -68,18 +68,18 @@ fi
if [ $errcase -ne 0 ]; then
if [ $dual -eq 1 ]; then
- ../keama -4 -i $full 2> $out > /dev/null
+ ../keama -4 -i $full >& $out
if [ $? -ne 255 ]; then
echo "$full -4 doesn't fail as expected" >&2
exit 1
fi
- ../keama -6 -i $full 2> $out > /dev/null
+ ../keama -6 -i $full >& $out
if [ $? -ne 255 ]; then
echo "$full -6 doesn't fail as expected" >&2
exit 1
fi
else
- ../keama $options -i $full 2> $out > /dev/null
+ ../keama $options -i $full >& $out
if [ $? -ne 255 ]; then
echo "$full doesn't fail as expected" >&2
exit 1
@@ -93,7 +93,16 @@ else
fi
fi
-if `cmp -s $out $expected`; then
- echo "$full not expected output" >&2
- exit 1
+if [ $errcase -ne 0 ]; then
+ cat $out | head -1 | diff --brief - $expected
+ if [ $? -ne 0 ]; then
+ echo "$full doesn't provide expected output" >&2
+ exit 1
+ fi
+else
+ diff --brief $out $expected
+ if [ $? -ne 0 ]; then
+ echo "$full doesn't provide expected output" >&2
+ exit 1
+ fi
fi
diff --git a/keama/tests/shareinclass.err b/keama/tests/shareinclass.err
new file mode 100644
index 00000000..d68e724e
--- /dev/null
+++ b/keama/tests/shareinclass.err
@@ -0,0 +1,11 @@
+# shared-network declaration inside class declaration config
+
+# class declaration
+class "foobar" {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ # can't put a shared-network declaration here
+ shared-network "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/shareinclass.msg b/keama/tests/shareinclass.msg
new file mode 100644
index 00000000..656898c2
--- /dev/null
+++ b/keama/tests/shareinclass.msg
@@ -0,0 +1 @@
+shareinclass.err line 5: hardware address parameter not allowed here.
diff --git a/keama/tests/shareinhost.err b/keama/tests/shareinhost.err
new file mode 100644
index 00000000..93b049c7
--- /dev/null
+++ b/keama/tests/shareinhost.err
@@ -0,0 +1,11 @@
+# shared-network declaration inside host declaration config
+
+# host declaration
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ # can't put a shared-network declaration here
+ shared-network "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/shareinhost.msg b/keama/tests/shareinhost.msg
new file mode 100644
index 00000000..22da166d
--- /dev/null
+++ b/keama/tests/shareinhost.msg
@@ -0,0 +1 @@
+shareinhost.err line 7: shared-network parameters not allowed here.
diff --git a/keama/tests/shareinshare.err b/keama/tests/shareinshare.err
new file mode 100644
index 00000000..68750613
--- /dev/null
+++ b/keama/tests/shareinshare.err
@@ -0,0 +1,10 @@
+# shared-network declaration inside shared-network declaration config
+
+# shared-network declaration
+shared-network "foobar" {
+ # can't put another shared-network declaration here
+ shared-network "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/shareinshare.msg b/keama/tests/shareinshare.msg
new file mode 100644
index 00000000..a2579e8e
--- /dev/null
+++ b/keama/tests/shareinshare.msg
@@ -0,0 +1 @@
+shareinshare.err line 6: shared-network parameters not allowed here.
diff --git a/keama/tests/shareinsubnet4.err4 b/keama/tests/shareinsubnet4.err4
new file mode 100644
index 00000000..ecc0d080
--- /dev/null
+++ b/keama/tests/shareinsubnet4.err4
@@ -0,0 +1,10 @@
+# shared-network declaration inside DHCPv4 subnet declaration config
+
+# subnet declaration
+subnet 10.5.5.0 netmask 255.255.255.224 {
+ # can't put a shared-network declaration here
+ shared-network "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/shareinsubnet4.msg b/keama/tests/shareinsubnet4.msg
new file mode 100644
index 00000000..c332da87
--- /dev/null
+++ b/keama/tests/shareinsubnet4.msg
@@ -0,0 +1 @@
+shareinsubnet4.err4 line 6: shared-network parameters not allowed here.
diff --git a/keama/tests/shareinsubnet6.err6 b/keama/tests/shareinsubnet6.err6
new file mode 100644
index 00000000..fec6f6d2
--- /dev/null
+++ b/keama/tests/shareinsubnet6.err6
@@ -0,0 +1,10 @@
+# shared-network declaration inside DHCPv6 subnet declaration config
+
+# subnet declaration
+subnet6 2001::/64 {
+ # can't put a shared-network declaration here
+ shared-network "illegal" {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/shareinsubnet6.msg b/keama/tests/shareinsubnet6.msg
new file mode 100644
index 00000000..640e5323
--- /dev/null
+++ b/keama/tests/shareinsubnet6.msg
@@ -0,0 +1 @@
+shareinsubnet6.err6 line 6: shared-network parameters not allowed here.
diff --git a/keama/tests/subnet4inclass.err4 b/keama/tests/subnet4inclass.err4
new file mode 100644
index 00000000..51ede4b0
--- /dev/null
+++ b/keama/tests/subnet4inclass.err4
@@ -0,0 +1,10 @@
+# DHCPv4 subnet declaration inside class declaration config
+
+# class declaration
+class "foobar" {
+ # can't put a DHCPv4 subnet declaration here
+ subnet 10.5.5.0 netmask 255.255.255.224 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnet4inclass.msg b/keama/tests/subnet4inclass.msg
new file mode 100644
index 00000000..eabc9e47
--- /dev/null
+++ b/keama/tests/subnet4inclass.msg
@@ -0,0 +1 @@
+subnet4inclass.err4 line 6: subnet declarations not allowed here.
diff --git a/keama/tests/subnet4inhost.err4 b/keama/tests/subnet4inhost.err4
new file mode 100644
index 00000000..266e6dc3
--- /dev/null
+++ b/keama/tests/subnet4inhost.err4
@@ -0,0 +1,11 @@
+# DHCPv4 subnet declaration inside host declaration config
+
+# host declaration
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ # can't put a DHCPv4 subnet declaration here
+ subnet 10.5.5.0 netmask 255.255.255.224 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnet4inhost.msg b/keama/tests/subnet4inhost.msg
new file mode 100644
index 00000000..49e7d18d
--- /dev/null
+++ b/keama/tests/subnet4inhost.msg
@@ -0,0 +1 @@
+subnet4inhost.err4 line 7: subnet declarations not allowed here.
diff --git a/keama/tests/subnet6inclass.err6 b/keama/tests/subnet6inclass.err6
new file mode 100644
index 00000000..52368cd8
--- /dev/null
+++ b/keama/tests/subnet6inclass.err6
@@ -0,0 +1,10 @@
+# DHCPv6 subnet declaration inside class declaration config
+
+# class declaration
+class "foobar" {
+ # can't put a DHCPv6 subnet declaration here
+ subnet6 2001::/64 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnet6inclass.msg b/keama/tests/subnet6inclass.msg
new file mode 100644
index 00000000..e7360029
--- /dev/null
+++ b/keama/tests/subnet6inclass.msg
@@ -0,0 +1 @@
+subnet6inclass.err6 line 6: subnet declarations not allowed here.
diff --git a/keama/tests/subnet6inhost.err6 b/keama/tests/subnet6inhost.err6
new file mode 100644
index 00000000..914decd6
--- /dev/null
+++ b/keama/tests/subnet6inhost.err6
@@ -0,0 +1,11 @@
+# DHCPv6 subnet declaration inside host declaration config
+
+# host declaration
+host foobar {
+ hardware ethernet 00:0B:FD:32:E6:FA;
+ # can't put a DHCPv6 subnet declaration here
+ subnet6 2001::/64 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnet6inhost.msg b/keama/tests/subnet6inhost.msg
new file mode 100644
index 00000000..bd49b89f
--- /dev/null
+++ b/keama/tests/subnet6inhost.msg
@@ -0,0 +1 @@
+subnet6inhost.err6 line 7: subnet declarations not allowed here.
diff --git a/keama/tests/subnetinsubnet4.err4 b/keama/tests/subnetinsubnet4.err4
new file mode 100644
index 00000000..c326c16d
--- /dev/null
+++ b/keama/tests/subnetinsubnet4.err4
@@ -0,0 +1,10 @@
+# DHCPv4 subnet declaration inside another subnet declaration config
+
+# DHCPv4 subnet declaration
+subnet 10.254.239.32 netmask 255.255.255.224 {
+ # can't put another subnet declaration here
+ subnet 10.5.5.0 netmask 255.255.255.224 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnetinsubnet4.msg b/keama/tests/subnetinsubnet4.msg
new file mode 100644
index 00000000..710cffa7
--- /dev/null
+++ b/keama/tests/subnetinsubnet4.msg
@@ -0,0 +1 @@
+subnetinsubnet4.err4 line 6: subnet declarations not allowed here.
diff --git a/keama/tests/subnetinsubnet6.err6 b/keama/tests/subnetinsubnet6.err6
new file mode 100644
index 00000000..ac9a6097
--- /dev/null
+++ b/keama/tests/subnetinsubnet6.err6
@@ -0,0 +1,10 @@
+# DHCPv6 subnet declaration inside another subnet declaration config
+
+# DHCPv6 subnet declaration
+subnet6 2001:2::/64 {
+ # can't put another subnet declaration here
+ subnet6 2001::/64 {
+ default-lease-time 1800;
+ }
+}
+
diff --git a/keama/tests/subnetinsubnet6.msg b/keama/tests/subnetinsubnet6.msg
new file mode 100644
index 00000000..27f8f3fa
--- /dev/null
+++ b/keama/tests/subnetinsubnet6.msg
@@ -0,0 +1 @@
+subnetinsubnet6.err6 line 6: subnet declarations not allowed here.
diff --git a/keama/tests/unknownoption.err b/keama/tests/unknownoption.err
new file mode 100644
index 00000000..ce4aacbb
--- /dev/null
+++ b/keama/tests/unknownoption.err
@@ -0,0 +1,4 @@
+# unknown option config
+
+# unknown option
+option this-option-does-not-exist off;
diff --git a/keama/tests/unknownoption.msg b/keama/tests/unknownoption.msg
new file mode 100644
index 00000000..0fb2f1e9
--- /dev/null
+++ b/keama/tests/unknownoption.msg
@@ -0,0 +1 @@
+unknownoption.err line 4: unknown option dhcp.this-option-does-not-exist
diff --git a/keama/tests/unknownspace.err b/keama/tests/unknownspace.err
new file mode 100644
index 00000000..29d695cb
--- /dev/null
+++ b/keama/tests/unknownspace.err
@@ -0,0 +1,4 @@
+# unknown option config
+
+# unknown option
+option this-space-does-not-exist.domain-search example.com;
diff --git a/keama/tests/unknownspace.msg b/keama/tests/unknownspace.msg
new file mode 100644
index 00000000..f6e378af
--- /dev/null
+++ b/keama/tests/unknownspace.msg
@@ -0,0 +1 @@
+unknownspace.err line 4: no option space named this-space-does-not-exist.