OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [insight/] [tcl/] [tests/] [fileName.test] - Diff between revs 579 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 579 Rev 1765
# This file tests the filename manipulation routines.
# This file tests the filename manipulation routines.
#
#
# This file contains a collection of tests for one or more of the Tcl
# This file contains a collection of tests for one or more of the Tcl
# built-in commands.  Sourcing this file into Tcl runs the tests and
# built-in commands.  Sourcing this file into Tcl runs the tests and
# generates output for errors.  No output means no errors were found.
# generates output for errors.  No output means no errors were found.
#
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
#
#
# See the file "license.terms" for information on usage and redistribution
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
#
# RCS: @(#) $Id: fileName.test,v 1.1.1.1 2002-01-16 10:25:36 markom Exp $
# RCS: @(#) $Id: fileName.test,v 1.1.1.1 2002-01-16 10:25:36 markom Exp $
if {[string compare test [info procs test]] == 1} then {source defs}
if {[string compare test [info procs test]] == 1} then {source defs}
if {[info commands testsetplatform] == {}} {
if {[info commands testsetplatform] == {}} {
    puts "This application hasn't been compiled with the \"testsetplatform\""
    puts "This application hasn't been compiled with the \"testsetplatform\""
    puts "command, so I can't test the filename conversion procedures."
    puts "command, so I can't test the filename conversion procedures."
    return
    return
}
}
global env
global env
set platform [testgetplatform]
set platform [testgetplatform]
test filename-1.1 {Tcl_GetPathType: unix} {
test filename-1.1 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype /
    file pathtype /
} absolute
} absolute
test filename-1.2 {Tcl_GetPathType: unix} {
test filename-1.2 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype /foo
    file pathtype /foo
} absolute
} absolute
test filename-1.3 {Tcl_GetPathType: unix} {
test filename-1.3 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype foo
    file pathtype foo
} relative
} relative
test filename-1.4 {Tcl_GetPathType: unix} {
test filename-1.4 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype c:/foo
    file pathtype c:/foo
} relative
} relative
test filename-1.5 {Tcl_GetPathType: unix} {
test filename-1.5 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype ~
    file pathtype ~
} absolute
} absolute
test filename-1.6 {Tcl_GetPathType: unix} {
test filename-1.6 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype ~/foo
    file pathtype ~/foo
} absolute
} absolute
test filename-1.7 {Tcl_GetPathType: unix} {
test filename-1.7 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype ~foo
    file pathtype ~foo
} absolute
} absolute
test filename-1.8 {Tcl_GetPathType: unix} {
test filename-1.8 {Tcl_GetPathType: unix} {
    testsetplatform unix
    testsetplatform unix
    file pathtype ./~foo
    file pathtype ./~foo
} relative
} relative
test filename-2.1 {Tcl_GetPathType: mac, denerate names} {
test filename-2.1 {Tcl_GetPathType: mac, denerate names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /
    file pathtype /
} relative
} relative
test filename-2.2 {Tcl_GetPathType: mac, denerate names} {
test filename-2.2 {Tcl_GetPathType: mac, denerate names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /.
    file pathtype /.
} relative
} relative
test filename-2.3 {Tcl_GetPathType: mac, denerate names} {
test filename-2.3 {Tcl_GetPathType: mac, denerate names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /..
    file pathtype /..
} relative
} relative
test filename-2.4 {Tcl_GetPathType: mac, denerate names} {
test filename-2.4 {Tcl_GetPathType: mac, denerate names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype //.//
    file pathtype //.//
} relative
} relative
test filename-2.5 {Tcl_GetPathType: mac, denerate names} {
test filename-2.5 {Tcl_GetPathType: mac, denerate names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype //.//../.
    file pathtype //.//../.
} relative
} relative
test filename-2.6 {Tcl_GetPathType: mac, tilde names} {
test filename-2.6 {Tcl_GetPathType: mac, tilde names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~
    file pathtype ~
} absolute
} absolute
test filename-2.7 {Tcl_GetPathType: mac, tilde names} {
test filename-2.7 {Tcl_GetPathType: mac, tilde names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~:
    file pathtype ~:
} absolute
} absolute
test filename-2.8 {Tcl_GetPathType: mac, tilde names} {
test filename-2.8 {Tcl_GetPathType: mac, tilde names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~:foo
    file pathtype ~:foo
} absolute
} absolute
test filename-2.9 {Tcl_GetPathType: mac, tilde names} {
test filename-2.9 {Tcl_GetPathType: mac, tilde names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~/
    file pathtype ~/
} absolute
} absolute
test filename-2.10 {Tcl_GetPathType: mac, tilde names} {
test filename-2.10 {Tcl_GetPathType: mac, tilde names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~/foo
    file pathtype ~/foo
} absolute
} absolute
test filename-2.11 {Tcl_GetPathType: mac, unix-style names} {
test filename-2.11 {Tcl_GetPathType: mac, unix-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /foo
    file pathtype /foo
} absolute
} absolute
test filename-2.12 {Tcl_GetPathType: mac, unix-style names} {
test filename-2.12 {Tcl_GetPathType: mac, unix-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /./foo
    file pathtype /./foo
} absolute
} absolute
test filename-2.13 {Tcl_GetPathType: mac, unix-style names} {
test filename-2.13 {Tcl_GetPathType: mac, unix-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /..//./foo
    file pathtype /..//./foo
} absolute
} absolute
test filename-2.14 {Tcl_GetPathType: mac, unix-style names} {
test filename-2.14 {Tcl_GetPathType: mac, unix-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /foo/bar
    file pathtype /foo/bar
} absolute
} absolute
test filename-2.15 {Tcl_GetPathType: mac, unix-style names} {
test filename-2.15 {Tcl_GetPathType: mac, unix-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype foo/bar
    file pathtype foo/bar
} relative
} relative
test filename-2.16 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.16 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype :
    file pathtype :
} relative
} relative
test filename-2.17 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.17 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype :foo
    file pathtype :foo
} relative
} relative
test filename-2.18 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.18 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype foo:
    file pathtype foo:
} absolute
} absolute
test filename-2.19 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.19 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype foo:bar
    file pathtype foo:bar
} absolute
} absolute
test filename-2.20 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.20 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype :foo:bar
    file pathtype :foo:bar
} relative
} relative
test filename-2.21 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.21 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ::foo:bar
    file pathtype ::foo:bar
} relative
} relative
test filename-2.22 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.22 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~foo
    file pathtype ~foo
} absolute
} absolute
test filename-2.23 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.23 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype :~foo
    file pathtype :~foo
} relative
} relative
test filename-2.24 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.24 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype ~foo:
    file pathtype ~foo:
} absolute
} absolute
test filename-2.25 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.25 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype foo/bar:
    file pathtype foo/bar:
} absolute
} absolute
test filename-2.26 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.26 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype /foo:
    file pathtype /foo:
} absolute
} absolute
test filename-2.27 {Tcl_GetPathType: mac, mac-style names} {
test filename-2.27 {Tcl_GetPathType: mac, mac-style names} {
    testsetplatform mac
    testsetplatform mac
    file pathtype foo
    file pathtype foo
} relative
} relative
test filename-3.1 {Tcl_GetPathType: windows} {
test filename-3.1 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype /
    file pathtype /
} volumerelative
} volumerelative
test filename-3.2 {Tcl_GetPathType: windows} {
test filename-3.2 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype \\
    file pathtype \\
} volumerelative
} volumerelative
test filename-3.3 {Tcl_GetPathType: windows} {
test filename-3.3 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype /foo
    file pathtype /foo
} volumerelative
} volumerelative
test filename-3.4 {Tcl_GetPathType: windows} {
test filename-3.4 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype \\foo
    file pathtype \\foo
} volumerelative
} volumerelative
test filename-3.5 {Tcl_GetPathType: windows} {
test filename-3.5 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:/
    file pathtype c:/
} absolute
} absolute
test filename-3.6 {Tcl_GetPathType: windows} {
test filename-3.6 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:\\
    file pathtype c:\\
} absolute
} absolute
test filename-3.7 {Tcl_GetPathType: windows} {
test filename-3.7 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:/foo
    file pathtype c:/foo
} absolute
} absolute
test filename-3.8 {Tcl_GetPathType: windows} {
test filename-3.8 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:\\foo
    file pathtype c:\\foo
} absolute
} absolute
test filename-3.9 {Tcl_GetPathType: windows} {
test filename-3.9 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:
    file pathtype c:
} volumerelative
} volumerelative
test filename-3.10 {Tcl_GetPathType: windows} {
test filename-3.10 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype c:foo
    file pathtype c:foo
} volumerelative
} volumerelative
test filename-3.11 {Tcl_GetPathType: windows} {
test filename-3.11 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype foo
    file pathtype foo
} relative
} relative
test filename-3.12 {Tcl_GetPathType: windows} {
test filename-3.12 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype //foo/bar
    file pathtype //foo/bar
} absolute
} absolute
test filename-3.13 {Tcl_GetPathType: windows} {
test filename-3.13 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype ~foo
    file pathtype ~foo
} absolute
} absolute
test filename-3.14 {Tcl_GetPathType: windows} {
test filename-3.14 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype ~
    file pathtype ~
} absolute
} absolute
test filename-3.15 {Tcl_GetPathType: windows} {
test filename-3.15 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype ~/foo
    file pathtype ~/foo
} absolute
} absolute
test filename-3.16 {Tcl_GetPathType: windows} {
test filename-3.16 {Tcl_GetPathType: windows} {
    testsetplatform windows
    testsetplatform windows
    file pathtype ./~foo
    file pathtype ./~foo
} relative
} relative
test filename-4.1 {Tcl_SplitPath: unix} {
test filename-4.1 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split /
    file split /
} {/}
} {/}
test filename-4.2 {Tcl_SplitPath: unix} {
test filename-4.2 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split /foo
    file split /foo
} {/ foo}
} {/ foo}
test filename-4.3 {Tcl_SplitPath: unix} {
test filename-4.3 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split /foo/bar
    file split /foo/bar
} {/ foo bar}
} {/ foo bar}
test filename-4.4 {Tcl_SplitPath: unix} {
test filename-4.4 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split /foo/bar/baz
    file split /foo/bar/baz
} {/ foo bar baz}
} {/ foo bar baz}
test filename-4.5 {Tcl_SplitPath: unix} {
test filename-4.5 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split foo/bar
    file split foo/bar
} {foo bar}
} {foo bar}
test filename-4.6 {Tcl_SplitPath: unix} {
test filename-4.6 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ./foo/bar
    file split ./foo/bar
} {. foo bar}
} {. foo bar}
test filename-4.7 {Tcl_SplitPath: unix} {
test filename-4.7 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split /foo/../././foo/bar
    file split /foo/../././foo/bar
} {/ foo .. . . foo bar}
} {/ foo .. . . foo bar}
test filename-4.8 {Tcl_SplitPath: unix} {
test filename-4.8 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ../foo/bar
    file split ../foo/bar
} {.. foo bar}
} {.. foo bar}
test filename-4.9 {Tcl_SplitPath: unix} {
test filename-4.9 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split {}
    file split {}
} {}
} {}
test filename-4.10 {Tcl_SplitPath: unix} {
test filename-4.10 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split .
    file split .
} {.}
} {.}
test filename-4.11 {Tcl_SplitPath: unix} {
test filename-4.11 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ../
    file split ../
} {..}
} {..}
test filename-4.12 {Tcl_SplitPath: unix} {
test filename-4.12 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ../..
    file split ../..
} {.. ..}
} {.. ..}
test filename-4.13 {Tcl_SplitPath: unix} {
test filename-4.13 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split //foo
    file split //foo
} {/ foo}
} {/ foo}
test filename-4.14 {Tcl_SplitPath: unix} {
test filename-4.14 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split foo//bar
    file split foo//bar
} {foo bar}
} {foo bar}
test filename-4.15 {Tcl_SplitPath: unix} {
test filename-4.15 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ~foo
    file split ~foo
} {~foo}
} {~foo}
test filename-4.16 {Tcl_SplitPath: unix} {
test filename-4.16 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ~foo/~bar
    file split ~foo/~bar
} {~foo ./~bar}
} {~foo ./~bar}
test filename-4.17 {Tcl_SplitPath: unix} {
test filename-4.17 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split ~foo/~bar/~baz
    file split ~foo/~bar/~baz
} {~foo ./~bar ./~baz}
} {~foo ./~bar ./~baz}
test filename-4.18 {Tcl_SplitPath: unix} {
test filename-4.18 {Tcl_SplitPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file split foo/bar~/baz
    file split foo/bar~/baz
} {foo bar~ baz}
} {foo bar~ baz}
test filename-5.1 {Tcl_SplitPath: mac} {
test filename-5.1 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:b
    file split a:b
} {a: b}
} {a: b}
test filename-5.2 {Tcl_SplitPath: mac} {
test filename-5.2 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:b:c
    file split a:b:c
} {a: b c}
} {a: b c}
test filename-5.3 {Tcl_SplitPath: mac} {
test filename-5.3 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:b:c:
    file split a:b:c:
} {a: b c}
} {a: b c}
test filename-5.4 {Tcl_SplitPath: mac} {
test filename-5.4 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:
    file split a:
} {a:}
} {a:}
test filename-5.5 {Tcl_SplitPath: mac} {
test filename-5.5 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a::
    file split a::
} {a: ::}
} {a: ::}
test filename-5.6 {Tcl_SplitPath: mac} {
test filename-5.6 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:::
    file split a:::
} {a: :: ::}
} {a: :: ::}
test filename-5.7 {Tcl_SplitPath: mac} {
test filename-5.7 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split :a
    file split :a
} {a}
} {a}
test filename-5.8 {Tcl_SplitPath: mac} {
test filename-5.8 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split :a::
    file split :a::
} {a ::}
} {a ::}
test filename-5.9 {Tcl_SplitPath: mac} {
test filename-5.9 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split :
    file split :
} {:}
} {:}
test filename-5.10 {Tcl_SplitPath: mac} {
test filename-5.10 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ::
    file split ::
} {::}
} {::}
test filename-5.11 {Tcl_SplitPath: mac} {
test filename-5.11 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split :::
    file split :::
} {:: ::}
} {:: ::}
test filename-5.12 {Tcl_SplitPath: mac} {
test filename-5.12 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:::b
    file split a:::b
} {a: :: :: b}
} {a: :: :: b}
test filename-5.13 {Tcl_SplitPath: mac} {
test filename-5.13 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /a:b
    file split /a:b
} {/a: b}
} {/a: b}
test filename-5.14 {Tcl_SplitPath: mac} {
test filename-5.14 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~:
    file split ~:
} {~:}
} {~:}
test filename-5.15 {Tcl_SplitPath: mac} {
test filename-5.15 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~/:
    file split ~/:
} {~/:}
} {~/:}
test filename-5.16 {Tcl_SplitPath: mac} {
test filename-5.16 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~:foo
    file split ~:foo
} {~: foo}
} {~: foo}
test filename-5.17 {Tcl_SplitPath: mac} {
test filename-5.17 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~/foo
    file split ~/foo
} {~: foo}
} {~: foo}
test filename-5.18 {Tcl_SplitPath: mac} {
test filename-5.18 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~foo:
    file split ~foo:
} {~foo:}
} {~foo:}
test filename-5.19 {Tcl_SplitPath: mac} {
test filename-5.19 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:~foo
    file split a:~foo
} {a: :~foo}
} {a: :~foo}
test filename-5.20 {Tcl_SplitPath: mac} {
test filename-5.20 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /
    file split /
} {:/}
} {:/}
test filename-5.21 {Tcl_SplitPath: mac} {
test filename-5.21 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a:b/c
    file split a:b/c
} {a: :b/c}
} {a: :b/c}
test filename-5.22 {Tcl_SplitPath: mac} {
test filename-5.22 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /foo
    file split /foo
} {foo:}
} {foo:}
test filename-5.23 {Tcl_SplitPath: mac} {
test filename-5.23 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /a/b
    file split /a/b
} {a: b}
} {a: b}
test filename-5.24 {Tcl_SplitPath: mac} {
test filename-5.24 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /a/b/foo
    file split /a/b/foo
} {a: b foo}
} {a: b foo}
test filename-5.25 {Tcl_SplitPath: mac} {
test filename-5.25 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a/b
    file split a/b
} {a b}
} {a b}
test filename-5.26 {Tcl_SplitPath: mac} {
test filename-5.26 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ./foo/bar
    file split ./foo/bar
} {: foo bar}
} {: foo bar}
test filename-5.27 {Tcl_SplitPath: mac} {
test filename-5.27 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ../foo/bar
    file split ../foo/bar
} {:: foo bar}
} {:: foo bar}
test filename-5.28 {Tcl_SplitPath: mac} {
test filename-5.28 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split {}
    file split {}
} {}
} {}
test filename-5.29 {Tcl_SplitPath: mac} {
test filename-5.29 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split .
    file split .
} {:}
} {:}
test filename-5.30 {Tcl_SplitPath: mac} {
test filename-5.30 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ././
    file split ././
} {: :}
} {: :}
test filename-5.31 {Tcl_SplitPath: mac} {
test filename-5.31 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ././.
    file split ././.
} {: : :}
} {: : :}
test filename-5.32 {Tcl_SplitPath: mac} {
test filename-5.32 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ../
    file split ../
} {::}
} {::}
test filename-5.33 {Tcl_SplitPath: mac} {
test filename-5.33 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ..
    file split ..
} {::}
} {::}
test filename-5.34 {Tcl_SplitPath: mac} {
test filename-5.34 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ../..
    file split ../..
} {:: ::}
} {:: ::}
test filename-5.35 {Tcl_SplitPath: mac} {
test filename-5.35 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split //foo
    file split //foo
} {foo:}
} {foo:}
test filename-5.36 {Tcl_SplitPath: mac} {
test filename-5.36 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split foo//bar
    file split foo//bar
} {foo bar}
} {foo bar}
test filename-5.37 {Tcl_SplitPath: mac} {
test filename-5.37 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~foo
    file split ~foo
} {~foo:}
} {~foo:}
test filename-5.38 {Tcl_SplitPath: mac} {
test filename-5.38 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~
    file split ~
} {~:}
} {~:}
test filename-5.39 {Tcl_SplitPath: mac} {
test filename-5.39 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split foo
    file split foo
} {foo}
} {foo}
test filename-5.40 {Tcl_SplitPath: mac} {
test filename-5.40 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~/
    file split ~/
} {~:}
} {~:}
test filename-5.41 {Tcl_SplitPath: mac} {
test filename-5.41 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~foo/~bar
    file split ~foo/~bar
} {~foo: :~bar}
} {~foo: :~bar}
test filename-5.42 {Tcl_SplitPath: mac} {
test filename-5.42 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split ~foo/~bar/~baz
    file split ~foo/~bar/~baz
} {~foo: :~bar :~baz}
} {~foo: :~bar :~baz}
test filename-5.43 {Tcl_SplitPath: mac} {
test filename-5.43 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split foo/bar~/baz
    file split foo/bar~/baz
} {foo bar~ baz}
} {foo bar~ baz}
test filename-5.44 {Tcl_SplitPath: mac} {
test filename-5.44 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a/../b
    file split a/../b
} {a :: b}
} {a :: b}
test filename-5.45 {Tcl_SplitPath: mac} {
test filename-5.45 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a/../../b
    file split a/../../b
} {a :: :: b}
} {a :: :: b}
test filename-5.46 {Tcl_SplitPath: mac} {
test filename-5.46 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split a/.././../b
    file split a/.././../b
} {a :: : :: b}
} {a :: : :: b}
test filename-5.47 {Tcl_SplitPath: mac} {
test filename-5.47 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /../bar
    file split /../bar
} {bar:}
} {bar:}
test filename-5.48 {Tcl_SplitPath: mac} {
test filename-5.48 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /./bar
    file split /./bar
} {bar:}
} {bar:}
test filename-5.49 {Tcl_SplitPath: mac} {
test filename-5.49 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split //.//.././bar
    file split //.//.././bar
} {bar:}
} {bar:}
test filename-5.50 {Tcl_SplitPath: mac} {
test filename-5.50 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split /..
    file split /..
} {:/..}
} {:/..}
test filename-5.51 {Tcl_SplitPath: mac} {
test filename-5.51 {Tcl_SplitPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file split //.//.././
    file split //.//.././
} {://.//.././}
} {://.//.././}
test filename-6.1 {Tcl_SplitPath: win} {
test filename-6.1 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /
    file split /
} {/}
} {/}
test filename-6.2 {Tcl_SplitPath: win} {
test filename-6.2 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /foo
    file split /foo
} {/ foo}
} {/ foo}
test filename-6.3 {Tcl_SplitPath: win} {
test filename-6.3 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /foo/bar
    file split /foo/bar
} {/ foo bar}
} {/ foo bar}
test filename-6.4 {Tcl_SplitPath: win} {
test filename-6.4 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /foo/bar/baz
    file split /foo/bar/baz
} {/ foo bar baz}
} {/ foo bar baz}
test filename-6.5 {Tcl_SplitPath: win} {
test filename-6.5 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split foo/bar
    file split foo/bar
} {foo bar}
} {foo bar}
test filename-6.6 {Tcl_SplitPath: win} {
test filename-6.6 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ./foo/bar
    file split ./foo/bar
} {. foo bar}
} {. foo bar}
test filename-6.7 {Tcl_SplitPath: win} {
test filename-6.7 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /foo/../././foo/bar
    file split /foo/../././foo/bar
} {/ foo .. . . foo bar}
} {/ foo .. . . foo bar}
test filename-6.8 {Tcl_SplitPath: win} {
test filename-6.8 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ../foo/bar
    file split ../foo/bar
} {.. foo bar}
} {.. foo bar}
test filename-6.9 {Tcl_SplitPath: win} {
test filename-6.9 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split {}
    file split {}
} {}
} {}
test filename-6.10 {Tcl_SplitPath: win} {
test filename-6.10 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split .
    file split .
} {.}
} {.}
test filename-6.11 {Tcl_SplitPath: win} {
test filename-6.11 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ../
    file split ../
} {..}
} {..}
test filename-6.12 {Tcl_SplitPath: win} {
test filename-6.12 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ../..
    file split ../..
} {.. ..}
} {.. ..}
test filename-6.13 {Tcl_SplitPath: win} {
test filename-6.13 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split //foo
    file split //foo
} {/ foo}
} {/ foo}
test filename-6.14 {Tcl_SplitPath: win} {
test filename-6.14 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split foo//bar
    file split foo//bar
} {foo bar}
} {foo bar}
test filename-6.15 {Tcl_SplitPath: win} {
test filename-6.15 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /\\/foo//bar
    file split /\\/foo//bar
} {//foo/bar}
} {//foo/bar}
test filename-6.16 {Tcl_SplitPath: win} {
test filename-6.16 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /\\/foo//bar
    file split /\\/foo//bar
} {//foo/bar}
} {//foo/bar}
test filename-6.17 {Tcl_SplitPath: win} {
test filename-6.17 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split /\\/foo//bar
    file split /\\/foo//bar
} {//foo/bar}
} {//foo/bar}
test filename-6.18 {Tcl_SplitPath: win} {
test filename-6.18 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split \\\\foo\\bar
    file split \\\\foo\\bar
} {//foo/bar}
} {//foo/bar}
test filename-6.19 {Tcl_SplitPath: win} {
test filename-6.19 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split \\\\foo\\bar/baz
    file split \\\\foo\\bar/baz
} {//foo/bar baz}
} {//foo/bar baz}
test filename-6.20 {Tcl_SplitPath: win} {
test filename-6.20 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:/foo
    file split c:/foo
} {c:/ foo}
} {c:/ foo}
test filename-6.21 {Tcl_SplitPath: win} {
test filename-6.21 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:foo
    file split c:foo
} {c: foo}
} {c: foo}
test filename-6.22 {Tcl_SplitPath: win} {
test filename-6.22 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:
    file split c:
} {c:}
} {c:}
test filename-6.23 {Tcl_SplitPath: win} {
test filename-6.23 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:\\
    file split c:\\
} {c:/}
} {c:/}
test filename-6.24 {Tcl_SplitPath: win} {
test filename-6.24 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:/
    file split c:/
} {c:/}
} {c:/}
test filename-6.25 {Tcl_SplitPath: win} {
test filename-6.25 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:/./..
    file split c:/./..
} {c:/ . ..}
} {c:/ . ..}
test filename-6.26 {Tcl_SplitPath: win} {
test filename-6.26 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ~foo
    file split ~foo
} {~foo}
} {~foo}
test filename-6.27 {Tcl_SplitPath: win} {
test filename-6.27 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ~foo/~bar
    file split ~foo/~bar
} {~foo ./~bar}
} {~foo ./~bar}
test filename-6.28 {Tcl_SplitPath: win} {
test filename-6.28 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split ~foo/~bar/~baz
    file split ~foo/~bar/~baz
} {~foo ./~bar ./~baz}
} {~foo ./~bar ./~baz}
test filename-6.29 {Tcl_SplitPath: win} {
test filename-6.29 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split foo/bar~/baz
    file split foo/bar~/baz
} {foo bar~ baz}
} {foo bar~ baz}
test filename-6.30 {Tcl_SplitPath: win} {
test filename-6.30 {Tcl_SplitPath: win} {
    testsetplatform win
    testsetplatform win
    file split c:~foo
    file split c:~foo
} {c: ./~foo}
} {c: ./~foo}
test filename-7.1 {Tcl_JoinPath: unix} {
test filename-7.1 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join / a
    file join / a
} {/a}
} {/a}
test filename-7.2 {Tcl_JoinPath: unix} {
test filename-7.2 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join a b
    file join a b
} {a/b}
} {a/b}
test filename-7.3 {Tcl_JoinPath: unix} {
test filename-7.3 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /a c /b d
    file join /a c /b d
} {/b/d}
} {/b/d}
test filename-7.4 {Tcl_JoinPath: unix} {
test filename-7.4 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /
    file join /
} {/}
} {/}
test filename-7.5 {Tcl_JoinPath: unix} {
test filename-7.5 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join a
    file join a
} {a}
} {a}
test filename-7.6 {Tcl_JoinPath: unix} {
test filename-7.6 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join {}
    file join {}
} {}
} {}
test filename-7.7 {Tcl_JoinPath: unix} {
test filename-7.7 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /a/ b
    file join /a/ b
} {/a/b}
} {/a/b}
test filename-7.8 {Tcl_JoinPath: unix} {
test filename-7.8 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /a// b
    file join /a// b
} {/a/b}
} {/a/b}
test filename-7.9 {Tcl_JoinPath: unix} {
test filename-7.9 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /a/./../. b
    file join /a/./../. b
} {/a/./.././b}
} {/a/./.././b}
test filename-7.10 {Tcl_JoinPath: unix} {
test filename-7.10 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join ~ a
    file join ~ a
} {~/a}
} {~/a}
test filename-7.11 {Tcl_JoinPath: unix} {
test filename-7.11 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join ~a ~b
    file join ~a ~b
} {~b}
} {~b}
test filename-7.12 {Tcl_JoinPath: unix} {
test filename-7.12 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join ./~a b
    file join ./~a b
} {./~a/b}
} {./~a/b}
test filename-7.13 {Tcl_JoinPath: unix} {
test filename-7.13 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join ./~a ~b
    file join ./~a ~b
} {~b}
} {~b}
test filename-7.14 {Tcl_JoinPath: unix} {
test filename-7.14 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join ./~a ./~b
    file join ./~a ./~b
} {./~a/~b}
} {./~a/~b}
test filename-7.15 {Tcl_JoinPath: unix} {
test filename-7.15 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join a . b
    file join a . b
} {a/./b}
} {a/./b}
test filename-7.16 {Tcl_JoinPath: unix} {
test filename-7.16 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join a . ./~b
    file join a . ./~b
} {a/./~b}
} {a/./~b}
test filename-7.17 {Tcl_JoinPath: unix} {
test filename-7.17 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join //a b
    file join //a b
} {/a/b}
} {/a/b}
test filename-7.18 {Tcl_JoinPath: unix} {
test filename-7.18 {Tcl_JoinPath: unix} {
    testsetplatform unix
    testsetplatform unix
    file join /// a b
    file join /// a b
} {/a/b}
} {/a/b}
test filename-8.1 {Tcl_JoinPath: mac} {
test filename-8.1 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a b
    file join a b
} {:a:b}
} {:a:b}
test filename-8.2 {Tcl_JoinPath: mac} {
test filename-8.2 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join :a b
    file join :a b
} {:a:b}
} {:a:b}
test filename-8.3 {Tcl_JoinPath: mac} {
test filename-8.3 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a b:
    file join a b:
} {b:}
} {b:}
test filename-8.4 {Tcl_JoinPath: mac} {
test filename-8.4 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a: :b
    file join a: :b
} {a:b}
} {a:b}
test filename-8.5 {Tcl_JoinPath: mac} {
test filename-8.5 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a: :b:
    file join a: :b:
} {a:b}
} {a:b}
test filename-8.6 {Tcl_JoinPath: mac} {
test filename-8.6 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a :: b
    file join a :: b
} {:a::b}
} {:a::b}
test filename-8.7 {Tcl_JoinPath: mac} {
test filename-8.7 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a :: :: b
    file join a :: :: b
} {:a:::b}
} {:a:::b}
test filename-8.8 {Tcl_JoinPath: mac} {
test filename-8.8 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a ::: b
    file join a ::: b
} {:a:::b}
} {:a:::b}
test filename-8.9 {Tcl_JoinPath: mac} {
test filename-8.9 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a: b:
    file join a: b:
} {b:}
} {b:}
test filename-8.10 {Tcl_JoinPath: mac} {
test filename-8.10 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join /a/b
    file join /a/b
} {a:b}
} {a:b}
test filename-8.11 {Tcl_JoinPath: mac} {
test filename-8.11 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join /a/b c/d
    file join /a/b c/d
} {a:b:c:d}
} {a:b:c:d}
test filename-8.12 {Tcl_JoinPath: mac} {
test filename-8.12 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join /a/b :c:d
    file join /a/b :c:d
} {a:b:c:d}
} {a:b:c:d}
test filename-8.13 {Tcl_JoinPath: mac} {
test filename-8.13 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join ~ foo
    file join ~ foo
} {~:foo}
} {~:foo}
test filename-8.14 {Tcl_JoinPath: mac} {
test filename-8.14 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join :: ::
    file join :: ::
} {:::}
} {:::}
test filename-8.15 {Tcl_JoinPath: mac} {
test filename-8.15 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a: ::
    file join a: ::
} {a::}
} {a::}
test filename-8.16 {Tcl_JoinPath: mac} {
test filename-8.16 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a {} b
    file join a {} b
} {:a:b}
} {:a:b}
test filename-8.17 {Tcl_JoinPath: mac} {
test filename-8.17 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a::: b
    file join a::: b
} {a:::b}
} {a:::b}
test filename-8.18 {Tcl_JoinPath: mac} {
test filename-8.18 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a : : :
    file join a : : :
} {:a}
} {:a}
test filename-8.19 {Tcl_JoinPath: mac} {
test filename-8.19 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join :
    file join :
} {:}
} {:}
test filename-8.20 {Tcl_JoinPath: mac} {
test filename-8.20 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join : a
    file join : a
} {:a}
} {:a}
test filename-8.21 {Tcl_JoinPath: mac} {
test filename-8.21 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join a: :b/c
    file join a: :b/c
} {a:b/c}
} {a:b/c}
test filename-8.22 {Tcl_JoinPath: mac} {
test filename-8.22 {Tcl_JoinPath: mac} {
    testsetplatform mac
    testsetplatform mac
    file join :a :b/c
    file join :a :b/c
} {:a:b/c}
} {:a:b/c}
test filename-9.1 {Tcl_JoinPath: win} {
test filename-9.1 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join a b
    file join a b
} {a/b}
} {a/b}
test filename-9.2 {Tcl_JoinPath: win} {
test filename-9.2 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join /a b
    file join /a b
} {/a/b}
} {/a/b}
test filename-9.3 {Tcl_JoinPath: win} {
test filename-9.3 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join /a /b
    file join /a /b
} {/b}
} {/b}
test filename-9.4 {Tcl_JoinPath: win} {
test filename-9.4 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join c: foo
    file join c: foo
} {c:foo}
} {c:foo}
test filename-9.5 {Tcl_JoinPath: win} {
test filename-9.5 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join c:/ foo
    file join c:/ foo
} {c:/foo}
} {c:/foo}
test filename-9.6 {Tcl_JoinPath: win} {
test filename-9.6 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join c:\\bar foo
    file join c:\\bar foo
} {c:/bar/foo}
} {c:/bar/foo}
test filename-9.7 {Tcl_JoinPath: win} {
test filename-9.7 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join /foo c:bar
    file join /foo c:bar
} {c:bar}
} {c:bar}
test filename-9.8 {Tcl_JoinPath: win} {
test filename-9.8 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ///host//share dir
    file join ///host//share dir
} {//host/share/dir}
} {//host/share/dir}
test filename-9.9 {Tcl_JoinPath: win} {
test filename-9.9 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ~ foo
    file join ~ foo
} {~/foo}
} {~/foo}
test filename-9.10 {Tcl_JoinPath: win} {
test filename-9.10 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ~/~foo
    file join ~/~foo
} {~/~foo}
} {~/~foo}
test filename-9.11 {Tcl_JoinPath: win} {
test filename-9.11 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ~ ./~foo
    file join ~ ./~foo
} {~/~foo}
} {~/~foo}
test filename-9.12 {Tcl_JoinPath: win} {
test filename-9.12 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join / ~foo
    file join / ~foo
} {~foo}
} {~foo}
test filename-9.13 {Tcl_JoinPath: win} {
test filename-9.13 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ./a/ b c
    file join ./a/ b c
} {./a/b/c}
} {./a/b/c}
test filename-9.14 {Tcl_JoinPath: win} {
test filename-9.14 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join ./~a/ b c
    file join ./~a/ b c
} {./~a/b/c}
} {./~a/b/c}
test filename-9.15 {Tcl_JoinPath: win} {
test filename-9.15 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join // host share path
    file join // host share path
} {/host/share/path}
} {/host/share/path}
test filename-9.16 {Tcl_JoinPath: win} {
test filename-9.16 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join foo . bar
    file join foo . bar
} {foo/./bar}
} {foo/./bar}
test filename-9.17 {Tcl_JoinPath: win} {
test filename-9.17 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join foo .. bar
    file join foo .. bar
} {foo/../bar}
} {foo/../bar}
test filename-9.18 {Tcl_JoinPath: win} {
test filename-9.18 {Tcl_JoinPath: win} {
    testsetplatform win
    testsetplatform win
    file join foo/./bar
    file join foo/./bar
} {foo/./bar}
} {foo/./bar}
test filename-10.1 {Tcl_TranslateFileName} {
test filename-10.1 {Tcl_TranslateFileName} {
    testsetplatform unix
    testsetplatform unix
    list [catch {testtranslatefilename foo} msg] $msg
    list [catch {testtranslatefilename foo} msg] $msg
} {0 foo}
} {0 foo}
test filename-10.2 {Tcl_TranslateFileName} {
test filename-10.2 {Tcl_TranslateFileName} {
    testsetplatform windows
    testsetplatform windows
    list [catch {testtranslatefilename {c:/foo}} msg] $msg
    list [catch {testtranslatefilename {c:/foo}} msg] $msg
} {0 {c:\foo}}
} {0 {c:\foo}}
test filename-10.3 {Tcl_TranslateFileName} {
test filename-10.3 {Tcl_TranslateFileName} {
    testsetplatform windows
    testsetplatform windows
    list [catch {testtranslatefilename {c:/\\foo/}} msg] $msg
    list [catch {testtranslatefilename {c:/\\foo/}} msg] $msg
} {0 {c:\foo}}
} {0 {c:\foo}}
test filename-10.4 {Tcl_TranslateFileName} {
test filename-10.4 {Tcl_TranslateFileName} {
    testsetplatform mac
    testsetplatform mac
    list [catch {testtranslatefilename foo} msg] $msg
    list [catch {testtranslatefilename foo} msg] $msg
} {0 :foo}
} {0 :foo}
test filename-10.5 {Tcl_TranslateFileName} {
test filename-10.5 {Tcl_TranslateFileName} {
    testsetplatform mac
    testsetplatform mac
    list [catch {testtranslatefilename :~foo} msg] $msg
    list [catch {testtranslatefilename :~foo} msg] $msg
} {0 :~foo}
} {0 :~foo}
test filename-10.6 {Tcl_TranslateFileName} {
test filename-10.6 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "/home/test"
    set env(HOME) "/home/test"
    testsetplatform unix
    testsetplatform unix
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 /home/test/foo}
} {0 /home/test/foo}
test filename-10.7 {Tcl_TranslateFileName} {
test filename-10.7 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    unset env(HOME)
    unset env(HOME)
    testsetplatform unix
    testsetplatform unix
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {1 {couldn't find HOME environment variable to expand path}}
} {1 {couldn't find HOME environment variable to expand path}}
test filename-10.8 {Tcl_TranslateFileName} {
test filename-10.8 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "/home/test"
    set env(HOME) "/home/test"
    testsetplatform unix
    testsetplatform unix
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 /home/test}
} {0 /home/test}
test filename-10.9 {Tcl_TranslateFileName} {
test filename-10.9 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "/home/test/"
    set env(HOME) "/home/test/"
    testsetplatform unix
    testsetplatform unix
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 /home/test}
} {0 /home/test}
test filename-10.10 {Tcl_TranslateFileName} {
test filename-10.10 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "/home/test/"
    set env(HOME) "/home/test/"
    testsetplatform unix
    testsetplatform unix
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 /home/test/foo}
} {0 /home/test/foo}
test filename-10.11 {Tcl_TranslateFileName} {
test filename-10.11 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:"
    set env(HOME) "Root:"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:foo}
} {0 Root:foo}
test filename-10.12 {Tcl_TranslateFileName} {
test filename-10.12 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:home"
    set env(HOME) "Root:home"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:home:foo}
} {0 Root:home:foo}
test filename-10.13 {Tcl_TranslateFileName} {
test filename-10.13 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:home"
    set env(HOME) "Root:home"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:home::foo}
} {0 Root:home::foo}
test filename-10.14 {Tcl_TranslateFileName} {
test filename-10.14 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:home"
    set env(HOME) "Root:home"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set result [list [catch {testtranslatefilename ~} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:home}
} {0 Root:home}
test filename-10.15 {Tcl_TranslateFileName} {
test filename-10.15 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:home:"
    set env(HOME) "Root:home:"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:home::foo}
} {0 Root:home::foo}
test filename-10.16 {Tcl_TranslateFileName} {
test filename-10.16 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "Root:home::"
    set env(HOME) "Root:home::"
    testsetplatform mac
    testsetplatform mac
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~::foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 Root:home:::foo}
} {0 Root:home:::foo}
test filename-10.17 {Tcl_TranslateFileName} {
test filename-10.17 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "\\home\\"
    set env(HOME) "\\home\\"
    testsetplatform windows
    testsetplatform windows
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 {\home\foo}}
} {0 {\home\foo}}
test filename-10.18 {Tcl_TranslateFileName} {
test filename-10.18 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "\\home\\"
    set env(HOME) "\\home\\"
    testsetplatform windows
    testsetplatform windows
    set result [list [catch {testtranslatefilename ~/foo\\bar} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo\\bar} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 {\home\foo\bar}}
} {0 {\home\foo\bar}}
test filename-10.19 {Tcl_TranslateFileName} {
test filename-10.19 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "c:"
    set env(HOME) "c:"
    testsetplatform windows
    testsetplatform windows
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 c:foo}
} {0 c:foo}
test filename-10.20 {Tcl_TranslateFileName} {
test filename-10.20 {Tcl_TranslateFileName} {
    list [catch {testtranslatefilename ~blorp/foo} msg] $msg
    list [catch {testtranslatefilename ~blorp/foo} msg] $msg
} {1 {user "blorp" doesn't exist}}
} {1 {user "blorp" doesn't exist}}
test filename-10.21 {Tcl_TranslateFileName} {
test filename-10.21 {Tcl_TranslateFileName} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) "c:\\"
    set env(HOME) "c:\\"
    testsetplatform windows
    testsetplatform windows
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set result [list [catch {testtranslatefilename ~/foo} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} {0 {c:\foo}}
} {0 {c:\foo}}
test filename-10.22 {Tcl_TranslateFileName} {
test filename-10.22 {Tcl_TranslateFileName} {
    testsetplatform windows
    testsetplatform windows
    list [catch {testtranslatefilename foo//bar} msg] $msg
    list [catch {testtranslatefilename foo//bar} msg] $msg
} {0 {foo\bar}}
} {0 {foo\bar}}
testsetplatform $platform
testsetplatform $platform
test filename-10.23 {Tcl_TranslateFileName} {nonPortable unixOnly} {
test filename-10.23 {Tcl_TranslateFileName} {nonPortable unixOnly} {
    # this test fails if ~ouster is not /home/ouster
    # this test fails if ~ouster is not /home/ouster
    list [catch {testtranslatefilename ~ouster} msg] $msg
    list [catch {testtranslatefilename ~ouster} msg] $msg
} {0 /home/ouster}
} {0 /home/ouster}
test filename-10.24 {Tcl_TranslateFileName} {nonPortable unixOnly} {
test filename-10.24 {Tcl_TranslateFileName} {nonPortable unixOnly} {
    # this test fails if ~ouster is not /home/ouster
    # this test fails if ~ouster is not /home/ouster
    list [catch {testtranslatefilename ~ouster/foo} msg] $msg
    list [catch {testtranslatefilename ~ouster/foo} msg] $msg
} {0 /home/ouster/foo}
} {0 /home/ouster/foo}
test filename-11.1 {Tcl_GlobCmd} {
test filename-11.1 {Tcl_GlobCmd} {
    list [catch {glob} msg] $msg
    list [catch {glob} msg] $msg
} {1 {wrong # args: should be "glob ?switches? name ?name ...?"}}
} {1 {wrong # args: should be "glob ?switches? name ?name ...?"}}
test filename-11.2 {Tcl_GlobCmd} {
test filename-11.2 {Tcl_GlobCmd} {
    list [catch {glob -gorp} msg] $msg
    list [catch {glob -gorp} msg] $msg
} {1 {bad switch "-gorp": must be -nocomplain or --}}
} {1 {bad switch "-gorp": must be -nocomplain or --}}
test filename-11.3 {Tcl_GlobCmd} {
test filename-11.3 {Tcl_GlobCmd} {
    list [catch {glob -nocomplai} msg] $msg
    list [catch {glob -nocomplai} msg] $msg
} {1 {bad switch "-nocomplai": must be -nocomplain or --}}
} {1 {bad switch "-nocomplai": must be -nocomplain or --}}
test filename-11.4 {Tcl_GlobCmd} {
test filename-11.4 {Tcl_GlobCmd} {
    list [catch {glob -nocomplain} msg] $msg
    list [catch {glob -nocomplain} msg] $msg
} {1 {wrong # args: should be "glob ?switches? name ?name ...?"}}
} {1 {wrong # args: should be "glob ?switches? name ?name ...?"}}
test filename-11.5 {Tcl_GlobCmd} {
test filename-11.5 {Tcl_GlobCmd} {
    list [catch {glob -nocomplain ~xyqrszzz} msg] $msg
    list [catch {glob -nocomplain ~xyqrszzz} msg] $msg
} {0 {}}
} {0 {}}
test filename-11.6 {Tcl_GlobCmd} {
test filename-11.6 {Tcl_GlobCmd} {
    list [catch {glob ~xyqrszzz} msg] $msg
    list [catch {glob ~xyqrszzz} msg] $msg
} {1 {user "xyqrszzz" doesn't exist}}
} {1 {user "xyqrszzz" doesn't exist}}
test filename-11.7 {Tcl_GlobCmd} {
test filename-11.7 {Tcl_GlobCmd} {
    list [catch {glob -- -nocomplain} msg] $msg
    list [catch {glob -- -nocomplain} msg] $msg
} {1 {no files matched glob patterns "-nocomplain"}}
} {1 {no files matched glob patterns "-nocomplain"}}
test filename-11.8 {Tcl_GlobCmd} {
test filename-11.8 {Tcl_GlobCmd} {
    list [catch {glob -nocomplain -- -nocomplain} msg] $msg
    list [catch {glob -nocomplain -- -nocomplain} msg] $msg
} {0 {}}
} {0 {}}
test filename-11.9 {Tcl_GlobCmd} {
test filename-11.9 {Tcl_GlobCmd} {
    testsetplatform unix
    testsetplatform unix
    list [catch {glob ~\\xyqrszzz/bar} msg] $msg
    list [catch {glob ~\\xyqrszzz/bar} msg] $msg
} {1 {globbing characters not supported in user names}}
} {1 {globbing characters not supported in user names}}
test filename-11.10 {Tcl_GlobCmd} {
test filename-11.10 {Tcl_GlobCmd} {
    testsetplatform unix
    testsetplatform unix
    list [catch {glob -nocomplain ~\\xyqrszzz/bar} msg] $msg
    list [catch {glob -nocomplain ~\\xyqrszzz/bar} msg] $msg
} {0 {}}
} {0 {}}
test filename-11.11 {Tcl_GlobCmd} {
test filename-11.11 {Tcl_GlobCmd} {
    testsetplatform unix
    testsetplatform unix
    list [catch {glob ~xyqrszzz\\/\\bar} msg] $msg
    list [catch {glob ~xyqrszzz\\/\\bar} msg] $msg
} {1 {user "xyqrszzz" doesn't exist}}
} {1 {user "xyqrszzz" doesn't exist}}
test filename-11.12 {Tcl_GlobCmd} {
test filename-11.12 {Tcl_GlobCmd} {
    testsetplatform unix
    testsetplatform unix
    set home $env(HOME)
    set home $env(HOME)
    unset env(HOME)
    unset env(HOME)
    set x [list [catch {glob ~/*} msg] $msg]
    set x [list [catch {glob ~/*} msg] $msg]
    set env(HOME) $home
    set env(HOME) $home
    set x
    set x
} {1 {couldn't find HOME environment variable to expand path}}
} {1 {couldn't find HOME environment variable to expand path}}
testsetplatform $platform
testsetplatform $platform
test filename-11.13 {Tcl_GlobCmd} {
test filename-11.13 {Tcl_GlobCmd} {
    list [catch {file join [lindex [glob ~] 0]} msg] $msg
    list [catch {file join [lindex [glob ~] 0]} msg] $msg
} [list 0 [file join $env(HOME)]]
} [list 0 [file join $env(HOME)]]
set oldhome $env(HOME)
set oldhome $env(HOME)
set env(HOME) [pwd]
set env(HOME) [pwd]
file delete -force globTest
file delete -force globTest
file mkdir globTest/a1/b1
file mkdir globTest/a1/b1
file mkdir globTest/a1/b2
file mkdir globTest/a1/b2
file mkdir globTest/a2/b3
file mkdir globTest/a2/b3
file mkdir globTest/a3
file mkdir globTest/a3
close [open globTest/x1.c w]
close [open globTest/x1.c w]
close [open globTest/y1.c w]
close [open globTest/y1.c w]
close [open globTest/z1.c w]
close [open globTest/z1.c w]
close [open "globTest/weird name.c" w]
close [open "globTest/weird name.c" w]
close [open globTest/a1/b1/x2.c w]
close [open globTest/a1/b1/x2.c w]
close [open globTest/a1/b2/y2.c w]
close [open globTest/a1/b2/y2.c w]
# Cannot create a file with the following names under Win32s.  We have to
# Cannot create a file with the following names under Win32s.  We have to
# skip the tests that are checking the difference between a "." or "," in
# skip the tests that are checking the difference between a "." or "," in
# the file name vs. a "." or "," in the glob pattern.
# the file name vs. a "." or "," in the glob pattern.
catch {close [open globTest/.1 w]}
catch {close [open globTest/.1 w]}
catch {close [open globTest/x,z1.c w]}
catch {close [open globTest/x,z1.c w]}
test filename-11.14 {Tcl_GlobCmd} {
test filename-11.14 {Tcl_GlobCmd} {
    list [catch {glob ~/globTest} msg] $msg
    list [catch {glob ~/globTest} msg] $msg
} [list 0 [list [file join $env(HOME) globTest]]]
} [list 0 [list [file join $env(HOME) globTest]]]
test filename-11.15 {Tcl_GlobCmd} {
test filename-11.15 {Tcl_GlobCmd} {
    list [catch {glob ~\\/globTest} msg] $msg
    list [catch {glob ~\\/globTest} msg] $msg
} [list 0 [list [file join $env(HOME) globTest]]]
} [list 0 [list [file join $env(HOME) globTest]]]
test filename-11.16 {Tcl_GlobCmd} {
test filename-11.16 {Tcl_GlobCmd} {
    list [catch {glob globTest} msg] $msg
    list [catch {glob globTest} msg] $msg
} {0 globTest}
} {0 globTest}
test filename-12.1 {simple globbing} {unixOrPc} {
test filename-12.1 {simple globbing} {unixOrPc} {
    list [catch {glob {}} msg] $msg
    list [catch {glob {}} msg] $msg
} {0 .}
} {0 .}
test filename-12.2 {simple globbing} {macOnly} {
test filename-12.2 {simple globbing} {macOnly} {
    list [catch {glob {}} msg] $msg
    list [catch {glob {}} msg] $msg
} {0 :}
} {0 :}
test filename-12.3 {simple globbing} {
test filename-12.3 {simple globbing} {
    list [catch {glob -nocomplain \{a1,a2\}} msg] $msg
    list [catch {glob -nocomplain \{a1,a2\}} msg] $msg
} {0 {}}
} {0 {}}
if {$tcl_platform(platform) == "macintosh"} {
if {$tcl_platform(platform) == "macintosh"} {
  set globPreResult :globTest:
  set globPreResult :globTest:
} else {
} else {
  set globPreResult globTest/
  set globPreResult globTest/
}
}
set x1 x1.c
set x1 x1.c
set y1 y1.c
set y1 y1.c
test filename-12.4 {simple globbing} {unixOrPc} {
test filename-12.4 {simple globbing} {unixOrPc} {
    lsort [glob globTest/x1.c globTest/y1.c globTest/foo]
    lsort [glob globTest/x1.c globTest/y1.c globTest/foo]
} "$globPreResult$x1 $globPreResult$y1"
} "$globPreResult$x1 $globPreResult$y1"
test filename-12.5 {simple globbing} {
test filename-12.5 {simple globbing} {
    list [catch {glob globTest\\/x1.c} msg] $msg
    list [catch {glob globTest\\/x1.c} msg] $msg
} "0 $globPreResult$x1"
} "0 $globPreResult$x1"
test filename-12.6 {simple globbing} {
test filename-12.6 {simple globbing} {
    list [catch {glob globTest\\/\\x1.c} msg] $msg
    list [catch {glob globTest\\/\\x1.c} msg] $msg
} "0 $globPreResult$x1"
} "0 $globPreResult$x1"
test filename-13.1 {globbing with brace substitution} {
test filename-13.1 {globbing with brace substitution} {
    list [catch {glob globTest/\{\}} msg] $msg
    list [catch {glob globTest/\{\}} msg] $msg
} "0 $globPreResult"
} "0 $globPreResult"
test filename-13.2 {globbing with brace substitution} {
test filename-13.2 {globbing with brace substitution} {
    list [catch {glob globTest/\{} msg] $msg
    list [catch {glob globTest/\{} msg] $msg
} {1 {unmatched open-brace in file name}}
} {1 {unmatched open-brace in file name}}
test filename-13.3 {globbing with brace substitution} {
test filename-13.3 {globbing with brace substitution} {
    list [catch {glob globTest/\{\\\}} msg] $msg
    list [catch {glob globTest/\{\\\}} msg] $msg
} {1 {unmatched open-brace in file name}}
} {1 {unmatched open-brace in file name}}
test filename-13.4 {globbing with brace substitution} {
test filename-13.4 {globbing with brace substitution} {
    list [catch {glob globTest/\{\\} msg] $msg
    list [catch {glob globTest/\{\\} msg] $msg
} {1 {unmatched open-brace in file name}}
} {1 {unmatched open-brace in file name}}
test filename-13.5 {globbing with brace substitution} {
test filename-13.5 {globbing with brace substitution} {
    list [catch {glob globTest/\}} msg] $msg
    list [catch {glob globTest/\}} msg] $msg
} {1 {unmatched close-brace in file name}}
} {1 {unmatched close-brace in file name}}
test filename-13.6 {globbing with brace substitution} {
test filename-13.6 {globbing with brace substitution} {
    list [catch {glob globTest/\{\}x1.c} msg] $msg
    list [catch {glob globTest/\{\}x1.c} msg] $msg
} "0 $globPreResult$x1"
} "0 $globPreResult$x1"
test filename-13.7 {globbing with brace substitution} {
test filename-13.7 {globbing with brace substitution} {
    list [catch {glob globTest/\{x\}1.c} msg] $msg
    list [catch {glob globTest/\{x\}1.c} msg] $msg
} "0 $globPreResult$x1"
} "0 $globPreResult$x1"
test filename-13.8 {globbing with brace substitution} {
test filename-13.8 {globbing with brace substitution} {
    list [catch {glob globTest/\{x\{\}\}1.c} msg] $msg
    list [catch {glob globTest/\{x\{\}\}1.c} msg] $msg
} "0 $globPreResult$x1"
} "0 $globPreResult$x1"
test filename-13.9 {globbing with brace substitution} {!win32s} {
test filename-13.9 {globbing with brace substitution} {!win32s} {
    list [lsort [catch {glob globTest/\{x,y\}1.c} msg]] $msg
    list [lsort [catch {glob globTest/\{x,y\}1.c} msg]] $msg
} [list 0 [list $globPreResult$x1 $globPreResult$y1]]
} [list 0 [list $globPreResult$x1 $globPreResult$y1]]
test filename-13.10 {globbing with brace substitution} {!win32s} {
test filename-13.10 {globbing with brace substitution} {!win32s} {
    list [lsort [catch {glob globTest/\{x,,y\}1.c} msg]] $msg
    list [lsort [catch {glob globTest/\{x,,y\}1.c} msg]] $msg
} [list 0 [list $globPreResult$x1 $globPreResult$y1]]
} [list 0 [list $globPreResult$x1 $globPreResult$y1]]
test filename-13.11 {globbing with brace substitution} {unixOrPc && !win32s} {
test filename-13.11 {globbing with brace substitution} {unixOrPc && !win32s} {
    list [lsort [catch {glob globTest/\{x,x\\,z,z\}1.c} msg]] $msg
    list [lsort [catch {glob globTest/\{x,x\\,z,z\}1.c} msg]] $msg
} {0 {globTest/x1.c globTest/x,z1.c globTest/z1.c}}
} {0 {globTest/x1.c globTest/x,z1.c globTest/z1.c}}
test filename-13.12 {globbing with brace substitution} {macOnly} {
test filename-13.12 {globbing with brace substitution} {macOnly} {
    list [lsort [catch {glob globTest/\{x,x\\,z,z\}1.c} msg]] $msg
    list [lsort [catch {glob globTest/\{x,x\\,z,z\}1.c} msg]] $msg
} {0 {:globTest:x1.c :globTest:x,z1.c :globTest:z1.c}}
} {0 {:globTest:x1.c :globTest:x,z1.c :globTest:z1.c}}
test filename-13.13 {globbing with brace substitution} {
test filename-13.13 {globbing with brace substitution} {
    lsort [glob globTest/{a,b,x,y}1.c]
    lsort [glob globTest/{a,b,x,y}1.c]
} [list $globPreResult$x1 $globPreResult$y1]
} [list $globPreResult$x1 $globPreResult$y1]
test filename-13.14 {globbing with brace substitution} {unixOrPc} {
test filename-13.14 {globbing with brace substitution} {unixOrPc} {
    lsort [glob {globTest/{x1,y2,weird name}.c}]
    lsort [glob {globTest/{x1,y2,weird name}.c}]
} {{globTest/weird name.c} globTest/x1.c}
} {{globTest/weird name.c} globTest/x1.c}
test filename-13.15 {globbing with brace substitution} {macOnly} {
test filename-13.15 {globbing with brace substitution} {macOnly} {
    lsort [glob {globTest/{x1,y2,weird name}.c}]
    lsort [glob {globTest/{x1,y2,weird name}.c}]
} {{:globTest:weird name.c} :globTest:x1.c}
} {{:globTest:weird name.c} :globTest:x1.c}
test filename-13.16 {globbing with brace substitution} {unixOrPc} {
test filename-13.16 {globbing with brace substitution} {unixOrPc} {
    lsort [glob globTest/{x1.c,a1/*}]
    lsort [glob globTest/{x1.c,a1/*}]
} {globTest/a1/b1 globTest/a1/b2 globTest/x1.c}
} {globTest/a1/b1 globTest/a1/b2 globTest/x1.c}
test filename-13.17 {globbing with brace substitution} {macOnly} {
test filename-13.17 {globbing with brace substitution} {macOnly} {
    lsort [glob globTest/{x1.c,a1/*}]
    lsort [glob globTest/{x1.c,a1/*}]
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:x1.c}
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:x1.c}
test filename-13.18 {globbing with brace substitution} {unixOrPc} {
test filename-13.18 {globbing with brace substitution} {unixOrPc} {
    lsort [glob globTest/{x1.c,{a},a1/*}]
    lsort [glob globTest/{x1.c,{a},a1/*}]
} {globTest/a1/b1 globTest/a1/b2 globTest/x1.c}
} {globTest/a1/b1 globTest/a1/b2 globTest/x1.c}
test filename-13.19 {globbing with brace substitution} {macOnly} {
test filename-13.19 {globbing with brace substitution} {macOnly} {
    lsort [glob globTest/{x1.c,{a},a1/*}]
    lsort [glob globTest/{x1.c,{a},a1/*}]
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:x1.c}
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:x1.c}
test filename-13.20 {globbing with brace substitution} {unixOrPc} {
test filename-13.20 {globbing with brace substitution} {unixOrPc} {
    lsort [glob globTest/{a,x}1/*/{x,y}*]
    lsort [glob globTest/{a,x}1/*/{x,y}*]
} {globTest/a1/b1/x2.c globTest/a1/b2/y2.c}
} {globTest/a1/b1/x2.c globTest/a1/b2/y2.c}
test filename-13.21 {globbing with brace substitution} {macOnly} {
test filename-13.21 {globbing with brace substitution} {macOnly} {
    lsort [glob globTest/{a,x}1/*/{x,y}*]
    lsort [glob globTest/{a,x}1/*/{x,y}*]
} {:globTest:a1:b1:x2.c :globTest:a1:b2:y2.c}
} {:globTest:a1:b1:x2.c :globTest:a1:b2:y2.c}
test filename-13.22 {globbing with brace substitution} {
test filename-13.22 {globbing with brace substitution} {
    list [catch {glob globTest/\{a,x\}1/*/\{} msg] $msg
    list [catch {glob globTest/\{a,x\}1/*/\{} msg] $msg
} {1 {unmatched open-brace in file name}}
} {1 {unmatched open-brace in file name}}
test filename-14.1 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
test filename-14.1 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
    lsort [glob g*/*.c]
    lsort [glob g*/*.c]
} {{globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
} {{globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.1 {asterisks, question marks, and brackets} {win32s} {
test filename-14.1 {asterisks, question marks, and brackets} {win32s} {
    lsort [glob g*/*.c]
    lsort [glob g*/*.c]
} {globtest/weirdn~1.c globtest/x1.c globtest/y1.c globtest/z1.c}
} {globtest/weirdn~1.c globtest/x1.c globtest/y1.c globtest/z1.c}
test filename-14.2 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.2 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob g*/*.c]
    lsort [glob g*/*.c]
} {{:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}
} {{:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}
test filename-14.3 {asterisks, question marks, and brackets} {unixOrPc} {
test filename-14.3 {asterisks, question marks, and brackets} {unixOrPc} {
    lsort [glob globTest/?1.c]
    lsort [glob globTest/?1.c]
} {globTest/x1.c globTest/y1.c globTest/z1.c}
} {globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.4 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.4 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob globTest/?1.c]
    lsort [glob globTest/?1.c]
} {:globTest:x1.c :globTest:y1.c :globTest:z1.c}
} {:globTest:x1.c :globTest:y1.c :globTest:z1.c}
test filename-14.5 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
test filename-14.5 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
    lsort [glob */*/*/*.c]
    lsort [glob */*/*/*.c]
} {globTest/a1/b1/x2.c globTest/a1/b2/y2.c}
} {globTest/a1/b1/x2.c globTest/a1/b2/y2.c}
test filename-14.5 {asterisks, question marks, and brackets} {win32s} {
test filename-14.5 {asterisks, question marks, and brackets} {win32s} {
    lsort [glob */*/*/*.c]
    lsort [glob */*/*/*.c]
} {globtest/a1/b1/x2.c globtest/a1/b2/y2.c}
} {globtest/a1/b1/x2.c globtest/a1/b2/y2.c}
test filename-14.6 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.6 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob */*/*/*.c]
    lsort [glob */*/*/*.c]
} {:globTest:a1:b1:x2.c :globTest:a1:b2:y2.c}
} {:globTest:a1:b1:x2.c :globTest:a1:b2:y2.c}
test filename-14.7 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
test filename-14.7 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
    lsort [glob globTest/*]
    lsort [glob globTest/*]
} {globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
} {globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.7 {asterisks, question marks, and brackets} {win32s} {
test filename-14.7 {asterisks, question marks, and brackets} {win32s} {
    lsort [glob globTest/*]
    lsort [glob globTest/*]
} {globTest/a1 globTest/a2 globTest/a3 globTest/weirdn~1.c globTest/x1.c globTest/y1.c globTest/z1.c}
} {globTest/a1 globTest/a2 globTest/a3 globTest/weirdn~1.c globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.8 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.8 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob globTest/*]
    lsort [glob globTest/*]
} {:globTest:.1 :globTest:a1 :globTest:a2 :globTest:a3 {:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}
} {:globTest:.1 :globTest:a1 :globTest:a2 :globTest:a3 {:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}
test filename-14.9 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
test filename-14.9 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
    lsort [glob globTest/.*]
    lsort [glob globTest/.*]
} {globTest/. globTest/.. globTest/.1}
} {globTest/. globTest/.. globTest/.1}
test filename-14.9 {asterisks, question marks, and brackets} {win32s} {
test filename-14.9 {asterisks, question marks, and brackets} {win32s} {
    lsort [glob globTest/.*]
    lsort [glob globTest/.*]
} {globTest/. globTest/..}
} {globTest/. globTest/..}
test filename-14.10 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.10 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob globTest/.*]
    lsort [glob globTest/.*]
} {:globTest:.1}
} {:globTest:.1}
test filename-14.11 {asterisks, question marks, and brackets} {unixOrPc} {
test filename-14.11 {asterisks, question marks, and brackets} {unixOrPc} {
    lsort [glob globTest/*/*]
    lsort [glob globTest/*/*]
} {globTest/a1/b1 globTest/a1/b2 globTest/a2/b3}
} {globTest/a1/b1 globTest/a1/b2 globTest/a2/b3}
test filename-14.12 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.12 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob globTest/*/*]
    lsort [glob globTest/*/*]
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:a2:b3}
} {:globTest:a1:b1 :globTest:a1:b2 :globTest:a2:b3}
test filename-14.13 {asterisks, question marks, and brackets} {unixOrPc} {
test filename-14.13 {asterisks, question marks, and brackets} {unixOrPc} {
    lsort [glob {globTest/[xyab]1.*}]
    lsort [glob {globTest/[xyab]1.*}]
} {globTest/x1.c globTest/y1.c}
} {globTest/x1.c globTest/y1.c}
test filename-14.14 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.14 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob {globTest/[xyab]1.*}]
    lsort [glob {globTest/[xyab]1.*}]
} {:globTest:x1.c :globTest:y1.c}
} {:globTest:x1.c :globTest:y1.c}
test filename-14.15 {asterisks, question marks, and brackets} {unixOrPc} {
test filename-14.15 {asterisks, question marks, and brackets} {unixOrPc} {
    lsort [glob globTest/*/]
    lsort [glob globTest/*/]
} {globTest/a1/ globTest/a2/ globTest/a3/}
} {globTest/a1/ globTest/a2/ globTest/a3/}
test filename-14.16 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.16 {asterisks, question marks, and brackets} {macOnly} {
    lsort [glob globTest/*/]
    lsort [glob globTest/*/]
} {:globTest:a1: :globTest:a2: :globTest:a3:}
} {:globTest:a1: :globTest:a2: :globTest:a3:}
test filename-14.17 {asterisks, question marks, and brackets} {
test filename-14.17 {asterisks, question marks, and brackets} {
    global env
    global env
    set temp $env(HOME)
    set temp $env(HOME)
    set env(HOME) [file join $env(HOME) globTest]
    set env(HOME) [file join $env(HOME) globTest]
    set result [list [catch {glob ~/z*} msg] $msg]
    set result [list [catch {glob ~/z*} msg] $msg]
    set env(HOME) $temp
    set env(HOME) $temp
    set result
    set result
} [list 0 [list [file join $env(HOME) globTest z1.c]]]
} [list 0 [list [file join $env(HOME) globTest z1.c]]]
test filename-14.18 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
test filename-14.18 {asterisks, question marks, and brackets} {unixOrPc && !win32s} {
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
} {0 {{globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}}
} {0 {{globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}}
test filename-14.18 {asterisks, question marks, and brackets} {win32s} {
test filename-14.18 {asterisks, question marks, and brackets} {win32s} {
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
} {0 {globTest/weirdn~1.c globTest/x1.c globTest/y1.c globTest/z1.c}}
} {0 {globTest/weirdn~1.c globTest/x1.c globTest/y1.c globTest/z1.c}}
test filename-14.19 {asterisks, question marks, and brackets} {macOnly} {
test filename-14.19 {asterisks, question marks, and brackets} {macOnly} {
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
    list [catch {lsort [glob globTest/*.c goo/*]} msg] $msg
} {0 {{:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}}
} {0 {{:globTest:weird name.c} :globTest:x,z1.c :globTest:x1.c :globTest:y1.c :globTest:z1.c}}
test filename-14.20 {asterisks, question marks, and brackets} {
test filename-14.20 {asterisks, question marks, and brackets} {
    list [catch {glob -nocomplain goo/*} msg] $msg
    list [catch {glob -nocomplain goo/*} msg] $msg
} {0 {}}
} {0 {}}
test filename-14.21 {asterisks, question marks, and brackets} {
test filename-14.21 {asterisks, question marks, and brackets} {
    list [catch {glob globTest/*/gorp} msg] $msg
    list [catch {glob globTest/*/gorp} msg] $msg
} {1 {no files matched glob pattern "globTest/*/gorp"}}
} {1 {no files matched glob pattern "globTest/*/gorp"}}
test filename-14.22 {asterisks, question marks, and brackets} {
test filename-14.22 {asterisks, question marks, and brackets} {
    list [catch {glob goo/* x*z foo?q} msg] $msg
    list [catch {glob goo/* x*z foo?q} msg] $msg
} {1 {no files matched glob patterns "goo/* x*z foo?q"}}
} {1 {no files matched glob patterns "goo/* x*z foo?q"}}
test filename-14.23 {slash globbing} {unixOrPc} {
test filename-14.23 {slash globbing} {unixOrPc} {
    glob /
    glob /
} /
} /
test filename-14.24 {slash globbing} {pcOnly} {
test filename-14.24 {slash globbing} {pcOnly} {
    glob {\\}
    glob {\\}
} /
} /
# The following tests are only valid for Unix systems.
# The following tests are only valid for Unix systems.
if {$tcl_platform(platform) == "unix"} {
if {$tcl_platform(platform) == "unix"} {
    # On some systems, like AFS, "000" protection doesn't prevent
    # On some systems, like AFS, "000" protection doesn't prevent
    # access by owner, so the following test is not portable.
    # access by owner, so the following test is not portable.
    exec chmod 000 globTest/a1
    exec chmod 000 globTest/a1
    test filename-15.1 {unix specific globbing} {nonPortable} {
    test filename-15.1 {unix specific globbing} {nonPortable} {
        string tolower [list [catch {glob globTest/a1/*} msg]  $msg $errorCode]
        string tolower [list [catch {glob globTest/a1/*} msg]  $msg $errorCode]
    } {1 {couldn't read directory "globtest/a1": permission denied} {posix eacces {permission denied}}}
    } {1 {couldn't read directory "globtest/a1": permission denied} {posix eacces {permission denied}}}
    test filename-15.2 {unix specific no complain: no errors} {nonPortable} {
    test filename-15.2 {unix specific no complain: no errors} {nonPortable} {
        glob -nocomplain globTest/a1/*
        glob -nocomplain globTest/a1/*
    } {}
    } {}
    test filename-15.3 {unix specific no complain: no errors, good result} {nonPortable knownBug} {
    test filename-15.3 {unix specific no complain: no errors, good result} {nonPortable knownBug} {
        # test fails because if an error occur , the interp's result
        # test fails because if an error occur , the interp's result
        # is reset...
        # is reset...
        glob -nocomplain globTest/a2 globTest/a1/* globTest/a3
        glob -nocomplain globTest/a2 globTest/a1/* globTest/a3
    } {globTest/a2 globTest/a3}
    } {globTest/a2 globTest/a3}
    exec chmod 755 globTest/a1
    exec chmod 755 globTest/a1
    test filename-15.4 {unix specific no complain: no errors, good result} {nonPortable knownBug} {
    test filename-15.4 {unix specific no complain: no errors, good result} {nonPortable knownBug} {
        # test fails because if an error occur , the interp's result
        # test fails because if an error occur , the interp's result
        # is reset... (or you don't run at sunscript where the
        # is reset... (or you don't run at sunscript where the
        # outser and demailly's users exists
        # outser and demailly's users exists
        glob -nocomplain ~ouster ~foo ~demailly
        glob -nocomplain ~ouster ~foo ~demailly
    } {/home/ouster /home/demailly}
    } {/home/ouster /home/demailly}
    test filename-15.5 {unix specific globbing} {nonPortable} {
    test filename-15.5 {unix specific globbing} {nonPortable} {
        glob ~ouster/.csh*
        glob ~ouster/.csh*
    } "/home/ouster/.cshrc"
    } "/home/ouster/.cshrc"
    close [open globTest/odd\\\[\]*?\{\}name w]
    close [open globTest/odd\\\[\]*?\{\}name w]
    test filename-15.6 {unix specific globbing} {
    test filename-15.6 {unix specific globbing} {
        global env
        global env
        set temp $env(HOME)
        set temp $env(HOME)
        set env(HOME) $env(HOME)/globTest/odd\\\[\]*?\{\}name
        set env(HOME) $env(HOME)/globTest/odd\\\[\]*?\{\}name
        set result [list [catch {glob ~} msg] $msg]
        set result [list [catch {glob ~} msg] $msg]
        set env(HOME) $temp
        set env(HOME) $temp
        set result
        set result
    } [list 0 [list [glob ~]/globTest/odd\\\[\]*?\{\}name]]
    } [list 0 [list [glob ~]/globTest/odd\\\[\]*?\{\}name]]
    exec rm -f globTest/odd\\\[\]*?\{\}name
    exec rm -f globTest/odd\\\[\]*?\{\}name
}
}
# The following tests are only valid for Windows systems.
# The following tests are only valid for Windows systems.
if {$tcl_platform(platform) == "windows"} {
if {$tcl_platform(platform) == "windows"} {
    set temp [pwd]
    set temp [pwd]
    cd c:/
    cd c:/
    catch {
    catch {
        removeDirectory globTest
        removeDirectory globTest
        makeDirectory globTest
        makeDirectory globTest
        close [open globTest/x1.BAT w]
        close [open globTest/x1.BAT w]
        close [open globTest/y1.Bat w]
        close [open globTest/y1.Bat w]
        close [open globTest/z1.bat w]
        close [open globTest/z1.bat w]
    }
    }
    test filename-16.1 {windows specific globbing} {!win32s} {
    test filename-16.1 {windows specific globbing} {!win32s} {
        lsort [glob globTest/*.bat]
        lsort [glob globTest/*.bat]
    } {globTest/x1.BAT globTest/y1.Bat globTest/z1.bat}
    } {globTest/x1.BAT globTest/y1.Bat globTest/z1.bat}
    test filename-16.1 {windows specific globbing} {win32s} {
    test filename-16.1 {windows specific globbing} {win32s} {
        lsort [glob globTest/*.bat]
        lsort [glob globTest/*.bat]
    } {globTest/x1.bat globTest/y1.bat globTest/z1.bat}
    } {globTest/x1.bat globTest/y1.bat globTest/z1.bat}
    test filename-16.2 {windows specific globbing} {
    test filename-16.2 {windows specific globbing} {
        glob c:
        glob c:
    } c:
    } c:
    test filename-16.3 {windows specific globbing} {
    test filename-16.3 {windows specific globbing} {
        glob c:\\\\
        glob c:\\\\
        } c:/
        } c:/
    test filename-16.4 {windows specific globbing} {
    test filename-16.4 {windows specific globbing} {
        glob c:/
        glob c:/
    } c:/
    } c:/
    test filename-16.5 {windows specific globbing} {!win32s} {
    test filename-16.5 {windows specific globbing} {!win32s} {
        glob c:*Test
        glob c:*Test
    } c:globTest
    } c:globTest
    test filename-16.5 {windows specific globbing} {win32s} {
    test filename-16.5 {windows specific globbing} {win32s} {
        glob c:*Test
        glob c:*Test
    } c:globtest
    } c:globtest
    test filename-16.6 {windows specific globbing} {!win32s} {
    test filename-16.6 {windows specific globbing} {!win32s} {
        glob c:\\\\*Test
        glob c:\\\\*Test
    } c:/globTest
    } c:/globTest
    test filename-16.6 {windows specific globbing} {win32s} {
    test filename-16.6 {windows specific globbing} {win32s} {
        glob c:\\\\*Test
        glob c:\\\\*Test
    } c:/globtest
    } c:/globtest
    test filename-16.7 {windows specific globbing} {!win32s} {
    test filename-16.7 {windows specific globbing} {!win32s} {
        glob c:/*Test
        glob c:/*Test
    } c:/globTest
    } c:/globTest
    test filename-16.7 {windows specific globbing} {win32s} {
    test filename-16.7 {windows specific globbing} {win32s} {
        glob c:/*Test
        glob c:/*Test
    } c:/globtest
    } c:/globtest
    test filename-16.8 {windows specific globbing} {!win32s} {
    test filename-16.8 {windows specific globbing} {!win32s} {
        lsort [glob c:globTest/*.bat]
        lsort [glob c:globTest/*.bat]
    } {c:globTest/x1.BAT c:globTest/y1.Bat c:globTest/z1.bat}
    } {c:globTest/x1.BAT c:globTest/y1.Bat c:globTest/z1.bat}
    test filename-16.8 {windows specific globbing} {win32s} {
    test filename-16.8 {windows specific globbing} {win32s} {
        lsort [glob c:globTest/*.bat]
        lsort [glob c:globTest/*.bat]
    } {c:globTest/x1.bat c:globTest/y1.bat c:globTest/z1.bat}
    } {c:globTest/x1.bat c:globTest/y1.bat c:globTest/z1.bat}
    test filename-16.9 {windows specific globbing} {!win32s} {
    test filename-16.9 {windows specific globbing} {!win32s} {
        lsort [glob c:/globTest/*.bat]
        lsort [glob c:/globTest/*.bat]
    } {c:/globTest/x1.BAT c:/globTest/y1.Bat c:/globTest/z1.bat}
    } {c:/globTest/x1.BAT c:/globTest/y1.Bat c:/globTest/z1.bat}
    test filename-16.9 {windows specific globbing} {win32s} {
    test filename-16.9 {windows specific globbing} {win32s} {
        lsort [glob c:/globTest/*.bat]
        lsort [glob c:/globTest/*.bat]
    } {c:/globTest/x1.bat c:/globTest/y1.bat c:/globTest/z1.bat}
    } {c:/globTest/x1.bat c:/globTest/y1.bat c:/globTest/z1.bat}
    test filename-16.10 {windows specific globbing} {!win32s} {
    test filename-16.10 {windows specific globbing} {!win32s} {
        lsort [glob c:globTest\\\\*.bat]
        lsort [glob c:globTest\\\\*.bat]
    } {c:globTest/x1.BAT c:globTest/y1.Bat c:globTest/z1.bat}
    } {c:globTest/x1.BAT c:globTest/y1.Bat c:globTest/z1.bat}
    test filename-16.10 {windows specific globbing} {win32s} {
    test filename-16.10 {windows specific globbing} {win32s} {
        lsort [glob c:globTest\\\\*.bat]
        lsort [glob c:globTest\\\\*.bat]
    } {c:globTest/x1.bat c:globTest/y1.bat c:globTest/z1.bat}
    } {c:globTest/x1.bat c:globTest/y1.bat c:globTest/z1.bat}
    test filename-16.11 {windows specific globbing} {!win32s} {
    test filename-16.11 {windows specific globbing} {!win32s} {
        lsort [glob c:\\\\globTest\\\\*.bat]
        lsort [glob c:\\\\globTest\\\\*.bat]
    } {c:/globTest/x1.BAT c:/globTest/y1.Bat c:/globTest/z1.bat}
    } {c:/globTest/x1.BAT c:/globTest/y1.Bat c:/globTest/z1.bat}
    test filename-16.11 {windows specific globbing} {win32s} {
    test filename-16.11 {windows specific globbing} {win32s} {
        lsort [glob c:\\\\globTest\\\\*.bat]
        lsort [glob c:\\\\globTest\\\\*.bat]
    } {c:/globTest/x1.bat c:/globTest/y1.bat c:/globTest/z1.bat}
    } {c:/globTest/x1.bat c:/globTest/y1.bat c:/globTest/z1.bat}
    removeDirectory globTest
    removeDirectory globTest
    if {($testConfig(nonPortable) != 0) && [catch {cd //gaspode/d}] == 0} {
    if {($testConfig(nonPortable) != 0) && [catch {cd //gaspode/d}] == 0} {
        removeDirectory globTest
        removeDirectory globTest
        makeDirectory globTest
        makeDirectory globTest
        close [open globTest/x1.BAT w]
        close [open globTest/x1.BAT w]
        close [open globTest/y1.Bat w]
        close [open globTest/y1.Bat w]
        close [open globTest/z1.bat w]
        close [open globTest/z1.bat w]
        test filename-16.12 {windows specific globbing} {
        test filename-16.12 {windows specific globbing} {
            glob //gaspode/d/*Test
            glob //gaspode/d/*Test
        } //gaspode/d/globTest
        } //gaspode/d/globTest
        test filename-16.13 {windows specific globbing} {
        test filename-16.13 {windows specific globbing} {
            glob {\\\\gaspode\\d\\*Test}
            glob {\\\\gaspode\\d\\*Test}
        } //gaspode/d/globTest
        } //gaspode/d/globTest
        removeDirectory globTest
        removeDirectory globTest
    }
    }
    cd $temp
    cd $temp
}
}
removeDirectory globTest
removeDirectory globTest
set env(HOME) $oldhome
set env(HOME) $oldhome
testsetplatform $platform
testsetplatform $platform
catch {unset oldhome platform temp result}
catch {unset oldhome platform temp result}
concat ""
concat ""
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.