#!/bin/sh # # Copyright (c) 2005 Junio C Hamano # global test_description := ''Test mode change diffs. '' source ./test-lib.sh global sed_script := "'s/\(:100644 100755\) \('"$_x40"'\) \2 /\1 X X /"' test_expect_success 'setup' ' echo frotz >rezrov && git update-index --add rezrov && tree=$(git write-tree) && echo $tree ' test_expect_success 'chmod' ' test_chmod +x rezrov && git diff-index $tree >current && sed -e "$sed_script" check && echo ":100644 100755 X X M rezrov" >expected && test_cmp expected check ' test_expect_success 'prepare binary file' ' git commit -m rezrov && printf "\00\01\02\03\04\05\06" >binbin && git add binbin && git commit -m binbin ' # test_expect_success '--stat output after text chmod' ' # test_chmod -x rezrov && # echo " 0 files changed" >expect && # git diff HEAD --stat >actual && # test_i18ncmp expect actual # ' # # test_expect_success '--shortstat output after text chmod' ' # git diff HEAD --shortstat >actual && # test_i18ncmp expect actual # ' # # test_expect_success '--stat output after binary chmod' ' # test_chmod +x binbin && # echo " 0 files changed" >expect && # git diff HEAD --stat >actual && # test_i18ncmp expect actual # ' # # test_expect_success '--shortstat output after binary chmod' ' # git diff HEAD --shortstat >actual && # test_i18ncmp expect actual # ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"Test mode change diffs.\n"> <"\n">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sed_script) op: Equal rhs: {(SQ <"s/\\(:100644 100755\\) \\(">) (DQ ($ VSub_Name "$_x40")) (SQ <"\\) \\2 /\\1 X X /">) } spids: [24] ) ] spids: [24] ) (C {(test_expect_success)} {(SQ )} { (SQ <"\n"> <"\techo frotz >rezrov &&\n"> <"\tgit update-index --add rezrov &&\n"> <"\ttree=$(git write-tree) &&\n"> <"\techo $tree\n"> ) } ) (C {(test_expect_success)} {(SQ )} { (SQ <"\n"> <"\ttest_chmod +x rezrov &&\n"> <"\tgit diff-index $tree >current &&\n"> <"\tsed -e \"$sed_script\" check &&\n"> <"\techo \":100644 100755 X X M\trezrov\" >expected &&\n"> <"\ttest_cmp expected check\n"> ) } ) (C {(test_expect_success)} {(SQ <"prepare binary file">)} { (SQ <"\n"> <"\tgit commit -m rezrov &&\n"> <"\tprintf \"\\00\\01\\02\\03\\04\\05\\06\" >binbin &&\n"> <"\tgit add binbin &&\n"> <"\tgit commit -m binbin\n"> ) } ) (C {(test_done)}) ] )