Add more test coverage for config file parsing

minimal.conf is a valid config file added to make it obvious why
the new invalid config files are invalid.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=107739
This commit is contained in:
Simon McVittie 2018-08-17 17:02:45 +01:00
parent ea0275aaea
commit 64a6366027
24 changed files with 122 additions and 0 deletions

View file

@ -500,15 +500,36 @@ static_data = \
data/equiv-config-files/entities/basic.d/basic.conf \
data/equiv-config-files/entities/entities-1.conf \
data/equiv-config-files/entities/entities-2.conf \
data/invalid-config-files/apparmor-bad-attribute.conf \
data/invalid-config-files/apparmor-bad-mode.conf \
data/invalid-config-files/bad-attribute.conf \
data/invalid-config-files/bad-attribute-2.conf \
data/invalid-config-files/bad-element.conf \
data/invalid-config-files/bad-limit.conf \
data/invalid-config-files/badselinux-1.conf \
data/invalid-config-files/badselinux-2.conf \
data/invalid-config-files/circular-1.conf \
data/invalid-config-files/circular-2.conf \
data/invalid-config-files/circular-3.conf \
data/invalid-config-files/double-attribute.conf \
data/invalid-config-files/impossible-send.conf \
data/invalid-config-files/limit-no-name.conf \
data/invalid-config-files/ludicrous-limit.conf \
data/invalid-config-files/negative-limit.conf \
data/invalid-config-files/non-numeric-limit.conf \
data/invalid-config-files/not-well-formed.conf \
data/invalid-config-files/policy-bad-at-console.conf \
data/invalid-config-files/policy-bad-attribute.conf \
data/invalid-config-files/policy-bad-context.conf \
data/invalid-config-files/policy-bad-rule-attribute.conf \
data/invalid-config-files/policy-contradiction.conf \
data/invalid-config-files/policy-member-no-path.conf \
data/invalid-config-files/policy-mixed.conf \
data/invalid-config-files/policy-no-attributes.conf \
data/invalid-config-files/policy-no-rule-attribute.conf \
data/invalid-config-files/truncated-file.conf \
data/invalid-config-files/send-and-receive.conf \
data/invalid-config-files/unknown-limit.conf \
data/invalid-messages/boolean-has-no-value.message-raw \
data/sha-1/Readme.txt \
data/sha-1/bit-hashes.sha1 \
@ -527,6 +548,7 @@ static_data = \
data/valid-config-files/entities.conf \
data/valid-config-files/listen-unix-runtime.conf \
data/valid-config-files/many-rules.conf \
data/valid-config-files/minimal.conf \
data/valid-config-files/standard-session-dirs.conf \
data/valid-config-files-system/many-rules.conf \
data/valid-config-files-system/system.d/test.conf \

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<apparmor enforcement_style="Judge Dredd"/>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<apparmor mode="plaintive"/>
</busconfig>

View file

@ -0,0 +1,3 @@
<busconfig>
<listen carefully="yes">tcp:port=1234</listen>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit wildebeest="gnu">5000</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<bees/>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit name="max_names_per_connection">as many as you like</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit name="max_incoming_bytes" name="max_incoming_bytes">5000</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit/>
</busconfig>

View file

@ -0,0 +1,5 @@
<busconfig>
<listen>tcp:port=1234</listen>
<!-- Chosen to be out-of-range for int, but not long (on 64-bit) -->
<limit name="max_names_per_connection">3123123123</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit name="max_names_per_connection">-1</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit name="max_names_per_connection">bees</limit>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy at_console="somewhere in the vicinity"/>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy hat="top"/>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy context="apropos of nothing"/>
</busconfig>

View file

@ -0,0 +1,6 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy context="default">
<allow species="stoat"/>
</policy>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy user="root" at_console="true"/>
</busconfig>

View file

@ -0,0 +1,6 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy context="default">
<deny send_member="Reboot"/>
</policy>
</busconfig>

View file

@ -0,0 +1,6 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy context="default">
<allow user="*" own="com.example.Bees"/>
</policy>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy/>
</busconfig>

View file

@ -0,0 +1,6 @@
<busconfig>
<listen>tcp:port=1234</listen>
<policy context="default">
<allow/>
</policy>
</busconfig>

View file

@ -0,0 +1,4 @@
<busconfig>
<listen>tcp:port=1234</listen>
<limit name="max_bees">5000</limit>
</busconfig>

View file

@ -26,6 +26,7 @@
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo"/>
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo" send_type="method_call"/>
</policy>
<apparmor mode="enabled"/>
<policy context="mandatory">
<allow user="*"/>
@ -46,6 +47,10 @@
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo" send_type="method_call"/>
</policy>
<policy group="bin"/>
<policy at_console="true"/>
<policy at_console="false"/>
<limit name="max_incoming_bytes">5000</limit>
<limit name="max_outgoing_bytes">5000</limit>
<limit name="max_message_size">300</limit>

View file

@ -0,0 +1,3 @@
<busconfig>
<listen>tcp:port=1234</listen>
</busconfig>