t / t9833-errors.shon commit Merge branch 'uk/merge-subtree-doc-update' (5d8b3e5)
   1#!/bin/sh
   2
   3test_description='git p4 errors'
   4
   5. ./lib-git-p4.sh
   6
   7test_expect_success 'start p4d' '
   8        start_p4d
   9'
  10
  11test_expect_success 'add p4 files' '
  12        (
  13                cd "$cli" &&
  14                echo file1 >file1 &&
  15                p4 add file1 &&
  16                p4 submit -d "file1"
  17        )
  18'
  19
  20# after this test, the default user requires a password
  21test_expect_success 'error handling' '
  22        git p4 clone --dest="$git" //depot@all &&
  23        (
  24                cd "$git" &&
  25                P4PORT=: test_must_fail git p4 submit 2>errmsg
  26        ) &&
  27        p4 passwd -P newpassword &&
  28        (
  29                P4PASSWD=badpassword &&
  30                export P4PASSWD &&
  31                test_must_fail git p4 clone //depot/foo 2>errmsg &&
  32                grep -q "failure accessing depot.*P4PASSWD" errmsg
  33        )
  34'
  35
  36test_expect_success 'ticket logged out' '
  37        P4TICKETS="$cli/tickets" &&
  38        echo "newpassword" | p4 login &&
  39        (
  40                cd "$git" &&
  41                test_commit "ticket-auth-check" &&
  42                p4 logout &&
  43                test_must_fail git p4 submit 2>errmsg &&
  44                grep -q "failure accessing depot" errmsg
  45        )
  46'
  47
  48test_expect_success 'create group with short ticket expiry' '
  49        P4TICKETS="$cli/tickets" &&
  50        echo "newpassword" | p4 login &&
  51        p4_add_user short_expiry_user &&
  52        p4 -u short_expiry_user passwd -P password &&
  53        p4 group -i <<-EOF &&
  54        Group: testgroup
  55        Timeout: 3
  56        Users: short_expiry_user
  57        EOF
  58
  59        p4 users | grep short_expiry_user
  60'
  61
  62test_expect_success 'git operation with expired ticket' '
  63        P4TICKETS="$cli/tickets" &&
  64        P4USER=short_expiry_user &&
  65        echo "password" | p4 login &&
  66        (
  67                cd "$git" &&
  68                git p4 sync &&
  69                sleep 5 &&
  70                test_must_fail git p4 sync 2>errmsg &&
  71                grep "failure accessing depot" errmsg
  72        )
  73'
  74
  75test_expect_success 'kill p4d' '
  76        kill_p4d
  77'
  78
  79
  80test_done