(CommandList children: [ (FuncDef name: test_file_file_canonic body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(0)} spids: [17] ) ] spids: [17] ) (ForEach iter_name: file iter_words: [{(/tmp/foo.bar)} {(/a/b/foo.bar)} {(foo.bar)}] do_arg_iter: False body: (DoGroup children: [ (C {(typeset)} {(canonic_file)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:canonic_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_file_canonic)} {(DQ ($ VSub_Name "$file"))})] ) left_token: <Left_CommandSub "$("> spids: [44 50] ) } spids: [43] ) ] spids: [43] ) (C {(assertEquals)} {(SQ <"canonic_file should return 0">)} {(SQ <0>)} {($ VSub_QMark "$?")} ) (C {(assertEquals)} {(SQ <"canonic_file should do nothing">)} {(DQ ($ VSub_Name "$file"))} {(DQ ($ VSub_Name "$canonic_file"))} ) ] spids: [35 81] ) spids: [26 33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(1)} spids: [85] ) ] spids: [85] ) (C {(typeset)} {(canonic_file)}) (ForEach iter_name: file iter_words: [{(/tmp/foo.bar)} {(/a/b/foo.bar)} {(foo.bar)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:canonic_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_file_canonic)} {(DQ ($ VSub_Name "$file"))})] ) left_token: <Left_CommandSub "$("> spids: [112 118] ) } spids: [111] ) ] spids: [111] ) (C {(assertEquals)} {(SQ <"canonic_file should return 0">)} {(SQ <0>)} {($ VSub_QMark "$?")} ) (C {(assertEquals)} {(SQ <"canonic_file should shorten file">)} {(SQ <foo.bar>)} {(DQ ($ VSub_Name "$canonic_file"))} ) ] spids: [108 149] ) spids: [99 106] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:canonic_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_file_canonic)})]) left_token: <Left_CommandSub "$("> spids: [153 155] ) } spids: [152] ) ] spids: [152] ) (C {(assertNotEquals)} {(SQ <"canonic_file not should return 0">)} {(SQ <0>)} {($ VSub_QMark "$?")} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(0)} spids: [175] ) ] spids: [175] ) ] spids: [14] ) spids: [10 13] ) (FuncDef name: test_file_glob_filename body: (BraceGroup children: [ (C {(typeset)} {(filename)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal rhs:{(SQ )} spids:[197])] spids: [197] ) (C {(_Dbg_tilde_expand_filename)} {($ VSub_Name "$shunit_file")}) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [217 222] ) } spids: [216] ) ] spids: [216] ) (C {(assertEquals)} {(SQ <shunit2>)} {($ VSub_Name "$filename")}) (C {(_Dbg_tilde_expand_filename)} {(./) (${ VSub_Name srcdir) (shunit) (Lit_Other "?")}) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [255 260] ) } spids: [254] ) ] spids: [254] ) (C {(assertEquals)} {(SQ <shunit2>)} {($ VSub_Name "$filename")}) (C {(_Dbg_tilde_expand_filename)} {(./) (${ VSub_Name srcdir) (Lit_Other "[") (a-s) (Lit_Other "]") (h) (Lit_Other "*") (nit) (Lit_Other "?") } ) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [298 303] ) } spids: [297] ) ] spids: [297] ) (C {(assertEquals)} {(SQ <shunit2>)} {($ VSub_Name "$filename")}) (C {(_Dbg_tilde_expand_filename)} {(${ VSub_Name srcdir) (abcdefg)}) (C {(assertEquals)} {(SQ <1>)} {($ VSub_QMark "$?")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [334 339] ) } spids: [333] ) ] spids: [333] ) (C {(assertEquals)} {(SQ <abcdefg>)} {(DQ ($ VSub_Name "$filename"))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_r child:{(Lit_Tilde "~")})) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_tilde_expand_filename)} {(SQ <"~">)}) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (C {(assertEquals)} {(TildeSubPart prefix:"")} {(DQ ($ VSub_Name "$filename"))}) ] spids: [-1 366] ) ] spids: [-1 394] ) (C {(_Dbg_tilde_expand_filename)} {(${ VSub_Name srcdir) (SQ <"some embedded spaces">)}) (C {(assertEquals)} {(SQ <1>)} {($ VSub_QMark "$?")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [418 423] ) } spids: [417] ) ] spids: [417] ) (C {(assertEquals)} {(SQ <"some embedded spaces">)} {(DQ ($ VSub_Name "$filename"))}) ] spids: [188] ) spids: [184 187] ) (FuncDef name: test_file_adjust_filename body: (BraceGroup children: [ (C {(typeset)} {(filename)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_annotate) op: Equal rhs: {(0)} spids: [455] ) ] spids: [455] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(0)} spids: [459] ) ] spids: [459] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_adjust_filename)} {(abc)})]) left_token: <Left_CommandSub "$("> spids: [464 468] ) } spids: [463] ) ] spids: [463] ) (C {(assertEquals)} {(SQ <abc>)} {($ VSub_Name "$filename")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_adjust_filename)} {(/abc)})]) left_token: <Left_CommandSub "$("> spids: [481 485] ) } spids: [480] ) ] spids: [480] ) (C {(assertEquals)} {(SQ </abc>)} {($ VSub_Name "$filename")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(1)} spids: [497] ) ] spids: [497] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_adjust_filename)} {(/abc)})]) left_token: <Left_CommandSub "$("> spids: [502 506] ) } spids: [501] ) ] spids: [501] ) (C {(assertEquals)} {(SQ <abc>)} {($ VSub_Name "$filename")}) ] spids: [447] ) spids: [443 446] ) (FuncDef name: test_file_resolve_expand_filename body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_resolve_expand_filename)} {(/)})] ) left_token: <Left_CommandSub "$("> spids: [531 535] ) } spids: [530] ) ] spids: [530] ) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (C {(assertEquals)} {(SQ </>)} {(DQ ($ VSub_Name "$filename"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_resolve_expand_filename)} {(.)})] ) left_token: <Left_CommandSub "$("> spids: [559 563] ) } spids: [558] ) ] spids: [558] ) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (C {(assertEquals)} {(SQ </>)} { (DQ (BracedVarSub token: <VSub_Name filename> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [582 588] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_resolve_expand_filename)} {(./fdafdsa)})] ) left_token: <Left_CommandSub "$("> spids: [593 597] ) } spids: [592] ) ] spids: [592] ) (C {(assertEquals)} {(SQ <0>)} {($ VSub_QMark "$?")}) (C {(typeset)} {(-i)} {(Lit_VarLike "size=") (BracedVarSub token: <VSub_Name filename> prefix_op: VSub_Pound spids: [614 617] ) } ) (C {(assertEquals)} {(SQ </fdafdsa>)} { (DQ (BracedVarSub token: <VSub_Name filename> suffix_op: (Slice begin: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name "$size")}) right: (ArithWord w:{(Lit_Digits 8)}) ) ) spids: [627 633] ) ) } ) (C {(assertNotEquals)} {(SQ <.>)} { (DQ (BracedVarSub token: <VSub_Name filename> suffix_op: (Slice begin: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name "$size")}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [644 650] ) ) } ) ] spids: [527] ) spids: [523 526] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: {(/src/external-vcs/sourceforge/bashdb)} spids: [656] ) ] spids: [656] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: { (BracedVarSub token: <VSub_Name abs_top_srcdir> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)}) spids: [663 667] ) (/) } spids: [662] ) ] spids: [662] ) (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:srcdir) op:Equal rhs:{(.)} spids:[678])] spids: [678] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: { (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)}) spids: [682 686] ) (/) } spids: [681] ) ] spids: [681] ) (C {(.)} {($ VSub_Name "$abs_top_srcdir") (/init/pre.sh)}) (C {(.)} {($ VSub_Name "$abs_top_srcdir") (/lib/filecache.sh)}) (C {(.)} {($ VSub_Name "$abs_top_srcdir") (/lib/file.sh)}) (C {(set)} {(--)}) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number "$0")} right: {(${ VSub_Name BASH_SOURCE)} ) ) (C {(.)} {(${ VSub_Name shunit_file)}) ] op_id: Op_DAmp ) ] )