3 let simple = "/dev/vg00/lv00\t /\t ext3\t defaults 1 1\n"
7 { "spec" = "/dev/vg00/lv00" }
10 { "opt" = "defaults" }
14 let leading_ws = " /dev/vg00/lv00\t /\t ext3\t defaults 1 1\n"
16 let trailing_ws = "/dev/vg00/lv00\t /\t ext3\t defaults 1 1 \t\n"
18 let gen_no_passno(passno:string) =
19 "LABEL=/boot\t /boot\t ext3\t defaults 1" . passno . " \t\n"
20 let no_passno = gen_no_passno ""
24 { "spec" = "LABEL=/boot" }
26 { "vfstype" = "ext3" }
27 { "opt" = "defaults" }
30 let no_dump = "/dev/vg00/lv00\t /\t ext3\t defaults\n"
34 { "spec" = "/dev/vg00/lv00" }
36 { "vfstype" = "ext3" }
37 { "opt" = "defaults" } }
39 let no_opts = "/dev/vg00/lv00\t /\t ext3\n"
43 { "spec" = "/dev/vg00/lv00" }
45 { "vfstype" = "ext3" } }
47 let multi_opts = "devpts\t /dev/pts\t devpts gid=5,mode=620,fscontext=system_u:object_r:removable_t 0 0\n"
52 { "file" = "/dev/pts" }
53 { "vfstype" = "devpts" }
59 { "value" = "system_u:object_r:removable_t" } }
63 test Fstab.lns get simple = simple_tree
65 test Fstab.lns get leading_ws = simple_tree
67 test Fstab.lns get trailing_ws = simple_tree
69 test Fstab.lns get no_passno = no_passno_tree
71 test Fstab.lns put no_passno after set "/1/passno" "1" = gen_no_passno " 1"
73 test Fstab.lns get no_dump = no_dump_tree
75 test Fstab.lns get no_opts = no_opts_tree
77 test Fstab.lns get multi_opts = multi_opts_tree
79 test Fstab.lns get "/dev/hdc /media/cdrom0 udf,iso9660 user,noauto\t0\t0\n" =
81 { "spec" = "/dev/hdc" }
82 { "file" = "/media/cdrom0" }
84 { "vfstype" = "iso9660" }
90 (* Allow # in the spec *)
91 test Fstab.lns get "sshfs#jon@10.0.0.2:/home /media/server fuse uid=1000,gid=100,port=1022 0 0\n" =
93 { "spec" = "sshfs#jon@10.0.0.2:/home" }
94 { "file" = "/media/server" }
95 { "vfstype" = "fuse" }
97 { "value" = "1000" } }
101 { "value" = "1022" } }
106 test Fstab.lns get "tmpfs /dev/shm tmpfs rw,rootcontext=\"system_u:object_r:tmpfs_t:s0\" 0 0\n" =
109 { "file" = "/dev/shm" }
110 { "vfstype" = "tmpfs" }
112 { "opt" = "rootcontext"
113 { "value" = "\"system_u:object_r:tmpfs_t:s0\"" } }
117 (* BZ https://bugzilla.redhat.com/show_bug.cgi?id=751342
118 * Mounting multiple cgroups together results in path with ','
120 test Fstab.lns get "spec /path/file1,file2 vfs opts 0 0\n" =
123 { "file" = "/path/file1,file2" }
124 { "vfstype" = "vfs" }
129 (* Parse when empty option value given, only equals sign *)
130 test Fstab.lns get "//host.example.org/a_share /mnt cifs defaults,ro,password= 0 0\n" =
132 { "spec" = "//host.example.org/a_share" }
134 { "vfstype" = "cifs" }
135 { "opt" = "defaults" }
144 (* Allow end of line comments *)
145 test Fstab.lns get "UUID=0314be77-bb1e-47d4-b2a2-e69ae5bc954f / ext4 rw,errors=remount-ro 0 1 # device at install: /dev/sda3\n" =
147 { "spec" = "UUID=0314be77-bb1e-47d4-b2a2-e69ae5bc954f" }
149 { "vfstype" = "ext4" }
152 { "value" = "remount-ro" }
156 { "#comment" = "device at install: /dev/sda3" }
159 (* Local Variables: *)