t / t9700-perl-git.shon commit untracked-cache: be defensive about missing NULs in index (c6909f9)
   1#!/bin/sh
   2#
   3# Copyright (c) 2008 Lea Wiemann
   4#
   5
   6test_description='perl interface (Git.pm)'
   7. ./test-lib.sh
   8
   9if ! test_have_prereq PERL; then
  10        skip_all='skipping perl interface tests, perl not available'
  11        test_done
  12fi
  13
  14perl -MTest::More -e 0 2>/dev/null || {
  15        skip_all="Perl Test::More unavailable, skipping test"
  16        test_done
  17}
  18
  19# set up test repository
  20
  21test_expect_success \
  22    'set up test repository' \
  23    'echo "test file 1" > file1 &&
  24     echo "test file 2" > file2 &&
  25     mkdir directory1 &&
  26     echo "in directory1" >> directory1/file &&
  27     mkdir directory2 &&
  28     echo "in directory2" >> directory2/file &&
  29     git add . &&
  30     git commit -m "first commit" &&
  31
  32     echo "new file in subdir 2" > directory2/file2 &&
  33     git add . &&
  34     git commit -m "commit in directory2" &&
  35
  36     echo "changed file 1" > file1 &&
  37     git commit -a -m "second commit" &&
  38
  39     git config --add color.test.slot1 green &&
  40     git config --add test.string value &&
  41     git config --add test.dupstring value1 &&
  42     git config --add test.dupstring value2 &&
  43     git config --add test.booltrue true &&
  44     git config --add test.boolfalse no &&
  45     git config --add test.boolother other &&
  46     git config --add test.int 2k &&
  47     git config --add test.path "~/foo" &&
  48     git config --add test.pathexpanded "$HOME/foo" &&
  49     git config --add test.pathmulti foo &&
  50     git config --add test.pathmulti bar
  51     '
  52
  53# The external test will outputs its own plan
  54test_external_has_tap=1
  55
  56test_external_without_stderr \
  57    'Perl API' \
  58    perl "$TEST_DIRECTORY"/t9700/test.pl
  59
  60test_done