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 >