On Fri, Feb 08, 2019 at 07:02:31PM +0000, Luke Diamand wrote:
> +# create a fake version of "p4" which returns a TicketExpiration based
> +# on $EXPIRY, for testing login expiration
> +create_fake_p4() {
> + (
> + cd "$git" && mkdir expire-p4 &&
> + cat >>expire-p4/p4 <<-EOF &&
> + #!/usr/bin/python
I think this should be $PYTHON_PATH.
> + import marshal, os, subprocess, sys
> + if "login" in sys.argv:
> + marshal.dump({"foo" : "bar", "code" : "stat",
> "TicketExpiration" : os.environ["EXPIRY"]}, sys.stdout)
> + else:
> + subprocess.check_call([os.environ["P4"]] + sys.argv[1:])
> + EOF
> + chmod 0755 expire-p4/p4
> + )
> +}
>
> test_expect_success 'git operation with expired ticket' '
> - P4TICKETS="$cli/tickets" &&
> - P4USER=short_expiry_user &&
> - echo "password" | p4 login &&
> + create_fake_p4 &&
> + echo "newpassword" | p4 login &&
> (
> cd "$git" &&
> - git p4 sync &&
> - sleep 5 &&
> - test_must_fail git p4 sync 2>errmsg &&
> - grep "failure accessing depot" errmsg
> + P4=$(command -v p4) && export P4 &&
> + EXPIRY=3600 PATH=$PWD/expire-p4:$PATH git p4 sync &&
> + EXPIRY=1 PATH=$PWD/expire-p4:$PATH test_must_fail git p4 sync
> -v 2>errmsg &&
> + grep "failure accessing depot.*expires in 1 second" errmsg
> )
> '
>
> --
> 2.20.1.612.g17ebf93fb6.dirty
>