Provides unit tests and examples for the Tmpfiles lens.
Test_Tmpfiles | Provides unit tests and examples for the Tmpfiles lens. |
VALID EXAMPLES | |
simple | One line, simple example |
simple_tree | Tree for simple |
complex | A more complex example, comes from the manual |
complex_tree | Tree for complex and trailing_ws |
trailing_ws | The complex example with extra spaces |
empty | Empty example |
exclamation_mark | Example with an exclamation mark in the type |
exclamation_mark_tree | Tree for exclamation_mark |
short | Example with only type and path |
short_tree | Tree for short |
short_mode | Example with only 3 fields |
short_mode_tree | Tree for short_mode |
short_uid | Example with only 4 fields |
short_uid_tree | Tree for short_uid |
short_gid | Example with only 5 fields |
short_gid_tree | Tree for short_gid |
short_age | Example with only 6 fields |
short_age_tree | Tree for short_age |
complex_arg | Complex argument example. |
complex_arg_tree | Tree for complex_arg |
valid_short_args | A short argument value example. |
valid_short_args_tree | Tree for valid_short_args |
valid_age | Example with a complex age. |
valid_age_tree | Tree for valid_age |
valid_second | Example with full age unit |
valid_second_tree | Tree for valid_second |
valid_days | Example with full age unit (plural) |
valid_days_tree | Tree for valid_days |
percent | Test with a percent sign |
percent_tree | Tree for percent |
hyphen | Test with a hyphen in gid |
hyphen_tree | Tree for hyphen |
valid_base | A valid test to be re-used by the failure cases |
valid_base_tree | Tree for valid_base |
mode3 | Mode field example with only three digits |
mode3_tree | Tree for mode3 |
INVALID EXAMPLES | |
invalid_too_short | Invalid example that do not contain path |
invalid_age | Invalid example that contain invalid age |
invalid_type | Invalid example that contain invalid type (bad letter) |
invalid_type_num | Invalid example that contain invalid type (numeric) |
invalid_mode | Invalid example that contain invalid mode (bad int) |
invalid_mode_alpha | Invalid example that contain invalid mode (letter) |
let simple_tree = { "1" { "type" = "d" } { "path" = "/run/user" } { "mode" = "0755" } { "uid" = "root" } { "gid" = "mysql" } { "age" = "10d" } { "argument" = "-" } }
Tree for simple
let complex_tree = { "#comment" = "Type Path Mode UID GID Age Argument" } { "1" { "type" = "d" } { "path" = "/run/user" } { "mode" = "0755" } { "uid" = "root" } { "gid" = "root" } { "age" = "10d" } { "argument" = "-" } } { "2" { "type" = "L" } { "path" = "/tmp/foobar" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "/dev/null" } }
Tree for complex and trailing_ws
let exclamation_mark_tree = { "1" { "type" = "D!" } { "path" = "/tmp/foo" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "-" } }
Tree for exclamation_mark
let short_tree = { "1" { "type" = "A+" } { "path" = "/tmp/foo" } }
Tree for short
let short_mode_tree = { "1" { "type" = "c+!" } { "path" = "/tmp/foo" } { "mode" = "~0755" } }
Tree for short_mode
let short_uid_tree = { "1" { "type" = "A+" } { "path" = "/tmp/foo" } { "mode" = "-" } { "uid" = "0" } }
Tree for short_uid
let short_gid_tree = { "1" { "type" = "z" } { "path" = "/tmp/bar/foo" } { "mode" = "-" } { "uid" = "-" } { "gid" = "augd" } }
Tree for short_gid
let short_age_tree = { "1" { "type" = "H" } { "path" = "/var/tmp/fooBarFOO" } { "mode" = "-" } { "uid" = "jj" } { "gid" = "jj" } { "age" = "~10d" } }
Tree for short_age
let complex_arg_tree = { "1" { "type" = "t" } { "path" = "/run/screen" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "user.name=\"John Smith\" security.SMACK64=screen" } }
Tree for complex_arg
let valid_short_args_tree = { "1" { "type" = "h" } { "path" = "/var/log/journal" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "C" } } { "2" { "type" = "h" } { "path" = "/var/log/journal" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "+C" } }
Tree for valid_short_args
let valid_age_tree = { "1" { "type" = "v" } { "path" = "/var/tmp/js" } { "mode" = "4221" } { "uid" = "johnsmith" } { "gid" = "-" } { "age" = "~10d12h" } }
Tree for valid_age
let valid_second_tree = { "1" { "type" = "p+" } { "path" = "/var/tmp" } { "mode" = "-" } { "uid" = "jsmith" } { "gid" = "-" } { "age" = "0second" } }
Tree for valid_second
let valid_days_tree = { "1" { "type" = "x" } { "path" = "/var/tmp/manu" } { "mode" = "-" } { "uid" = "jonhsmith" } { "gid" = "-" } { "age" = "9days" } }
Tree for valid_days
let percent_tree = { "1" { "type" = "m" } { "path" = "/var/log/%m" } { "mode" = "2755" } { "uid" = "root" } { "gid" = "systemdjournal" } { "age" = "-" } { "argument" = "-" } }
Tree for percent
let hyphen_tree = { "1" { "type" = "L" } { "path" = "/var/log/journal" } { "mode" = "2755" } { "uid" = "root" } { "gid" = "systemd-journal" } { "age" = "-" } { "argument" = "-" } }
Tree for hyphen
let valid_base_tree = { "1" { "type" = "H" } { "path" = "/var/tmp/js" } { "mode" = "0000" } { "uid" = "jonhsmith" } { "gid" = "60" } { "age" = "1s" } { "argument" = "foo" } }
Tree for valid_base
let mode3_tree = { "1" { "type" = "c+!" } { "path" = "/tmp/foo" } { "mode" = "755" } }
Tree for mode3
One line, simple example
let simple = "d /run/user 0755 root mysql 10d -\n"
Tree for simple
let simple_tree = { "1" { "type" = "d" } { "path" = "/run/user" } { "mode" = "0755" } { "uid" = "root" } { "gid" = "mysql" } { "age" = "10d" } { "argument" = "-" } }
A more complex example, comes from the manual
let complex = "#Type Path Mode UID GID Age Argument\nd /run/user 0755 root root 10d -\nL /tmp/foobar - - - - /dev/null\n"
Tree for complex and trailing_ws
let complex_tree = { "#comment" = "Type Path Mode UID GID Age Argument" } { "1" { "type" = "d" } { "path" = "/run/user" } { "mode" = "0755" } { "uid" = "root" } { "gid" = "root" } { "age" = "10d" } { "argument" = "-" } } { "2" { "type" = "L" } { "path" = "/tmp/foobar" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "/dev/null" } }
The complex example with extra spaces
let trailing_ws = " #Type Path Mode UID GID Age Argument \n d /run/user 0755 root root 10d - \t\n L /tmp/foobar - - - - /dev/null\t\n"
Empty example
let empty = "\n\n\n"
Example with an exclamation mark in the type
let exclamation_mark = "D! /tmp/foo - - - - -\n"
Tree for exclamation_mark
let exclamation_mark_tree = { "1" { "type" = "D!" } { "path" = "/tmp/foo" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "-" } }
Example with only type and path
let short = "A+ /tmp/foo\n"
Tree for short
let short_tree = { "1" { "type" = "A+" } { "path" = "/tmp/foo" } }
Example with only 3 fields
let short_mode = "c+! /tmp/foo ~0755\n"
Tree for short_mode
let short_mode_tree = { "1" { "type" = "c+!" } { "path" = "/tmp/foo" } { "mode" = "~0755" } }
Example with only 4 fields
let short_uid = "A+ /tmp/foo - 0\n"
Tree for short_uid
let short_uid_tree = { "1" { "type" = "A+" } { "path" = "/tmp/foo" } { "mode" = "-" } { "uid" = "0" } }
Example with only 5 fields
let short_gid = "z /tmp/bar/foo -\t- augd\n"
Tree for short_gid
let short_gid_tree = { "1" { "type" = "z" } { "path" = "/tmp/bar/foo" } { "mode" = "-" } { "uid" = "-" } { "gid" = "augd" } }
Example with only 6 fields
let short_age = "H /var/tmp/fooBarFOO - jj jj ~10d\n"
Tree for short_age
let short_age_tree = { "1" { "type" = "H" } { "path" = "/var/tmp/fooBarFOO" } { "mode" = "-" } { "uid" = "jj" } { "gid" = "jj" } { "age" = "~10d" } }
Complex argument example.
let complex_arg = "t /run/screen - - - - user.name=\"John Smith\" security.SMACK64=screen\n"
Tree for complex_arg
let complex_arg_tree = { "1" { "type" = "t" } { "path" = "/run/screen" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "user.name=\"John Smith\" security.SMACK64=screen" } }
A short argument value example.
let valid_short_args = "h /var/log/journal - - - - C\nh /var/log/journal - - - - +C\n"
Tree for valid_short_args
let valid_short_args_tree = { "1" { "type" = "h" } { "path" = "/var/log/journal" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "C" } } { "2" { "type" = "h" } { "path" = "/var/log/journal" } { "mode" = "-" } { "uid" = "-" } { "gid" = "-" } { "age" = "-" } { "argument" = "+C" } }
Example with a complex age.
let valid_age = "v /var/tmp/js 4221 johnsmith - ~10d12h\n"
Tree for valid_age
let valid_age_tree = { "1" { "type" = "v" } { "path" = "/var/tmp/js" } { "mode" = "4221" } { "uid" = "johnsmith" } { "gid" = "-" } { "age" = "~10d12h" } }
Example with full age unit
let valid_second = "p+ /var/tmp - jsmith - 0second\n"
Tree for valid_second
let valid_second_tree = { "1" { "type" = "p+" } { "path" = "/var/tmp" } { "mode" = "-" } { "uid" = "jsmith" } { "gid" = "-" } { "age" = "0second" } }
Example with full age unit (plural)
let valid_days = "x /var/tmp/manu - jonhsmith - 9days\n"
Tree for valid_days
let valid_days_tree = { "1" { "type" = "x" } { "path" = "/var/tmp/manu" } { "mode" = "-" } { "uid" = "jonhsmith" } { "gid" = "-" } { "age" = "9days" } }
Test with a percent sign
let percent = "m /var/log/%m 2755 root systemdjournal - -\n"
Tree for percent
let percent_tree = { "1" { "type" = "m" } { "path" = "/var/log/%m" } { "mode" = "2755" } { "uid" = "root" } { "gid" = "systemdjournal" } { "age" = "-" } { "argument" = "-" } }
Test with a hyphen in gid
let hyphen = "L /var/log/journal 2755 root systemd-journal - -\n"
Tree for hyphen
let hyphen_tree = { "1" { "type" = "L" } { "path" = "/var/log/journal" } { "mode" = "2755" } { "uid" = "root" } { "gid" = "systemd-journal" } { "age" = "-" } { "argument" = "-" } }
A valid test to be re-used by the failure cases
let valid_base = "H /var/tmp/js 0000 jonhsmith 60 1s foo\n"
Tree for valid_base
let valid_base_tree = { "1" { "type" = "H" } { "path" = "/var/tmp/js" } { "mode" = "0000" } { "uid" = "jonhsmith" } { "gid" = "60" } { "age" = "1s" } { "argument" = "foo" } }
Mode field example with only three digits
let mode3 = "c+! /tmp/foo 755\n"
Tree for mode3
let mode3_tree = { "1" { "type" = "c+!" } { "path" = "/tmp/foo" } { "mode" = "755" } }
Invalid example that do not contain path
let invalid_too_short = "H\n"
Invalid example that contain invalid age
let invalid_age = "H /var/tmp/js 0000 jonhsmith 60 1sss foo\n"
Invalid example that contain invalid type (bad letter)
let invalid_type = "e /var/tmp/js 0000 jonhsmith 60 1s foo\n"
Invalid example that contain invalid type (numeric)
let invalid_type_num = "1 /var/tmp/js 0000 jonhsmith 60 1s foo\n"
Invalid example that contain invalid mode (bad int)
let invalid_mode = "H /var/tmp/js 8000 jonhsmith 60 1s foo\n"
Invalid example that contain invalid mode (letter)
let invalid_mode_alpha = "H /var/tmp/js a000 jonhsmith 60 1s foo\n" test Tmpfiles.lns get simple = simple_tree