diff options
Diffstat (limited to 'tests/unixFCmd.test')
-rw-r--r-- | tests/unixFCmd.test | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/unixFCmd.test b/tests/unixFCmd.test index 574c5cc..e863d3b 100644 --- a/tests/unixFCmd.test +++ b/tests/unixFCmd.test @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: unixFCmd.test,v 1.18 2003/04/11 16:00:02 vincentdarley Exp $ +# RCS: @(#) $Id: unixFCmd.test,v 1.19 2003/05/14 19:21:25 das Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest @@ -325,6 +325,44 @@ test unixFCmd-18.1 {Unix pwd} {nonPortable unixOnly notRoot} { set r } {1 {error getting working directory name:}} +# check whether -readonly attribute is supported +set ::tcltest::testConstraints(readonlyAttr) 0 +if {$tcl_platform(platform) == "unix"} { + catch {file delete -force -- foo.test} + close [open foo.test w] + catch { + file attributes foo.test -readonly + set ::tcltest::testConstraints(readonlyAttr) 1 + } + file delete -force -- foo.test +} + +test unixFCmd-19.1 {GetReadOnlyAttribute - file not found} {unixOnly notRoot readonlyAttr} { + catch {file delete -force -- foo.test} + list [catch {file attributes foo.test -readonly} msg] $msg +} {1 {could not read "foo.test": no such file or directory}} +test unixFCmd-19.2 {GetReadOnlyAttribute} {unixOnly notRoot readonlyAttr} { + catch {file delete -force -- foo.test} + close [open foo.test w] + list [catch {file attribute foo.test -readonly} msg] $msg \ + [file delete -force -- foo.test] +} {0 0 {}} + +test unixFCmd-20.1 {SetReadOnlyAttribute} {unixOnly notRoot readonlyAttr} { + catch {file delete -force -- foo.test} + close [open foo.test w] + list [catch {file attributes foo.test -readonly 1} msg] $msg \ + [catch {file attribute foo.test -readonly} msg] $msg \ + [catch {file delete -force -- foo.test}] \ + [catch {file attributes foo.test -readonly 0} msg] $msg \ + [catch {file attribute foo.test -readonly} msg] $msg \ + [file delete -force -- foo.test] +} {0 {} 0 1 1 0 {} 0 0 {}} +test unixFCmd-20.2 {SetReadOnlyAttribute} {unixOnly notRoot readonlyAttr} { + catch {file delete -force -- foo.test} + list [catch {file attributes foo.test -readonly 1} msg] $msg +} {1 {could not read "foo.test": no such file or directory}} + # cleanup cleanup cd $oldcwd |