164 lines
5.5 KiB
Bash
Executable file
164 lines
5.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
|
|
|
|
TS_TOPDIR="${0%/*}/../.."
|
|
TS_DESC="options string"
|
|
|
|
. "$TS_TOPDIR"/functions.sh
|
|
ts_init "$*"
|
|
|
|
ts_check_test_command $TS_HELPER_LIBMOUNT_OPTSTR
|
|
|
|
TESTPROG="$TS_HELPER_LIBMOUNT_OPTSTR"
|
|
|
|
ts_init_subtest "append"
|
|
ts_run $TESTPROG --append "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "append-value"
|
|
ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "append-empty-value"
|
|
ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "prepend"
|
|
ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "prepend-list"
|
|
ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd,eee=EEE,fff" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "prepend-value"
|
|
ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "prepend-empty-value"
|
|
ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-remove"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-small"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "X" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-large"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "XXX-YYY-ZZZ" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-empty"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-new"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "XXX" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-new-empty"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-new-end"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "XXX" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "set-new-end-empty"
|
|
ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "get"
|
|
ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "get-value"
|
|
ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "remove"
|
|
ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "remove-quoted"
|
|
ts_run $TESTPROG --remove "aaa,context=\"foo,bar,gogo\",bbb=BBB,ccc" "context" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "remove-value"
|
|
ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "remove-empty-value"
|
|
ts_run $TESTPROG --remove "aaa,bbb=,ccc" "bbb" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "split"
|
|
ts_run $TESTPROG --split "aaa,bbb=BBB,ccc,x-bar,x-foo=foodata,user=kzak,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "flags"
|
|
ts_run $TESTPROG --flags "aaa,bbb=BBB,x-foo,ccc,user=kzak,nodev,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "apply-linux"
|
|
# Use kernel mount options man (--linux), add noatime, remove noexec and nosuid,
|
|
# and keep unknown(e.g. user=kzak)
|
|
ts_run $TESTPROG --apply --linux "user=kzak,noexec,nosuid" 0x400 &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "apply-user"
|
|
# Use userspace options map (--user), add user and nofail, remove loop,
|
|
# and keep unknown (e.g. noexec, nosuid)
|
|
ts_run $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "apply-user-small-x"
|
|
# Use userspace options map (--user), remove X-* and loop=, keep unknown 'something' and
|
|
# keep by flags specified x-*
|
|
ts_run $TESTPROG --apply --user \
|
|
"something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo" 0x00002000 &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "apply-user-large-X"
|
|
# Use userspace options map (--user), remove x-* and loop=, keep unknown 'something' and
|
|
# keep by flags specified X-*
|
|
ts_run $TESTPROG --apply --user \
|
|
"something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00020000 &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "apply-user-Xx"
|
|
# Use userspace options map (--user), remove loop=, keep unknown 'something' and
|
|
# keep by flags specified X-* and x-*, add by flag specified nofail
|
|
ts_run $TESTPROG --apply --user \
|
|
"something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00022400 &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "deduplicate"
|
|
ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "deduplicate-empty"
|
|
ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=,fff=eee AAA &> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_init_subtest "match"
|
|
ts_run $TESTPROG --match "xxx,yyy,zzz" "nozzz" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "xxx,yyy,zzz" "xxx,noeee" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "bar,zzz" "nofoo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "nofoo,bar" "nofoo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "nofoo,bar" "+nofoo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "bar,zzz" "+nofoo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "bar,zzz" "" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "bar,zzz" "+" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "" "" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "" "foo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "" "nofoo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "" "no,foo" &>> $TS_OUTPUT
|
|
ts_run $TESTPROG --match "no" "+no" &>> $TS_OUTPUT
|
|
ts_finalize_subtest
|
|
|
|
ts_finalize
|