(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git p4 wildcards">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (C {(test_expect_success)} {(SQ <"start p4d">)} {(SQ <"\n"> <"\tstart_p4d\n">)})
    (C {(test_expect_success)} {(SQ <"add p4 files with wildcards in the names">)} 
      {
        (SQ <"\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> 
          <"\t\tprintf \"file2\\nhas\\nsome\\nrandom\\ntext\\n\" >file2 &&\n"> <"\t\tp4 add file2 &&\n"> <"\t\techo file-wild-hash >file-wild#hash &&\n"> 
          <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> <"\t\tthen\n"> <"\t\t\techo file-wild-star >file-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\techo file-wild-at >file-wild@at &&\n"> <"\t\techo file-wild-percent >file-wild%percent &&\n"> <"\t\tp4 add -f file-wild* &&\n"> 
          <"\t\tp4 submit -d \"file wildcards\"\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files git p4 clone">)} 
      {
        (SQ <"\n"> <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> 
          <"\ttest_when_finished cleanup_git &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\ttest -f file-wild#hash &&\n"> 
          <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> <"\t\tthen\n"> <"\t\t\ttest -f file-wild\\*star\n"> <"\t\tfi &&\n"> <"\t\ttest -f file-wild@at &&\n"> 
          <"\t\ttest -f file-wild%percent\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files submit back to p4, add">)} 
      {
        (SQ <"\n"> <"\ttest_when_finished cleanup_git &&\n"> 
          <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\techo git-wild-hash >git-wild#hash &&\n"> 
          <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> <"\t\tthen\n"> <"\t\t\techo git-wild-star >git-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\techo git-wild-at >git-wild@at &&\n"> <"\t\techo git-wild-percent >git-wild%percent &&\n"> <"\t\tgit add git-wild* &&\n"> 
          <"\t\tgit commit -m \"add some wildcard filenames\" &&\n"> <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> <"\t\tgit p4 submit\n"> <"\t) &&\n"> <"\t(\n"> 
          <"\t\tcd \"$cli\" &&\n"> <"\t\ttest_path_is_file git-wild#hash &&\n"> <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> 
          <"\t\tthen\n"> <"\t\t\ttest_path_is_file git-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\ttest_path_is_file git-wild@at &&\n"> <"\t\ttest_path_is_file git-wild%percent\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files submit back to p4, modify">)} 
      {
        (SQ <"\n"> <"\ttest_when_finished cleanup_git &&\n"> 
          <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\techo new-line >>git-wild#hash &&\n"> 
          <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> <"\t\tthen\n"> <"\t\t\techo new-line >>git-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\techo new-line >>git-wild@at &&\n"> <"\t\techo new-line >>git-wild%percent &&\n"> <"\t\tgit add git-wild* &&\n"> 
          <"\t\tgit commit -m \"modify the wildcard files\" &&\n"> <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> <"\t\tgit p4 submit\n"> <"\t) &&\n"> <"\t(\n"> 
          <"\t\tcd \"$cli\" &&\n"> <"\t\ttest_line_count = 2 git-wild#hash &&\n"> <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> 
          <"\t\tthen\n"> <"\t\t\ttest_line_count = 2 git-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\ttest_line_count = 2 git-wild@at &&\n"> <"\t\ttest_line_count = 2 git-wild%percent\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files submit back to p4, copy">)} 
      {
        (SQ <"\n"> <"\ttest_when_finished cleanup_git &&\n"> 
          <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\tcp file2 git-wild-cp#hash &&\n"> 
          <"\t\tgit add git-wild-cp#hash &&\n"> <"\t\tcp git-wild#hash file-wild-3 &&\n"> <"\t\tgit add file-wild-3 &&\n"> 
          <"\t\tgit commit -m \"wildcard copies\" &&\n"> <"\t\tgit config git-p4.detectCopies true &&\n"> 
          <"\t\tgit config git-p4.detectCopiesHarder true &&\n"> <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> <"\t\tgit p4 submit\n"> <"\t) &&\n"> <"\t(\n"> 
          <"\t\tcd \"$cli\" &&\n"> <"\t\ttest_path_is_file git-wild-cp#hash &&\n"> <"\t\ttest_path_is_file file-wild-3\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files submit back to p4, rename">)} 
      {
        (SQ <"\n"> <"\ttest_when_finished cleanup_git &&\n"> 
          <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\tgit mv git-wild@at file-wild-4 &&\n"> 
          <"\t\tgit mv file-wild-3 git-wild-cp%percent &&\n"> <"\t\tgit commit -m \"wildcard renames\" &&\n"> <"\t\tgit config git-p4.detectRenames true &&\n"> 
          <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> <"\t\tgit p4 submit\n"> <"\t) &&\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> 
          <"\t\ttest_path_is_missing git-wild@at &&\n"> <"\t\ttest_path_is_file git-wild-cp%percent\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files submit back to p4, delete">)} 
      {
        (SQ <"\n"> <"\ttest_when_finished cleanup_git &&\n"> 
          <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\tgit rm git-wild* &&\n"> 
          <"\t\tgit commit -m \"delete the wildcard files\" &&\n"> <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> <"\t\tgit p4 submit\n"> <"\t) &&\n"> <"\t(\n"> 
          <"\t\tcd \"$cli\" &&\n"> <"\t\ttest_path_is_missing git-wild#hash &&\n"> <"\t\tif test_have_prereq !MINGW,!CYGWIN\n"> 
          <"\t\tthen\n"> <"\t\t\ttest_path_is_missing git-wild\\*star\n"> <"\t\tfi &&\n"> 
          <"\t\ttest_path_is_missing git-wild@at &&\n"> <"\t\ttest_path_is_missing git-wild%percent\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"p4 deleted a wildcard file">)} 
      {
        (SQ <"\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> 
          <"\t\techo \"wild delete test\" >wild@delete &&\n"> <"\t\tp4 add -f wild@delete &&\n"> <"\t\tp4 submit -d \"add wild@delete\"\n"> <"\t) &&\n"> 
          <"\ttest_when_finished cleanup_git &&\n"> <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> 
          <"\t\ttest_path_is_file wild@delete\n"> <"\t) &&\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> <"\t\t# must use its encoded name\n"> 
          <"\t\tp4 delete wild%40delete &&\n"> <"\t\tp4 submit -d \"delete wild@delete\"\n"> <"\t) &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> 
          <"\t\tgit p4 sync &&\n"> <"\t\tgit merge --ff-only p4/master &&\n"> <"\t\ttest_path_is_missing wild@delete\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"wildcard files requiring keyword scrub">)} 
      {
        (SQ <"\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> <"\t\tcat <<-\\EOF >scrub@wild &&\n"> 
          <"\t\t$Id$\n"> <"\t\tline2\n"> <"\t\tEOF\n"> <"\t\tp4 add -t text+k -f scrub@wild &&\n"> 
          <"\t\tp4 submit -d \"scrub at wild\"\n"> <"\t) &&\n"> <"\ttest_when_finished cleanup_git &&\n"> <"\tgit p4 clone --dest=\"$git\" //depot &&\n"> 
          <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\tgit config git-p4.skipSubmitEdit true &&\n"> 
          <"\t\tgit config git-p4.attemptRCSCleanup true &&\n"> <"\t\tsed \"s/^line2/line2 edit/\" <scrub@wild >scrub@wild.tmp &&\n"> 
          <"\t\tmv -f scrub@wild.tmp scrub@wild &&\n"> <"\t\tgit commit -m \"scrub at wild line2 edit\" scrub@wild &&\n"> <"\t\tgit p4 submit\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"kill p4d">)} {(SQ <"\n"> <"\tkill_p4d\n">)})
    (C {(test_done)})
  ]
)