diff options
Diffstat (limited to 'perl/t/data')
| -rwxr-xr-x | perl/t/data/acl-command | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/perl/t/data/acl-command b/perl/t/data/acl-command new file mode 100755 index 0000000..b7c3066 --- /dev/null +++ b/perl/t/data/acl-command @@ -0,0 +1,47 @@ +#!/bin/sh +# +# An external ACL implementation.  Checks that the first argument is +# eagle@eyrie.org, the second argument is "test", and then returns success, +# failure, or reports an error based on whether the second argument is +# success, failure, or error. +# +# Written by Russ Allbery <eagle@eyrie.org> +# Copyright 2016 Russ Allbery <eagle@eyrie.org> +# +# See LICENSE for licensing terms. + +set -e + +# Check the initial principal argument. +if [ "$1" != 'eagle@eyrie.org' ]; then +    echo 'incorrect principal' >&2 +    exit 1 +fi + +# Check that the second and third arguments are file test (the test object). +if [ "$2" != 'file' ]; then +    echo 'incorrect second argument' >&2 +    exit 1 +fi +if [ "$3" != 'test' ]; then +    echo 'incorrect third argument' >&2 +    exit 1 +fi + +# Process the fourth argument. +case $4 in +    'test success') +        exit 0 +        ;; +    'test failure') +        exit 1 +        ;; +    'test error') +        echo 'some error' >&2 +        exit 1 +        ;; +    *) +        echo 'unknown fourth argument' >&2 +        exit 1 +        ;; +esac | 
