(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'credential-cache tests' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-credential.sh)})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$NO_UNIX_SOCKETS'))})
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:skip_all)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ 
                        (Token
                          id: Id.Lit_Chars
                          val: 'skipping credential-cache tests, unix sockets not available'
                          span_id: 36
                        )
                      )
                    }
                  spids: [34]
                )
              ]
            )
            (C {(test_done)})
          ]
        )
      ]
    )
    (C {(trap)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'code=$?; git credential-cache exit; (exit $code); die'
            span_id: 51
          )
        )
      } {(EXIT)}
    )
    (C {(helper_test)} {(cache)})
    (C {(helper_test_timeout)} {(cache)} {(--timeout) (Id.Lit_Equals '=') (1)})
    (C {(git)} {(credential-cache)} {(Id.ControlFlow_Exit exit)})
    (C {(test_done)})
  ]
)