[apparmor] [PATCH 6/6] parser: Add mount option parsing tests

Tyler Hicks tyhicks at canonical.com
Fri Dec 12 00:49:55 UTC 2014


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>
---
 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,
+}
-- 
2.1.0




More information about the AppArmor mailing list