t / t2100-update-cache-badpath.shon commit t4000: make hash size independent (8cc5ff8)
   1#!/bin/sh
   2#
   3# Copyright (c) 2005 Junio C Hamano
   4#
   5
   6test_description='git update-index nonsense-path test.
   7
   8This test creates the following structure in the cache:
   9
  10    path0       - a file
  11    path1       - a symlink
  12    path2/file2 - a file in a directory
  13    path3/file3 - a file in a directory
  14
  15and tries to git update-index --add the following:
  16
  17    path0/file0 - a file in a directory
  18    path1/file1 - a file in a directory
  19    path2       - a file
  20    path3       - a symlink
  21
  22All of the attempts should fail.
  23'
  24
  25. ./test-lib.sh
  26
  27mkdir path2 path3
  28date >path0
  29if test_have_prereq SYMLINKS
  30then
  31        ln -s xyzzy path1
  32else
  33        date > path1
  34fi
  35date >path2/file2
  36date >path3/file3
  37
  38test_expect_success \
  39    'git update-index --add to add various paths.' \
  40    'git update-index --add -- path0 path1 path2/file2 path3/file3'
  41
  42rm -fr path?
  43
  44mkdir path0 path1
  45date >path2
  46if test_have_prereq SYMLINKS
  47then
  48        ln -s frotz path3
  49else
  50        date > path3
  51fi
  52date >path0/file0
  53date >path1/file1
  54
  55for p in path0/file0 path1/file1 path2 path3
  56do
  57        test_expect_success \
  58            "git update-index to add conflicting path $p should fail." \
  59            "test_must_fail git update-index --add -- $p"
  60done
  61test_done