t / t3004-ls-files-basic.shon commit Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning' (767da54)
   1#!/bin/sh
   2
   3test_description='basic ls-files tests
   4
   5This test runs git ls-files with various unusual or malformed
   6command-line arguments.
   7'
   8
   9. ./test-lib.sh
  10
  11>empty
  12
  13test_expect_success 'ls-files in empty repository' '
  14        git ls-files >actual &&
  15        test_cmp empty actual
  16'
  17
  18test_expect_success 'ls-files with nonexistent path' '
  19        git ls-files doesnotexist >actual &&
  20        test_cmp empty actual
  21'
  22
  23test_expect_success 'ls-files with nonsense option' '
  24        test_expect_code 129 git ls-files --nonsense 2>actual &&
  25        test_i18ngrep "[Uu]sage: git ls-files" actual
  26'
  27
  28test_expect_success 'ls-files -h in corrupt repository' '
  29        mkdir broken &&
  30        (
  31                cd broken &&
  32                git init &&
  33                >.git/index &&
  34                test_expect_code 129 git ls-files -h >usage 2>&1
  35        ) &&
  36        test_i18ngrep "[Uu]sage: git ls-files " broken/usage
  37'
  38
  39test_expect_success SYMLINKS 'ls-files with absolute paths to symlinks' '
  40        mkdir subs &&
  41        ln -s nosuch link &&
  42        ln -s ../nosuch subs/link &&
  43        git add link subs/link &&
  44        git ls-files -s link subs/link >expect &&
  45        git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual &&
  46        test_cmp expect actual &&
  47
  48        (
  49                cd subs &&
  50                git ls-files -s link >../expect &&
  51                git ls-files -s "$(pwd)/link" >../actual
  52        ) &&
  53        test_cmp expect actual
  54'
  55
  56test_done