#!/bin/sh global test_description := ''git status with certain file name lengths'' source ./test-lib.sh global files := '"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z'" proc check { global len := $1 global prefix := $2 for i in [$files] { : >$prefix$i } test_expect_success "status, filename length $len" " git add $prefix* && git status " rm $prefix* .git/index } check 1 check 2 p check 3 px check 4 pre check 5 pref check 6 prefi check 7 prefix check 8 prefix- check 9 prefix-p check 10 prefix-pr check 11 prefix-pre check 12 prefix-pref check 13 prefix-prefi check 14 prefix-prefix check 15 prefix-prefix- check 16 prefix-prefix-p check 17 prefix-prefix-pr check 18 prefix-prefix-pre check 19 prefix-prefix-pref check 20 prefix-prefix-prefi check 21 prefix-prefix-prefix check 22 prefix-prefix-prefix- check 23 prefix-prefix-prefix-p check 24 prefix-prefix-prefix-pr test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git status with certain file name lengths">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(DQ ("0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z"))} spids: [15] ) ] spids: [15] ) (FuncDef name: check body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:len) op: Equal rhs: {($ VSub_Number "$1")} spids: [28] ) ] spids: [28] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {($ VSub_Number "$2")} spids: [32] ) ] spids: [32] ) (ForEach iter_name: i iter_words: [{($ VSub_Name "$files")}] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [{(Lit_Other ":")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$prefix") ($ VSub_Name "$i")} spids: [51] ) ] ) ] spids: [46 56] ) spids: [42 -1] ) (C {(test_expect_success)} {(DQ ("status, filename length ") ($ VSub_Name "$len"))} { (DQ ("\n") ("\t\tgit add ") ($ VSub_Name "$prefix") ("* &&\n") ("\t\tgit status\n") ("\t")) } ) (C {(rm)} {($ VSub_Name "$prefix") (Lit_Other "*")} {(.git/index)}) ] spids: [25] ) spids: [21 24] ) (C {(check)} {(1)}) (C {(check)} {(2)} {(p)}) (C {(check)} {(3)} {(px)}) (C {(check)} {(4)} {(pre)}) (C {(check)} {(5)} {(pref)}) (C {(check)} {(6)} {(prefi)}) (C {(check)} {(7)} {(prefix)}) (C {(check)} {(8)} {(prefix-)}) (C {(check)} {(9)} {(prefix-p)}) (C {(check)} {(10)} {(prefix-pr)}) (C {(check)} {(11)} {(prefix-pre)}) (C {(check)} {(12)} {(prefix-pref)}) (C {(check)} {(13)} {(prefix-prefi)}) (C {(check)} {(14)} {(prefix-prefix)}) (C {(check)} {(15)} {(prefix-prefix-)}) (C {(check)} {(16)} {(prefix-prefix-p)}) (C {(check)} {(17)} {(prefix-prefix-pr)}) (C {(check)} {(18)} {(prefix-prefix-pre)}) (C {(check)} {(19)} {(prefix-prefix-pref)}) (C {(check)} {(20)} {(prefix-prefix-prefi)}) (C {(check)} {(21)} {(prefix-prefix-prefix)}) (C {(check)} {(22)} {(prefix-prefix-prefix-)}) (C {(check)} {(23)} {(prefix-prefix-prefix-p)}) (C {(check)} {(24)} {(prefix-prefix-prefix-pr)}) (C {(test_done)}) ] )