#!/bin/sh global test_description := ''test GIT_CEILING_DIRECTORIES'' source ./test-lib.sh proc test_prefix { test_expect_success $1 \ "test '$2' = \"\$(git rev-parse --show-prefix)\"" } proc test_fail { test_expect_success "$1: prefix" ' test_expect_code 128 git rev-parse --show-prefix ' } global TRASH_ROOT := $PWD global ROOT_PARENT := $[dirname $TRASH_ROOT] unset GIT_CEILING_DIRECTORIES test_prefix no_ceil "" export GIT_CEILING_DIRECTORIES global GIT_CEILING_DIRECTORIES := ''"" test_prefix ceil_empty "" global GIT_CEILING_DIRECTORIES := $ROOT_PARENT test_prefix ceil_at_parent "" global GIT_CEILING_DIRECTORIES := ""$ROOT_PARENT/"" test_prefix ceil_at_parent_slash "" global GIT_CEILING_DIRECTORIES := $TRASH_ROOT test_prefix ceil_at_trash "" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/"" test_prefix ceil_at_trash_slash "" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub"" test_prefix ceil_at_sub "" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/"" test_prefix ceil_at_sub_slash "" if test_have_prereq SYMLINKS { ln -s sub top } mkdir -p sub/dir || exit 1 cd sub/dir || exit 1 unset GIT_CEILING_DIRECTORIES test_prefix subdir_no_ceil "sub/dir/" export GIT_CEILING_DIRECTORIES global GIT_CEILING_DIRECTORIES := ''"" test_prefix subdir_ceil_empty "sub/dir/" global GIT_CEILING_DIRECTORIES := $TRASH_ROOT test_fail subdir_ceil_at_trash global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/"" test_fail subdir_ceil_at_trash_slash global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub"" test_fail subdir_ceil_at_sub global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/"" test_fail subdir_ceil_at_sub_slash if test_have_prereq SYMLINKS { global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/top"" test_fail subdir_ceil_at_top global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/top/"" test_fail subdir_ceil_at_top_slash global GIT_CEILING_DIRECTORIES := "":$TRASH_ROOT/top"" test_prefix subdir_ceil_at_top_no_resolve "sub/dir/" global GIT_CEILING_DIRECTORIES := "":$TRASH_ROOT/top/"" test_prefix subdir_ceil_at_top_slash_no_resolve "sub/dir/" } global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/dir"" test_prefix subdir_ceil_at_subdir "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/dir/"" test_prefix subdir_ceil_at_subdir_slash "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/su"" test_prefix subdir_ceil_at_su "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/su/"" test_prefix subdir_ceil_at_su_slash "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/di"" test_prefix subdir_ceil_at_sub_di "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub/di"" test_prefix subdir_ceil_at_sub_di_slash "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/subdi"" test_prefix subdir_ceil_at_subdi "sub/dir/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/subdi"" test_prefix subdir_ceil_at_subdi_slash "sub/dir/" global GIT_CEILING_DIRECTORIES := ""/foo:$TRASH_ROOT/sub"" test_fail second_of_two global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub:/bar"" test_fail first_of_two global GIT_CEILING_DIRECTORIES := ""/foo:$TRASH_ROOT/sub:/bar"" test_fail second_of_three global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sub"" global GIT_DIR := '../../.git' export GIT_DIR test_prefix git_dir_specified "" unset GIT_DIR cd ../.. || exit 1 mkdir -p s/d || exit 1 cd s/d || exit 1 unset GIT_CEILING_DIRECTORIES test_prefix sd_no_ceil "s/d/" export GIT_CEILING_DIRECTORIES global GIT_CEILING_DIRECTORIES := ''"" test_prefix sd_ceil_empty "s/d/" global GIT_CEILING_DIRECTORIES := $TRASH_ROOT test_fail sd_ceil_at_trash global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/"" test_fail sd_ceil_at_trash_slash global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s"" test_fail sd_ceil_at_s global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s/"" test_fail sd_ceil_at_s_slash global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s/d"" test_prefix sd_ceil_at_sd "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s/d/"" test_prefix sd_ceil_at_sd_slash "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/su"" test_prefix sd_ceil_at_su "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/su/"" test_prefix sd_ceil_at_su_slash "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s/di"" test_prefix sd_ceil_at_s_di "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/s/di"" test_prefix sd_ceil_at_s_di_slash "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sdi"" test_prefix sd_ceil_at_sdi "s/d/" global GIT_CEILING_DIRECTORIES := ""$TRASH_ROOT/sdi"" test_prefix sd_ceil_at_sdi_slash "s/d/" test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"test GIT_CEILING_DIRECTORIES">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (FuncDef name: test_prefix body: (BraceGroup children: [ (C {(test_expect_success)} {(DQ ($ VSub_Number "$1"))} { (DQ ("test '") ($ VSub_Number "$2") ("' = ") (EscapedLiteralPart token:) (EscapedLiteralPart token:) ("(git rev-parse --show-prefix)") (EscapedLiteralPart token:) ) } ) ] spids: [18] ) spids: [14 17] ) (FuncDef name: test_fail body: (BraceGroup children: [ (C {(test_expect_success)} {(DQ ($ VSub_Number "$1") (": prefix"))} {(SQ <"\n"> <"\t\ttest_expect_code 128 git rev-parse --show-prefix\n"> <"\t">)} ) ] spids: [46] ) spids: [42 45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TRASH_ROOT) op: Equal rhs: {(DQ ($ VSub_Name "$PWD"))} spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOT_PARENT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ ($ VSub_Name "$TRASH_ROOT"))})] ) left_token: spids: [71 77] ) } spids: [70] ) ] spids: [70] ) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(no_ceil)} {(DQ )}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [98] ) ] spids: [98] ) (C {(test_prefix)} {(ceil_empty)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$ROOT_PARENT"))} spids: [110] ) ] spids: [110] ) (C {(test_prefix)} {(ceil_at_parent)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$ROOT_PARENT") (/))} spids: [123] ) ] spids: [123] ) (C {(test_prefix)} {(ceil_at_parent_slash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [137] ) ] spids: [137] ) (C {(test_prefix)} {(ceil_at_trash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [150] ) ] spids: [150] ) (C {(test_prefix)} {(ceil_at_trash_slash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [164] ) ] spids: [164] ) (C {(test_prefix)} {(ceil_at_sub)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/))} spids: [178] ) ] spids: [178] ) (C {(test_prefix)} {(ceil_at_sub_slash)} {(DQ )}) (If arms: [ (if_arm cond: [(C {(test_have_prereq)} {(SYMLINKS)})] action: [(C {(ln)} {(-s)} {(sub)} {(top)})] spids: [-1 198] ) ] spids: [-1 209] ) (AndOr children:[(C {(mkdir)} {(-p)} {(sub/dir)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(cd)} {(sub/dir)})(C {(exit)} {(1)})] op_id:Op_DPipe) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(subdir_no_ceil)} {(DQ (sub/dir/))}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [253] ) ] spids: [253] ) (C {(test_prefix)} {(subdir_ceil_empty)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [266] ) ] spids: [266] ) (C {(test_fail)} {(subdir_ceil_at_trash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [276] ) ] spids: [276] ) (C {(test_fail)} {(subdir_ceil_at_trash_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [287] ) ] spids: [287] ) (C {(test_fail)} {(subdir_ceil_at_sub)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/))} spids: [298] ) ] spids: [298] ) (C {(test_fail)} {(subdir_ceil_at_sub_slash)}) (If arms: [ (if_arm cond: [(C {(test_have_prereq)} {(SYMLINKS)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/top))} spids: [318] ) ] spids: [318] ) (C {(test_fail)} {(subdir_ceil_at_top)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/top/))} spids: [330] ) ] spids: [330] ) (C {(test_fail)} {(subdir_ceil_at_top_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ (":") ($ VSub_Name "$TRASH_ROOT") (/top))} spids: [343] ) ] spids: [343] ) (C {(test_prefix)} {(subdir_ceil_at_top_no_resolve)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ (":") ($ VSub_Name "$TRASH_ROOT") (/top/))} spids: [360] ) ] spids: [360] ) (C {(test_prefix)} {(subdir_ceil_at_top_slash_no_resolve)} {(DQ (sub/dir/))}) ] spids: [-1 315] ) ] spids: [-1 376] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/dir))} spids: [379] ) ] spids: [379] ) (C {(test_prefix)} {(subdir_ceil_at_subdir)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/dir/))} spids: [394] ) ] spids: [394] ) (C {(test_prefix)} {(subdir_ceil_at_subdir_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su))} spids: [410] ) ] spids: [410] ) (C {(test_prefix)} {(subdir_ceil_at_su)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su/))} spids: [425] ) ] spids: [425] ) (C {(test_prefix)} {(subdir_ceil_at_su_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/di))} spids: [440] ) ] spids: [440] ) (C {(test_prefix)} {(subdir_ceil_at_sub_di)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/di))} spids: [455] ) ] spids: [455] ) (C {(test_prefix)} {(subdir_ceil_at_sub_di_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/subdi))} spids: [470] ) ] spids: [470] ) (C {(test_prefix)} {(subdir_ceil_at_subdi)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/subdi))} spids: [485] ) ] spids: [485] ) (C {(test_prefix)} {(subdir_ceil_at_subdi_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ("/foo:") ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [501] ) ] spids: [501] ) (C {(test_fail)} {(second_of_two)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") ("/sub:/bar"))} spids: [513] ) ] spids: [513] ) (C {(test_fail)} {(first_of_two)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ("/foo:") ($ VSub_Name "$TRASH_ROOT") ("/sub:/bar"))} spids: [524] ) ] spids: [524] ) (C {(test_fail)} {(second_of_three)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [537] ) ] spids: [537] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:GIT_DIR) op:Equal rhs:{(../../.git)} spids:[543])] spids: [543] ) (C {(export)} {(GIT_DIR)}) (C {(test_prefix)} {(git_dir_specified)} {(DQ )}) (C {(unset)} {(GIT_DIR)}) (AndOr children:[(C {(cd)} {(../..)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(mkdir)} {(-p)} {(s/d)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(cd)} {(s/d)})(C {(exit)} {(1)})] op_id:Op_DPipe) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(sd_no_ceil)} {(DQ (s/d/))}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [614] ) ] spids: [614] ) (C {(test_prefix)} {(sd_ceil_empty)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [627] ) ] spids: [627] ) (C {(test_fail)} {(sd_ceil_at_trash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [637] ) ] spids: [637] ) (C {(test_fail)} {(sd_ceil_at_trash_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s))} spids: [648] ) ] spids: [648] ) (C {(test_fail)} {(sd_ceil_at_s)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/))} spids: [659] ) ] spids: [659] ) (C {(test_fail)} {(sd_ceil_at_s_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/d))} spids: [670] ) ] spids: [670] ) (C {(test_prefix)} {(sd_ceil_at_sd)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/d/))} spids: [685] ) ] spids: [685] ) (C {(test_prefix)} {(sd_ceil_at_sd_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su))} spids: [701] ) ] spids: [701] ) (C {(test_prefix)} {(sd_ceil_at_su)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su/))} spids: [716] ) ] spids: [716] ) (C {(test_prefix)} {(sd_ceil_at_su_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/di))} spids: [731] ) ] spids: [731] ) (C {(test_prefix)} {(sd_ceil_at_s_di)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/di))} spids: [746] ) ] spids: [746] ) (C {(test_prefix)} {(sd_ceil_at_s_di_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sdi))} spids: [761] ) ] spids: [761] ) (C {(test_prefix)} {(sd_ceil_at_sdi)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sdi))} spids: [776] ) ] spids: [776] ) (C {(test_prefix)} {(sd_ceil_at_sdi_slash)} {(DQ (s/d/))}) (C {(test_done)}) ] )