Blob Blame History Raw
module Test_crypttab =

  let simple = "sda1_crypt\t /dev/sda1\t    /dev/random \t      swap\n"

  let simple_tree =
    { "1"
        { "target" = "sda1_crypt" }
        { "device" = "/dev/sda1" }
        { "password" = "/dev/random" }
        { "opt" = "swap" } }

  let trailing_ws = "sda1_crypt\t /dev/sda1\t    /dev/random \t      swap\t\n"

  let no_opts = "sda1_crypt\t /dev/sda1\t    /etc/key\n"

  let no_opts_tree =
    { "1"
        { "target" = "sda1_crypt" }
        { "device" = "/dev/sda1" }
        { "password" = "/etc/key" } }

  let no_password = "sda1_crypt\t /dev/sda1\n"

  let no_password_tree =
    { "1"
        { "target" = "sda1_crypt" }
        { "device" = "/dev/sda1" } }

  let multi_opts = "sda1_crypt\t /dev/sda1\t    /etc/key \t      cipher=aes-cbc-essiv:sha256,verify\n"

  let multi_opts_tree =
    { "1"
        { "target" = "sda1_crypt" }
        { "device" = "/dev/sda1" }
        { "password" = "/etc/key" }
        { "opt" = "cipher"
            { "value" = "aes-cbc-essiv:sha256" } }
        { "opt" = "verify" } }

  test Crypttab.lns get simple = simple_tree

  test Crypttab.lns get trailing_ws = simple_tree

  test Crypttab.lns get no_opts = no_opts_tree

  test Crypttab.lns get no_password = no_password_tree

  test Crypttab.lns get multi_opts = multi_opts_tree