#!/bin/bash # -*- shell-script -*- # Test that we are saving and restoring POSIX variables IFS and PS4 that # the debugger changes. proc test_save_restore_IFS_PS4 { typeset _Dbg_space_IFS=' ' typeset old_IFS="$IFS" typeset _Dbg_old_set_opts=$Flags typeset new_ifs=' ' global _Dbg_old_set_nullglob := '1' global IFS := $new_ifs global PS4 := ''123'' _Dbg_set_debugger_entry assertEquals $_Dbg_space_IFS $IFS assertNotEquals '123' $PS4 _Dbg_set_to_return_from_debugger 0 assertNotEquals $_Dbg_space_IFS $IFS assertEquals $new_ifs $IFS global IFS := $old_IFS } global abs_top_srcdir := '/src/external-vcs/sourceforge/bashdb' # Make sure $abs_top_srcdir has a trailing slash global abs_top_srcdir := "$(abs_top_srcdir%%/)/" source ${abs_top_srcdir}test/unit/helper.sh source ${abs_top_srcdir}/init/pre.sh source ${abs_top_srcdir}/lib/journal.sh source ${abs_top_srcdir}/lib/filecache.sh source ${abs_top_srcdir}/lib/file.sh source ${abs_top_srcdir}/lib/save-restore.sh set -- # reset $# so shunit2 doesn't get confused. [[ $0 == ${BASH_SOURCE} ]] && source ${shunit_file} (CommandList children: [ (FuncDef name: test_save_restore_IFS_PS4 body: (BraceGroup children: [ (C {(typeset)} {(Lit_VarLike "_Dbg_space_IFS=") (SQ <" ">)}) (C {(typeset)} {(Lit_VarLike "old_IFS=") (DQ ($ VSub_Name "$IFS"))}) (C {(typeset)} {(Lit_VarLike "_Dbg_old_set_opts=") ($ VSub_Hyphen "$-")}) (C {(typeset)} {(Lit_VarLike "new_ifs=") (SQ <" \t">)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_old_set_nullglob) op: Equal rhs: {(1)} spids: [50] ) ] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name "$new_ifs"))} spids: [54] ) ] spids: [54] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PS4) op:Equal rhs:{(SQ <123>)} spids:[60])] spids: [60] ) (C {(_Dbg_set_debugger_entry)}) (C {(assertEquals)} {(DQ ($ VSub_Name "$_Dbg_space_IFS"))} {(DQ ($ VSub_Name "$IFS"))}) (C {(assertNotEquals)} {(SQ <123>)} {(DQ ($ VSub_Name "$PS4"))}) (C {(_Dbg_set_to_return_from_debugger)} {(0)}) (C {(assertNotEquals)} {(DQ ($ VSub_Name "$_Dbg_space_IFS"))} {(DQ ($ VSub_Name "$IFS"))}) (C {(assertEquals)} {(DQ ($ VSub_Name "$new_ifs"))} {(DQ ($ VSub_Name "$IFS"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name "$old_IFS"))} spids: [118] ) ] spids: [118] ) ] spids: [17] ) spids: [13 16] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: {(/src/external-vcs/sourceforge/bashdb)} spids: [126] ) ] spids: [126] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)}) spids: [133 137] ) (/) } spids: [132] ) ] spids: [132] ) (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/init/pre.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/lib/journal.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/lib/filecache.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/lib/file.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/lib/save-restore.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 ) ] )