t / t4040-whitespace-status.shon commit t3903: abstract away SHA-1-specific constants (c784815)
   1#!/bin/sh
   2
   3test_description='diff --exit-code with whitespace'
   4. ./test-lib.sh
   5
   6test_expect_success setup '
   7        mkdir a b &&
   8        echo >c &&
   9        echo >a/d &&
  10        echo >b/e &&
  11        git add . &&
  12        test_tick &&
  13        git commit -m initial &&
  14        echo " " >a/d &&
  15        test_tick &&
  16        git commit -a -m second &&
  17        echo "  " >a/d &&
  18        echo " " >b/e &&
  19        git add a/d
  20'
  21
  22test_expect_success 'diff-tree --exit-code' '
  23        test_must_fail git diff --exit-code HEAD^ HEAD &&
  24        test_must_fail git diff-tree --exit-code HEAD^ HEAD
  25'
  26
  27test_expect_success 'diff-tree -b --exit-code' '
  28        git diff -b --exit-code HEAD^ HEAD &&
  29        git diff-tree -b -p --exit-code HEAD^ HEAD &&
  30        git diff-tree -b --exit-code HEAD^ HEAD
  31'
  32
  33test_expect_success 'diff-index --cached --exit-code' '
  34        test_must_fail git diff --cached --exit-code HEAD &&
  35        test_must_fail git diff-index --cached --exit-code HEAD
  36'
  37
  38test_expect_success 'diff-index -b -p --cached --exit-code' '
  39        git diff -b --cached --exit-code HEAD &&
  40        git diff-index -b -p --cached --exit-code HEAD
  41'
  42
  43test_expect_success 'diff-index --exit-code' '
  44        test_must_fail git diff --exit-code HEAD &&
  45        test_must_fail git diff-index --exit-code HEAD
  46'
  47
  48test_expect_success 'diff-index -b -p --exit-code' '
  49        git diff -b --exit-code HEAD &&
  50        git diff-index -b -p --exit-code HEAD
  51'
  52
  53test_expect_success 'diff-files --exit-code' '
  54        test_must_fail git diff --exit-code &&
  55        test_must_fail git diff-files --exit-code
  56'
  57
  58test_expect_success 'diff-files -b -p --exit-code' '
  59        git diff -b --exit-code &&
  60        git diff-files -b -p --exit-code
  61'
  62
  63test_expect_success 'diff-files --diff-filter --quiet' '
  64        git reset --hard &&
  65        rm a/d &&
  66        echo x >>b/e &&
  67        test_must_fail git diff-files --diff-filter=M --quiet
  68'
  69
  70test_expect_success 'diff-tree --diff-filter --quiet' '
  71        git commit -a -m "worktree state" &&
  72        test_must_fail git diff-tree --diff-filter=M --quiet HEAD^ HEAD
  73'
  74
  75test_done