[apparmor] [PATCH 6/6] parser: Add mount option parsing tests
John Johansen
john.johansen at canonical.com
Fri Dec 12 11:22:08 UTC 2014
On 12/11/2014 04:49 PM, Tyler Hicks wrote:
> This patch creates expected pass tests for all known mount options as
> well as expected fail tests for some known bad mount options.
>
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
Acked-by: John Johansen <john.johansen at canonical.com>
> ---
> parser/tst/simple_tests/mount/bad_opt_1.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_10.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_11.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_12.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_13.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_14.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_15.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_16.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_17.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_18.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_19.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_2.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_20.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_21.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_22.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_23.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_24.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_3.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_4.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_5.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_6.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_7.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_8.sd | 6 ++++++
> parser/tst/simple_tests/mount/bad_opt_9.sd | 6 ++++++
> parser/tst/simple_tests/mount/ok_opt_1.sd | 8 ++++++++
> parser/tst/simple_tests/mount/ok_opt_10.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_11.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_12.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_13.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_14.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_15.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_16.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_17.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_18.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_19.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_2.sd | 8 ++++++++
> parser/tst/simple_tests/mount/ok_opt_20.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_21.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_22.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_23.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_24.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_25.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_26.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_27.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_28.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_29.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_3.sd | 8 ++++++++
> parser/tst/simple_tests/mount/ok_opt_30.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_31.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_32.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_33.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_34.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_35.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_36.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_37.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_38.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_39.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_4.sd | 8 ++++++++
> parser/tst/simple_tests/mount/ok_opt_40.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_41.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_42.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_43.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_44.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_45.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_46.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_47.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_48.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_49.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_5.sd | 8 ++++++++
> parser/tst/simple_tests/mount/ok_opt_50.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_51.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_52.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_53.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_54.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_55.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_6.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_7.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_8.sd | 10 ++++++++++
> parser/tst/simple_tests/mount/ok_opt_9.sd | 10 ++++++++++
> 79 files changed, 684 insertions(+)
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_1.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_10.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_11.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_12.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_13.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_14.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_15.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_16.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_17.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_18.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_19.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_2.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_20.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_21.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_22.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_23.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_24.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_3.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_4.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_5.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_6.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_7.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_8.sd
> create mode 100644 parser/tst/simple_tests/mount/bad_opt_9.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_1.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_10.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_11.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_12.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_13.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_14.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_15.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_16.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_17.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_18.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_19.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_2.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_20.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_21.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_22.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_23.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_24.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_25.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_26.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_27.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_28.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_29.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_3.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_30.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_31.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_32.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_33.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_34.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_35.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_36.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_37.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_38.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_39.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_4.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_40.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_41.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_42.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_43.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_44.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_45.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_46.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_47.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_48.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_49.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_5.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_50.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_51.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_52.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_53.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_54.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_55.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_6.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_7.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_8.sd
> create mode 100644 parser/tst/simple_tests/mount/ok_opt_9.sd
>
> diff --git a/parser/tst/simple_tests/mount/bad_opt_1.sd b/parser/tst/simple_tests/mount/bad_opt_1.sd
> new file mode 100644
> index 0000000..f53a4da
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_1.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "XXX" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(XXX) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_10.sd b/parser/tst/simple_tests/mount/bad_opt_10.sd
> new file mode 100644
> index 0000000..52209a2
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_10.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "private" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(private) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_11.sd b/parser/tst/simple_tests/mount/bad_opt_11.sd
> new file mode 100644
> index 0000000..e2d9250
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_11.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "slave" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(slave) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_12.sd b/parser/tst/simple_tests/mount/bad_opt_12.sd
> new file mode 100644
> index 0000000..38e3df0
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_12.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "shared" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(shared) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_13.sd b/parser/tst/simple_tests/mount/bad_opt_13.sd
> new file mode 100644
> index 0000000..89db17b
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_13.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "runbindable" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(runbindable) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_14.sd b/parser/tst/simple_tests/mount/bad_opt_14.sd
> new file mode 100644
> index 0000000..ada7050
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_14.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "rprivate" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(rprivate) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_15.sd b/parser/tst/simple_tests/mount/bad_opt_15.sd
> new file mode 100644
> index 0000000..aae40b2
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_15.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "rslave" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(rslave) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_16.sd b/parser/tst/simple_tests/mount/bad_opt_16.sd
> new file mode 100644
> index 0000000..2bcf02b
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_16.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "rshared" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(rshared) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_17.sd b/parser/tst/simple_tests/mount/bad_opt_17.sd
> new file mode 100644
> index 0000000..825cb12
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_17.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-unbindable" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-unbindable) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_18.sd b/parser/tst/simple_tests/mount/bad_opt_18.sd
> new file mode 100644
> index 0000000..2bc2d40
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_18.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-private" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-private) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_19.sd b/parser/tst/simple_tests/mount/bad_opt_19.sd
> new file mode 100644
> index 0000000..779b8fe
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_19.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-slave" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-slave) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_2.sd b/parser/tst/simple_tests/mount/bad_opt_2.sd
> new file mode 100644
> index 0000000..d2f10ed
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_2.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "suidXXX" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(suidXXX) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_20.sd b/parser/tst/simple_tests/mount/bad_opt_20.sd
> new file mode 100644
> index 0000000..f9ec745
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_20.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-shared" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-shared) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_21.sd b/parser/tst/simple_tests/mount/bad_opt_21.sd
> new file mode 100644
> index 0000000..9c41ce6
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_21.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-runbindable" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-runbindable) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_22.sd b/parser/tst/simple_tests/mount/bad_opt_22.sd
> new file mode 100644
> index 0000000..80b1e02
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_22.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-rprivate" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-rprivate) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_23.sd b/parser/tst/simple_tests/mount/bad_opt_23.sd
> new file mode 100644
> index 0000000..513f432
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_23.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-rslave" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-rslave) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_24.sd b/parser/tst/simple_tests/mount/bad_opt_24.sd
> new file mode 100644
> index 0000000..7f9d405
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_24.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "make-rshared" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(make-rshared) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_3.sd b/parser/tst/simple_tests/mount/bad_opt_3.sd
> new file mode 100644
> index 0000000..bb52c02
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_3.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "load" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(load) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_4.sd b/parser/tst/simple_tests/mount/bad_opt_4.sd
> new file mode 100644
> index 0000000..aefa1de
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_4.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "rec" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(rec) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_5.sd b/parser/tst/simple_tests/mount/bad_opt_5.sd
> new file mode 100644
> index 0000000..38f4ef2
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_5.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "relative" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(relative) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_6.sd b/parser/tst/simple_tests/mount/bad_opt_6.sd
> new file mode 100644
> index 0000000..a001457
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_6.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "norelative" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(norelative) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_7.sd b/parser/tst/simple_tests/mount/bad_opt_7.sd
> new file mode 100644
> index 0000000..51d2e7e
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_7.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the invalid "nodirsync" mount option
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(nodirsync) /a -> /1,
> +}
> diff --git a/parser/tst/simple_tests/mount/bad_opt_8.sd b/parser/tst/simple_tests/mount/bad_opt_8.sd
> new file mode 100644
> index 0000000..5a11438
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_8.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "remount" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(remount) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/bad_opt_9.sd b/parser/tst/simple_tests/mount/bad_opt_9.sd
> new file mode 100644
> index 0000000..a2592fd
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/bad_opt_9.sd
> @@ -0,0 +1,6 @@
> +#
> +#=Description basic rule to test the valid "unbindable" mount opt and an invalid src
> +#=EXRESULT FAIL
> +/usr/bin/foo {
> + mount options=(unbindable) /a -> /1,
> + }
> diff --git a/parser/tst/simple_tests/mount/ok_opt_1.sd b/parser/tst/simple_tests/mount/ok_opt_1.sd
> new file mode 100644
> index 0000000..76cf26e
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_1.sd
> @@ -0,0 +1,8 @@
> +#
> +#=Description basic rules to test the "ro" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=ro /a -> /1,
> + mount options=(ro) /b -> /2,
> + mount options in (ro) /d -> /4,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_10.sd b/parser/tst/simple_tests/mount/ok_opt_10.sd
> new file mode 100644
> index 0000000..0f1cdec
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_10.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "noexec" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=noexec /a -> /1,
> + mount options=(noexec) /b -> /2,
> + mount options=(rw,noexec) /c -> /3,
> + mount options in (noexec) /d -> /4,
> + mount options in (ro,noexec) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_11.sd b/parser/tst/simple_tests/mount/ok_opt_11.sd
> new file mode 100644
> index 0000000..81dd40a
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_11.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "exec" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=exec /a -> /1,
> + mount options=(exec) /b -> /2,
> + mount options=(rw,exec) /c -> /3,
> + mount options in (exec) /d -> /4,
> + mount options in (ro,exec) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_12.sd b/parser/tst/simple_tests/mount/ok_opt_12.sd
> new file mode 100644
> index 0000000..3df00be
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_12.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "sync" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=sync /a -> /1,
> + mount options=(sync) /b -> /2,
> + mount options=(rw,sync) /c -> /3,
> + mount options in (sync) /d -> /4,
> + mount options in (ro,sync) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_13.sd b/parser/tst/simple_tests/mount/ok_opt_13.sd
> new file mode 100644
> index 0000000..526be83
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_13.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "async" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=async /a -> /1,
> + mount options=(async) /b -> /2,
> + mount options=(rw,async) /c -> /3,
> + mount options in (async) /d -> /4,
> + mount options in (ro,async) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_14.sd b/parser/tst/simple_tests/mount/ok_opt_14.sd
> new file mode 100644
> index 0000000..824beb9
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_14.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "mand" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=mand /a -> /1,
> + mount options=(mand) /b -> /2,
> + mount options=(rw,mand) /c -> /3,
> + mount options in (mand) /d -> /4,
> + mount options in (ro,mand) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_15.sd b/parser/tst/simple_tests/mount/ok_opt_15.sd
> new file mode 100644
> index 0000000..c8fafe9
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_15.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "nomand" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=nomand /a -> /1,
> + mount options=(nomand) /b -> /2,
> + mount options=(rw,nomand) /c -> /3,
> + mount options in (nomand) /d -> /4,
> + mount options in (ro,nomand) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_16.sd b/parser/tst/simple_tests/mount/ok_opt_16.sd
> new file mode 100644
> index 0000000..eeea77c
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_16.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "dirsync" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=dirsync /a -> /1,
> + mount options=(dirsync) /b -> /2,
> + mount options=(rw,dirsync) /c -> /3,
> + mount options in (dirsync) /d -> /4,
> + mount options in (ro,dirsync) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_17.sd b/parser/tst/simple_tests/mount/ok_opt_17.sd
> new file mode 100644
> index 0000000..dc417a5
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_17.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "noatime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=noatime /a -> /1,
> + mount options=(noatime) /b -> /2,
> + mount options=(rw,noatime) /c -> /3,
> + mount options in (noatime) /d -> /4,
> + mount options in (ro,noatime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_18.sd b/parser/tst/simple_tests/mount/ok_opt_18.sd
> new file mode 100644
> index 0000000..3447e3e
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_18.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "atime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=atime /a -> /1,
> + mount options=(atime) /b -> /2,
> + mount options=(rw,atime) /c -> /3,
> + mount options in (atime) /d -> /4,
> + mount options in (ro,atime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_19.sd b/parser/tst/simple_tests/mount/ok_opt_19.sd
> new file mode 100644
> index 0000000..5bd811a
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_19.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "nodiratime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=nodiratime /a -> /1,
> + mount options=(nodiratime) /b -> /2,
> + mount options=(rw,nodiratime) /c -> /3,
> + mount options in (nodiratime) /d -> /4,
> + mount options in (ro,nodiratime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_2.sd b/parser/tst/simple_tests/mount/ok_opt_2.sd
> new file mode 100644
> index 0000000..43eec22
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_2.sd
> @@ -0,0 +1,8 @@
> +#
> +#=Description basic rules to test the "r" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=r /a -> /1,
> + mount options=(r) /b -> /2,
> + mount options in (r) /d -> /4,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_20.sd b/parser/tst/simple_tests/mount/ok_opt_20.sd
> new file mode 100644
> index 0000000..09fbe7f
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_20.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "diratime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=diratime /a -> /1,
> + mount options=(diratime) /b -> /2,
> + mount options=(rw,diratime) /c -> /3,
> + mount options in (diratime) /d -> /4,
> + mount options in (ro,diratime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_21.sd b/parser/tst/simple_tests/mount/ok_opt_21.sd
> new file mode 100644
> index 0000000..2999f87
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_21.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "bind" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=bind /a -> /1,
> + mount options=(bind) /b -> /2,
> + mount options=(rw,bind) /c -> /3,
> + mount options in (bind) /d -> /4,
> + mount options in (ro,bind) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_22.sd b/parser/tst/simple_tests/mount/ok_opt_22.sd
> new file mode 100644
> index 0000000..d8ffe37
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_22.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "B" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=B /a -> /1,
> + mount options=(B) /b -> /2,
> + mount options=(rw,B) /c -> /3,
> + mount options in (B) /d -> /4,
> + mount options in (ro,B) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_23.sd b/parser/tst/simple_tests/mount/ok_opt_23.sd
> new file mode 100644
> index 0000000..994236a
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_23.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "rbind" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=rbind /a -> /1,
> + mount options=(rbind) /b -> /2,
> + mount options=(rw,rbind) /c -> /3,
> + mount options in (rbind) /d -> /4,
> + mount options in (ro,rbind) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_24.sd b/parser/tst/simple_tests/mount/ok_opt_24.sd
> new file mode 100644
> index 0000000..7e22544
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_24.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "R" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=R /a -> /1,
> + mount options=(R) /b -> /2,
> + mount options=(rw,R) /c -> /3,
> + mount options in (R) /d -> /4,
> + mount options in (ro,R) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_25.sd b/parser/tst/simple_tests/mount/ok_opt_25.sd
> new file mode 100644
> index 0000000..20c4db0
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_25.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "move" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=move /a -> /1,
> + mount options=(move) /b -> /2,
> + mount options=(rw,move) /c -> /3,
> + mount options in (move) /d -> /4,
> + mount options in (ro,move) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_26.sd b/parser/tst/simple_tests/mount/ok_opt_26.sd
> new file mode 100644
> index 0000000..ba81472
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_26.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "M" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=M /a -> /1,
> + mount options=(M) /b -> /2,
> + mount options=(rw,M) /c -> /3,
> + mount options in (M) /d -> /4,
> + mount options in (ro,M) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_27.sd b/parser/tst/simple_tests/mount/ok_opt_27.sd
> new file mode 100644
> index 0000000..6334866
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_27.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "verbose" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=verbose /a -> /1,
> + mount options=(verbose) /b -> /2,
> + mount options=(rw,verbose) /c -> /3,
> + mount options in (verbose) /d -> /4,
> + mount options in (ro,verbose) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_28.sd b/parser/tst/simple_tests/mount/ok_opt_28.sd
> new file mode 100644
> index 0000000..413c512
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_28.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "silent" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=silent /a -> /1,
> + mount options=(silent) /b -> /2,
> + mount options=(rw,silent) /c -> /3,
> + mount options in (silent) /d -> /4,
> + mount options in (ro,silent) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_29.sd b/parser/tst/simple_tests/mount/ok_opt_29.sd
> new file mode 100644
> index 0000000..5fc3621
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_29.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "loud" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=loud /a -> /1,
> + mount options=(loud) /b -> /2,
> + mount options=(rw,loud) /c -> /3,
> + mount options in (loud) /d -> /4,
> + mount options in (ro,loud) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_3.sd b/parser/tst/simple_tests/mount/ok_opt_3.sd
> new file mode 100644
> index 0000000..4f3b0e0
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_3.sd
> @@ -0,0 +1,8 @@
> +#
> +#=Description basic rules to test the "read-only" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=read-only /a -> /1,
> + mount options=(read-only) /b -> /2,
> + mount options in (read-only) /d -> /4,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_30.sd b/parser/tst/simple_tests/mount/ok_opt_30.sd
> new file mode 100644
> index 0000000..4826b25
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_30.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "acl" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=acl /a -> /1,
> + mount options=(acl) /b -> /2,
> + mount options=(rw,acl) /c -> /3,
> + mount options in (acl) /d -> /4,
> + mount options in (ro,acl) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_31.sd b/parser/tst/simple_tests/mount/ok_opt_31.sd
> new file mode 100644
> index 0000000..c2b51ec
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_31.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "noacl" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=noacl /a -> /1,
> + mount options=(noacl) /b -> /2,
> + mount options=(rw,noacl) /c -> /3,
> + mount options in (noacl) /d -> /4,
> + mount options in (ro,noacl) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_32.sd b/parser/tst/simple_tests/mount/ok_opt_32.sd
> new file mode 100644
> index 0000000..a825a22
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_32.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "relatime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=relatime /a -> /1,
> + mount options=(relatime) /b -> /2,
> + mount options=(rw,relatime) /c -> /3,
> + mount options in (relatime) /d -> /4,
> + mount options in (ro,relatime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_33.sd b/parser/tst/simple_tests/mount/ok_opt_33.sd
> new file mode 100644
> index 0000000..65ef4f5
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_33.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "norelatime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=norelatime /a -> /1,
> + mount options=(norelatime) /b -> /2,
> + mount options=(rw,norelatime) /c -> /3,
> + mount options in (norelatime) /d -> /4,
> + mount options in (ro,norelatime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_34.sd b/parser/tst/simple_tests/mount/ok_opt_34.sd
> new file mode 100644
> index 0000000..92a10d7
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_34.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "iversion" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=iversion /a -> /1,
> + mount options=(iversion) /b -> /2,
> + mount options=(rw,iversion) /c -> /3,
> + mount options in (iversion) /d -> /4,
> + mount options in (ro,iversion) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_35.sd b/parser/tst/simple_tests/mount/ok_opt_35.sd
> new file mode 100644
> index 0000000..43a5faf
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_35.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "noiversion" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=noiversion /a -> /1,
> + mount options=(noiversion) /b -> /2,
> + mount options=(rw,noiversion) /c -> /3,
> + mount options in (noiversion) /d -> /4,
> + mount options in (ro,noiversion) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_36.sd b/parser/tst/simple_tests/mount/ok_opt_36.sd
> new file mode 100644
> index 0000000..1ce40d5
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_36.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "strictatime" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=strictatime /a -> /1,
> + mount options=(strictatime) /b -> /2,
> + mount options=(rw,strictatime) /c -> /3,
> + mount options in (strictatime) /d -> /4,
> + mount options in (ro,strictatime) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_37.sd b/parser/tst/simple_tests/mount/ok_opt_37.sd
> new file mode 100644
> index 0000000..ec22bea
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_37.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "nouser" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=nouser /a -> /1,
> + mount options=(nouser) /b -> /2,
> + mount options=(rw,nouser) /c -> /3,
> + mount options in (nouser) /d -> /4,
> + mount options in (ro,nouser) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_38.sd b/parser/tst/simple_tests/mount/ok_opt_38.sd
> new file mode 100644
> index 0000000..a2934ae
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_38.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "user" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=user /a -> /1,
> + mount options=(user) /b -> /2,
> + mount options=(rw,user) /c -> /3,
> + mount options in (user) /d -> /4,
> + mount options in (ro,user) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_39.sd b/parser/tst/simple_tests/mount/ok_opt_39.sd
> new file mode 100644
> index 0000000..a9a22db
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_39.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "remount" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=remount -> /1,
> + mount options=(remount) -> /2,
> + mount options=(rw,remount) -> /3,
> + mount options in (remount) -> /4,
> + mount options in (ro,remount) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_4.sd b/parser/tst/simple_tests/mount/ok_opt_4.sd
> new file mode 100644
> index 0000000..b8e2252
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_4.sd
> @@ -0,0 +1,8 @@
> +#
> +#=Description basic rules to test the "rw" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=rw /a -> /1,
> + mount options=(rw) /b -> /2,
> + mount options in (rw) /d -> /4,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_40.sd b/parser/tst/simple_tests/mount/ok_opt_40.sd
> new file mode 100644
> index 0000000..d3b0b60
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_40.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "unbindable" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=unbindable -> /1,
> + mount options=(unbindable) -> /2,
> + mount options=(rw,unbindable) -> /3,
> + mount options in (unbindable) -> /4,
> + mount options in (ro,unbindable) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_41.sd b/parser/tst/simple_tests/mount/ok_opt_41.sd
> new file mode 100644
> index 0000000..5657bc9
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_41.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "private" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=private -> /1,
> + mount options=(private) -> /2,
> + mount options=(rw,private) -> /3,
> + mount options in (private) -> /4,
> + mount options in (ro,private) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_42.sd b/parser/tst/simple_tests/mount/ok_opt_42.sd
> new file mode 100644
> index 0000000..b91f13f
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_42.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "slave" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=slave -> /1,
> + mount options=(slave) -> /2,
> + mount options=(rw,slave) -> /3,
> + mount options in (slave) -> /4,
> + mount options in (ro,slave) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_43.sd b/parser/tst/simple_tests/mount/ok_opt_43.sd
> new file mode 100644
> index 0000000..726a061
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_43.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "shared" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=shared -> /1,
> + mount options=(shared) -> /2,
> + mount options=(rw,shared) -> /3,
> + mount options in (shared) -> /4,
> + mount options in (ro,shared) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_44.sd b/parser/tst/simple_tests/mount/ok_opt_44.sd
> new file mode 100644
> index 0000000..b08ff9a
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_44.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "runbindable" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=runbindable -> /1,
> + mount options=(runbindable) -> /2,
> + mount options=(rw,runbindable) -> /3,
> + mount options in (runbindable) -> /4,
> + mount options in (ro,runbindable) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_45.sd b/parser/tst/simple_tests/mount/ok_opt_45.sd
> new file mode 100644
> index 0000000..dffd342
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_45.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "rprivate" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=rprivate -> /1,
> + mount options=(rprivate) -> /2,
> + mount options=(rw,rprivate) -> /3,
> + mount options in (rprivate) -> /4,
> + mount options in (ro,rprivate) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_46.sd b/parser/tst/simple_tests/mount/ok_opt_46.sd
> new file mode 100644
> index 0000000..ce98ae4
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_46.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "rslave" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=rslave -> /1,
> + mount options=(rslave) -> /2,
> + mount options=(rw,rslave) -> /3,
> + mount options in (rslave) -> /4,
> + mount options in (ro,rslave) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_47.sd b/parser/tst/simple_tests/mount/ok_opt_47.sd
> new file mode 100644
> index 0000000..227e6c9
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_47.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "rshared" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=rshared -> /1,
> + mount options=(rshared) -> /2,
> + mount options=(rw,rshared) -> /3,
> + mount options in (rshared) -> /4,
> + mount options in (ro,rshared) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_48.sd b/parser/tst/simple_tests/mount/ok_opt_48.sd
> new file mode 100644
> index 0000000..d864c48
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_48.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-unbindable" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-unbindable -> /1,
> + mount options=(make-unbindable) -> /2,
> + mount options=(rw,make-unbindable) -> /3,
> + mount options in (make-unbindable) -> /4,
> + mount options in (ro,make-unbindable) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_49.sd b/parser/tst/simple_tests/mount/ok_opt_49.sd
> new file mode 100644
> index 0000000..be163f8
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_49.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-private" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-private -> /1,
> + mount options=(make-private) -> /2,
> + mount options=(rw,make-private) -> /3,
> + mount options in (make-private) -> /4,
> + mount options in (ro,make-private) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_5.sd b/parser/tst/simple_tests/mount/ok_opt_5.sd
> new file mode 100644
> index 0000000..6a5369f
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_5.sd
> @@ -0,0 +1,8 @@
> +#
> +#=Description basic rules to test the "w" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=w /a -> /1,
> + mount options=(w) /b -> /2,
> + mount options in (w) /d -> /4,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_50.sd b/parser/tst/simple_tests/mount/ok_opt_50.sd
> new file mode 100644
> index 0000000..7d78b03
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_50.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-slave" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-slave -> /1,
> + mount options=(make-slave) -> /2,
> + mount options=(rw,make-slave) -> /3,
> + mount options in (make-slave) -> /4,
> + mount options in (ro,make-slave) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_51.sd b/parser/tst/simple_tests/mount/ok_opt_51.sd
> new file mode 100644
> index 0000000..770edb8
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_51.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-shared" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-shared -> /1,
> + mount options=(make-shared) -> /2,
> + mount options=(rw,make-shared) -> /3,
> + mount options in (make-shared) -> /4,
> + mount options in (ro,make-shared) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_52.sd b/parser/tst/simple_tests/mount/ok_opt_52.sd
> new file mode 100644
> index 0000000..57c4057
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_52.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-runbindable" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-runbindable -> /1,
> + mount options=(make-runbindable) -> /2,
> + mount options=(rw,make-runbindable) -> /3,
> + mount options in (make-runbindable) -> /4,
> + mount options in (ro,make-runbindable) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_53.sd b/parser/tst/simple_tests/mount/ok_opt_53.sd
> new file mode 100644
> index 0000000..b0917a1
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_53.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-rprivate" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-rprivate -> /1,
> + mount options=(make-rprivate) -> /2,
> + mount options=(rw,make-rprivate) -> /3,
> + mount options in (make-rprivate) -> /4,
> + mount options in (ro,make-rprivate) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_54.sd b/parser/tst/simple_tests/mount/ok_opt_54.sd
> new file mode 100644
> index 0000000..9e572b5
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_54.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-rslave" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-rslave -> /1,
> + mount options=(make-rslave) -> /2,
> + mount options=(rw,make-rslave) -> /3,
> + mount options in (make-rslave) -> /4,
> + mount options in (ro,make-rslave) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_55.sd b/parser/tst/simple_tests/mount/ok_opt_55.sd
> new file mode 100644
> index 0000000..ae5a9a6
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_55.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "make-rshared" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=make-rshared -> /1,
> + mount options=(make-rshared) -> /2,
> + mount options=(rw,make-rshared) -> /3,
> + mount options in (make-rshared) -> /4,
> + mount options in (ro,make-rshared) -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_6.sd b/parser/tst/simple_tests/mount/ok_opt_6.sd
> new file mode 100644
> index 0000000..6820ef9
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_6.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "nosuid" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=nosuid /a -> /1,
> + mount options=(nosuid) /b -> /2,
> + mount options=(rw,nosuid) /c -> /3,
> + mount options in (nosuid) /d -> /4,
> + mount options in (ro,nosuid) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_7.sd b/parser/tst/simple_tests/mount/ok_opt_7.sd
> new file mode 100644
> index 0000000..2a0825e
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_7.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "suid" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=suid /a -> /1,
> + mount options=(suid) /b -> /2,
> + mount options=(rw,suid) /c -> /3,
> + mount options in (suid) /d -> /4,
> + mount options in (ro,suid) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_8.sd b/parser/tst/simple_tests/mount/ok_opt_8.sd
> new file mode 100644
> index 0000000..1c5ff2d
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_8.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "nodev" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=nodev /a -> /1,
> + mount options=(nodev) /b -> /2,
> + mount options=(rw,nodev) /c -> /3,
> + mount options in (nodev) /d -> /4,
> + mount options in (ro,nodev) /e -> /5,
> +}
> diff --git a/parser/tst/simple_tests/mount/ok_opt_9.sd b/parser/tst/simple_tests/mount/ok_opt_9.sd
> new file mode 100644
> index 0000000..df09a31
> --- /dev/null
> +++ b/parser/tst/simple_tests/mount/ok_opt_9.sd
> @@ -0,0 +1,10 @@
> +#
> +#=Description basic rules to test the "dev" mount option
> +#=EXRESULT PASS
> +/usr/bin/foo {
> + mount options=dev /a -> /1,
> + mount options=(dev) /b -> /2,
> + mount options=(rw,dev) /c -> /3,
> + mount options in (dev) /d -> /4,
> + mount options in (ro,dev) /e -> /5,
> +}
>
More information about the AppArmor
mailing list