(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'credential-cache tests'>)}
          spids: [4]
        )
      ]
      redirects: []
    )
    (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))})
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'skip_all='> name:skip_all)
                  op: assign_op.Equal
                  rhs: {(SQ <'skipping credential-cache tests, unix sockets not available'>)}
                  spids: [34]
                )
              ]
              redirects: []
            )
            (C {<test_done>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
      ]
    )
    (C {<trap>} {(SQ <'code=$?; git credential-cache exit; (exit $code); die'>)} {<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>})
  ]
)