f



Tcltest unable to remove files - permission denied

Hi Folks,

I have a problem with tcltest not being able to remove files it has created.

I use tcltest::makeFile to create the file and tcltest::removeFile to 
remove it but I get a permission denied error.

I reported this (or very similar) problem some time ago when I was on 
win98 and was advised to raise a tip against it - I never did because I 
had no problem on linux at work so I assumed it was just a win 98 thing 
and hence wouldn't be encountered by many folks.

Has anyone seen this problem?

Here's the tcltest script:

### Start

if {[lsearch [namespace children] ::tcltest] == -1} {
     package require tcltest 2
}
eval tcltest::configure $argv
tcltest::configure -verbose error


# tcltest::removeFile test.
tcltest::test "removefile_1" "create and remove afile"  -setup {
   # Create empty file.
   tcltest::makeFile "" bob.cfg
} -body {
   set lFilePtr [open bob.cfg]
   set lBobContent [read $lFilePtr]
   return $lBobContent
} -cleanup {
   # Remove file
   tcltest::removeFile bob.cfg
} \
-returnCodes "0" \
-result ""

::tcltest::cleanupTests
return

### End

Thanks for any help

Glenn
0
glenn5449 (18)
6/1/2004 10:48:49 PM
comp.lang.tcl 23429 articles. 2 followers. Post Follow

18 Replies
943 Views

Similar Articles

[PageSpeed] 17

Glenn Halstead wrote:
> I use tcltest::makeFile to create the file and tcltest::removeFile to 
> remove it but I get a permission denied error.

Please file this as a bug report so it doesn't get forgotten.

-- 
| Don Porter          Mathematical and Computational Sciences Division |
| donald.porter@nist.gov             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|
0
dgp1 (945)
6/1/2004 11:08:24 PM
Glenn Halstead wrote:
> Has anyone seen this problem?

Take a good look at the test;  it's broken:

> tcltest::test "removefile_1" "create and remove afile"  -setup {
>    # Create empty file.
>    tcltest::makeFile "" bob.cfg
> } -body {
>    set lFilePtr [open bob.cfg]
>    set lBobContent [read $lFilePtr]
>    return $lBobContent

	Here you use [return], causing the body script to have
	a return code of TCL_RETURN (= 2), but...

> } -cleanup {
>    # Remove file
>    tcltest::removeFile bob.cfg
> } \
> -returnCodes "0" \

	Here you insist that the return code must be TCL_OK (= 0).
	That mismatch causes the test to fail.

> -result ""

Even though the test is failing, the [removeFile] in the
cleanup script is removing the file that [makeFile] created.
What made you think it was not?

-- 
| Don Porter          Mathematical and Computational Sciences Division |
| donald.porter@nist.gov             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|
0
dgp1 (945)
6/1/2004 11:20:15 PM
Hi Don,

I didn't think the return was a problem but I have changed it to set 
instead.

I've trimmed the test down and included the output:

Test script
-----
if {[lsearch [namespace children] ::tcltest] == -1} {
     package require tcltest 2
}
eval tcltest::configure $argv
tcltest::configure -verbose error

# tcltest::removeFile test.
tcltest::test "removefile_1" "create and remove afile"  -setup {
   # Create empty file.
   tcltest::makeFile "" bob.cfg
} -body {
   set lFilePtr [open bob.cfg]
   set lBobContent [read $lFilePtr]
} -cleanup {
   # Remove file
   tcltest::removeFile bob.cfg
} -result ""

::tcltest::cleanupTests
return
--------
end script

Output
------
D:\TCL\CoDo\codo.vfs\lib\app-codo>tclsh testfile.test

==== removefile_1 create and remove afile FAILED
---- Result was:


---- Result should have been (exact matching):

---- Test cleanup failed:
error deleting "D:/TCL/CoDo/codo.vfs/lib/app-codo/bob.cfg": permission 
denied
==== removefile_1 FAILED

testfile.test:  Total   1       Passed  0       Skipped 0       Failed  1
Warning: files left behind:
         testfile.test:  bob.cfg

D:\TCL\CoDo\codo.vfs\lib\app-codo>
-------
End output

	

Don Porter wrote:
> Glenn Halstead wrote:
> 
>>Has anyone seen this problem?
> 
> 
> Take a good look at the test;  it's broken:
> 
> 
>>tcltest::test "removefile_1" "create and remove afile"  -setup {
>>   # Create empty file.
>>   tcltest::makeFile "" bob.cfg
>>} -body {
>>   set lFilePtr [open bob.cfg]
>>   set lBobContent [read $lFilePtr]
>>   return $lBobContent
> 
> 
> 	Here you use [return], causing the body script to have
> 	a return code of TCL_RETURN (= 2), but...
> 
> 
>>} -cleanup {
>>   # Remove file
>>   tcltest::removeFile bob.cfg
>>} \
>>-returnCodes "0" \
> 
> 
> 	Here you insist that the return code must be TCL_OK (= 0).
> 	That mismatch causes the test to fail.
> 
> 
>>-result ""
> 
> 
> Even though the test is failing, the [removeFile] in the
> cleanup script is removing the file that [makeFile] created.
> What made you think it was not?
> 
0
glenn5449 (18)
6/1/2004 11:48:19 PM
glenn@abc.glennh.com wrote:
> Hi Folks,
>
> I have a problem with tcltest not being able to remove files it has created.
>
> I use tcltest::makeFile to create the file and tcltest::removeFile to 
> remove it but I get a permission denied error.
>...

I just got this today on Windows 2000, and it seems to be intermittent. The
same test runs fine on Linux, many times. I'm thinking along the lines
that "permission denied" is really saying the file was open when it tried
to delete it. As a test, you might try deleting an open file and seeing if
that's the error. Another thing to try is a delay before the delete. If
that makes the error go away, something really weird is going on inside
Windows, like asynchronous file closing combined with inability to delete an
open file.
0
ljb2205818 (13)
6/2/2004 12:50:00 AM
Glenn Halstead wrote:
> I use tcltest::makeFile to create the file and tcltest::removeFile to 
> remove it but I get a permission denied error.

You open the file for reading, but you never close it in the body. Tcl 
under Windows opens files for reading without delete privileges (i.e., 
you're not allowed to delete it while it's open).

Try adding "close lFilePtr" before the return in the body.
0
dnew (1159)
6/2/2004 4:14:35 AM
It appears that you are opening and reading from channel $lFilePtr
but never closing it.

On UNIX, you can delete an open file, on PC you cannot.

"Glenn Halstead" <glenn@abc.glennh.com> wrote in message news:984638667288b6ab8378afa538eab18d@news.teranews.com...
> Hi Don,
>
> I didn't think the return was a problem but I have changed it to set
> instead.
>
> I've trimmed the test down and included the output:
>
> Test script
> -----
> if {[lsearch [namespace children] ::tcltest] == -1} {
>      package require tcltest 2
> }
> eval tcltest::configure $argv
> tcltest::configure -verbose error
>
> # tcltest::removeFile test.
> tcltest::test "removefile_1" "create and remove afile"  -setup {
>    # Create empty file.
>    tcltest::makeFile "" bob.cfg
> } -body {
>    set lFilePtr [open bob.cfg]
>    set lBobContent [read $lFilePtr]
> } -cleanup {
>    # Remove file
>    tcltest::removeFile bob.cfg
> } -result ""
>
> ::tcltest::cleanupTests
> return
> --------
> end script
>
> Output
> ------
> D:\TCL\CoDo\codo.vfs\lib\app-codo>tclsh testfile.test
>
> ==== removefile_1 create and remove afile FAILED
> ---- Result was:
>
>
> ---- Result should have been (exact matching):
>
> ---- Test cleanup failed:
> error deleting "D:/TCL/CoDo/codo.vfs/lib/app-codo/bob.cfg": permission
> denied
> ==== removefile_1 FAILED
>
> testfile.test:  Total   1       Passed  0       Skipped 0       Failed  1
> Warning: files left behind:
>          testfile.test:  bob.cfg
>
> D:\TCL\CoDo\codo.vfs\lib\app-codo>
> -------
> End output
>
>
>
> Don Porter wrote:
> > Glenn Halstead wrote:
> >
> >>Has anyone seen this problem?
> >
> >
> > Take a good look at the test;  it's broken:
> >
> >
> >>tcltest::test "removefile_1" "create and remove afile"  -setup {
> >>   # Create empty file.
> >>   tcltest::makeFile "" bob.cfg
> >>} -body {
> >>   set lFilePtr [open bob.cfg]
> >>   set lBobContent [read $lFilePtr]
> >>   return $lBobContent
> >
> >
> > Here you use [return], causing the body script to have
> > a return code of TCL_RETURN (= 2), but...
> >
> >
> >>} -cleanup {
> >>   # Remove file
> >>   tcltest::removeFile bob.cfg
> >>} \
> >>-returnCodes "0" \
> >
> >
> > Here you insist that the return code must be TCL_OK (= 0).
> > That mismatch causes the test to fail.
> >
> >
> >>-result ""
> >
> >
> > Even though the test is failing, the [removeFile] in the
> > cleanup script is removing the file that [makeFile] created.
> > What made you think it was not?
> >


0
stevebold (40)
6/2/2004 4:20:59 AM
Thanks for this Darren, you helped me get to the bottom of the problem. 
  Here's a bit more of the story:

I'm using tdom to parse xml files. (code snippet:

   set lFilePtr [open $aPath]
   set lXmlDocPtr [dom parse -channel $lFilePtr]
   close $lFilePtr


One of my tcltests uses a badly formed xml file.  tdom throws an error 
(as expected) when parsing the file BUT it seems that it retains the 
file channel and the 'close $lFilePtr' command is not working and not 
throwing an error.

My code now looks like this which works fine:

   set lFilePtr [open $aPath]
   set lXmlData [read $lFilePtr]
   close $lFilePtr
   set lXmlDocPtr [dom parse $lXmlData]

You see I'm not giving tdom access to the file channel.

I'll see about logging a defect with the tdom project.

Thanks to all for your help

Glenn

Darren New wrote:

> 
> You open the file for reading, but you never close it in the body. Tcl 
> under Windows opens files for reading without delete privileges (i.e., 
> you're not allowed to delete it while it's open).
> 
> Try adding "close lFilePtr" before the return in the body.
0
glenn5449 (18)
6/2/2004 5:56:24 AM
* Glenn Halstead <glenn@abc.glennh.com>
| I'm using tdom to parse xml files. (code snippet:
| 
|    set lFilePtr [open $aPath]
|    set lXmlDocPtr [dom parse -channel $lFilePtr]
|    close $lFilePtr
--<snip-snip>--
| I'll see about logging a defect with the tdom project.

I don't think this is a problem in tdom.  Just `catch' the `parse' and
handle the error after closing the channel.

    set lXmlDocPtr [dom parse -channel $lFilePtr]
   =>
    set err [catch {dom parse -channel $lFilePtr} lXmlDocPtr]
    close $lFilePtr
    if {$err} {
      error $lXmlDocPtr
    }

R'


0
ralfixx (1283)
6/2/2004 9:16:34 AM
Hi Ralf et all,

Well this is turning into fun.  I am back to blaming tcltest - 
specifically how it deals with error return codes.  (no, hang on, we 
don't have a 'blame' culture here do we ;-)

I have two minimal scripts which test / demonstrate the behavior of the 
tdom 'dom parse -channel' command:

The first uses pure tcl with 'catch' to catch the expected error from 
tdom due to the badly formed xml.

The second uses tcltest to do the same thing.

The pure tcl script behaves just as expected.  The test.xml file is 
deleted successfully.

The tcltest script fails to delete the test.xml file - permission denied.

The difference here is between using catch in the pure tcl script and 
the error catching mechanism in the tcltest script.

The two scripts are below and rely on tdom 0.7.8 being available.

any thoughts?

Glenn


Pure tcl script
---------------
# Get tdom package.
lappend auto_path .
package require tdom 0.7.8

# Create bad xml file.
set lXmlData {testdata>
   <child1>Text for child 1</child1>
   <child2></child2>
</testdata>
}
set lFilePtr [open test.xml w]
puts $lFilePtr $lXmlData
close $lFilePtr

# Open the xml file and parse it using tdom, using catch to catch the 
expected error.
set lFilePtr [open test.xml]
set lReturn [catch {dom parse -channel $lFilePtr} lResult]
close $lFilePtr
puts "dom parse -channel $lFilePtr return: $lReturn"
puts "dom parse -channel $lFilePtr result: $lResult"

# Delete the test.xml file.
file delete test.xml


Tcltest script
--------------
# Get tdom package.
lappend auto_path .
package require tdom 0.7.8

# Get tcltest package.
package require tcltest 2
tcltest::configure -verbose error

# tcltest test.
tcltest::test "GetRoot" "Bad xml file." -setup {
   # Create bad xml file.
  	set lXmlData {testdata>
   <child1>Text for child 1</child1>
   <child2></child2>
</testdata>
}
tcltest::makeFile $lXmlData test.xml
} -body {
   # Open the xml file and parse it using tdom.
   # An error will be thrown due to the badly formed xml.
   # The tcltest option -ReturnCodes "1" will deal with this
   # e.g. thats how we tell tcltest that we expect an error.
   set lFilePtr [open test.xml]
   set lRootNode [dom parse -channel $lFilePtr]
   close $lFilePtr
} -cleanup {
   # Delete the test.xml file.
	tcltest::removeFile test.xml
} \
-returnCodes "1" \
-result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
-match regexp

::tcltest::cleanupTests





Ralf Fassel wrote:

> * Glenn Halstead <glenn@abc.glennh.com>
> | I'm using tdom to parse xml files. (code snippet:
> | 
> |    set lFilePtr [open $aPath]
> |    set lXmlDocPtr [dom parse -channel $lFilePtr]
> |    close $lFilePtr
> --<snip-snip>--
> | I'll see about logging a defect with the tdom project.
> 
> I don't think this is a problem in tdom.  Just `catch' the `parse' and
> handle the error after closing the channel.
> 
>     set lXmlDocPtr [dom parse -channel $lFilePtr]
>    =>
>     set err [catch {dom parse -channel $lFilePtr} lXmlDocPtr]
>     close $lFilePtr
>     if {$err} {
>       error $lXmlDocPtr
>     }
> 
> R'
> 
> 
0
glenn5449 (18)
6/2/2004 9:21:37 PM

Glenn Halstead wrote:

> Hi Ralf et all,
> 
> Well this is turning into fun.  I am back to blaming tcltest - 
> specifically how it deals with error return codes.  (no, hang on, we 
> don't have a 'blame' culture here do we ;-)
> 
> I have two minimal scripts which test / demonstrate the behavior of the 
> tdom 'dom parse -channel' command:
> 
> The first uses pure tcl with 'catch' to catch the expected error from 
> tdom due to the badly formed xml.
> 
> The second uses tcltest to do the same thing.
> 
> The pure tcl script behaves just as expected.  The test.xml file is 
> deleted successfully.
> 
> The tcltest script fails to delete the test.xml file - permission denied.
> 
> The difference here is between using catch in the pure tcl script and 
> the error catching mechanism in the tcltest script.
> 
> The two scripts are below and rely on tdom 0.7.8 being available.
> 
> any thoughts?
> 

The problem is still in your script, not with tcltest.

by not having your own catch, you are indeed relying on tcltest
to catch for you - which works - the scruipt doesn't completly
abort. The problem is when dom errors none of the rest of your body
executes - meaning that the file is NOT being closed, meaning that
you cannot delete it. You still need to catch the error yourself
so you can close the file - you can then retrhow the erro if desired.
You could also read the data as a string, close the file, then try
the [dom parse ...] so if it errors you are not left with open files.

Bruce

0
bruce-news (900)
6/2/2004 10:20:14 PM
Hi Bruce.

OK, thanks for clearing that up, I will take that action in my tcltest 
scripts in future.

I have already done as you suggest - reading the file contents into a 
string and sending that to dom parse in my application.  I was following 
this up to understand exactly what was the cause.

Thanks to all who commented, I do have a better understanding of exactly 
what's happening in my tcltests now.

Cheers

Glenn

Bruce Hartweg wrote:
> 
> 
> Glenn Halstead wrote:
> 
>> Hi Ralf et all,
>>
>> Well this is turning into fun.  I am back to blaming tcltest - 
>> specifically how it deals with error return codes.  (no, hang on, we 
>> don't have a 'blame' culture here do we ;-)
>>
>> I have two minimal scripts which test / demonstrate the behavior of 
>> the tdom 'dom parse -channel' command:
>>
>> The first uses pure tcl with 'catch' to catch the expected error from 
>> tdom due to the badly formed xml.
>>
>> The second uses tcltest to do the same thing.
>>
>> The pure tcl script behaves just as expected.  The test.xml file is 
>> deleted successfully.
>>
>> The tcltest script fails to delete the test.xml file - permission denied.
>>
>> The difference here is between using catch in the pure tcl script and 
>> the error catching mechanism in the tcltest script.
>>
>> The two scripts are below and rely on tdom 0.7.8 being available.
>>
>> any thoughts?
>>
> 
> The problem is still in your script, not with tcltest.
> 
> by not having your own catch, you are indeed relying on tcltest
> to catch for you - which works - the scruipt doesn't completly
> abort. The problem is when dom errors none of the rest of your body
> executes - meaning that the file is NOT being closed, meaning that
> you cannot delete it. You still need to catch the error yourself
> so you can close the file - you can then retrhow the erro if desired.
> You could also read the data as a string, close the file, then try
> the [dom parse ...] so if it errors you are not left with open files.
> 
> Bruce
> 
0
glenn5449 (18)
6/2/2004 10:55:44 PM
Glenn Halstead wrote:
> tcltest::test "GetRoot" "Bad xml file." -setup {
>    # Create bad xml file.
>   	set lXmlData {testdata>
>    <child1>Text for child 1</child1>
>    <child2></child2>
></testdata>
> }
> tcltest::makeFile $lXmlData test.xml
> } -body {
>    # Open the xml file and parse it using tdom.
>    # An error will be thrown due to the badly formed xml.

	You expect an error.

>    # The tcltest option -ReturnCodes "1" will deal with this
>    # e.g. thats how we tell tcltest that we expect an error.
>    set lFilePtr [open test.xml]
>    set lRootNode [dom parse -channel $lFilePtr]

	You expect the command above to error...

>    close $lFilePtr

	So you expect the [close] not to be reached.

> } -cleanup {

	So your [close] really belongs here in the
	cleanup script, so it will run even when the
	body script errors.

	If you want to be really careful, use
	[catch {close $lFilePtr}] just in case
	the [open] failed.

>    # Delete the test.xml file.
> 	tcltest::removeFile test.xml
> } \
> -returnCodes "1" \

	See, you expect the error, so write your test to
	handle it.

> -result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
> -match regexp

-- 
| Don Porter          Mathematical and Computational Sciences Division |
| donald.porter@nist.gov             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|
0
dgp1 (945)
6/2/2004 11:22:17 PM
In article <6479e1f2c3ed762b822aed3c65b2c1e5@news.teranews.com>, Glenn Halstead <glenn@abc.glennh.com> wrote:
> Hi Ralf et all,
> 
> Well this is turning into fun.  I am back to blaming tcltest - 
> specifically how it deals with error return codes.  (no, hang on, we 
> don't have a 'blame' culture here do we ;-)
> 
> I have two minimal scripts which test / demonstrate the behavior of the 
> tdom 'dom parse -channel' command:
> 
[..]
> any thoughts?
> 
> Glenn
> 
> 
> Pure tcl script
> ---------------
> # Get tdom package.
> lappend auto_path .
> package require tdom 0.7.8
> 
> # Create bad xml file.
> set lXmlData {testdata>
>    <child1>Text for child 1</child1>
>    <child2></child2>
> </testdata>
> }
> set lFilePtr [open test.xml w]
> puts $lFilePtr $lXmlData
> close $lFilePtr
> 
[...]
> Tcltest script
> --------------
> # Get tdom package.
> lappend auto_path .
> package require tdom 0.7.8
> 
> # Get tcltest package.
> package require tcltest 2
> tcltest::configure -verbose error
> 
> # tcltest test.
> tcltest::test "GetRoot" "Bad xml file." -setup {
>    # Create bad xml file.
>         set lXmlData {testdata>
>    <child1>Text for child 1</child1>
>    <child2></child2>
> </testdata>
> }
> tcltest::makeFile $lXmlData test.xml
> } -body {
>    # Open the xml file and parse it using tdom.
>    # An error will be thrown due to the badly formed xml.
>    # The tcltest option -ReturnCodes "1" will deal with this
>    # e.g. thats how we tell tcltest that we expect an error.
>    set lFilePtr [open test.xml]
>    set lRootNode [dom parse -channel $lFilePtr]
>    close $lFilePtr
> } -cleanup {
>    # Delete the test.xml file.
>         tcltest::removeFile test.xml
> } \
> -returnCodes "1" \
> -result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
> -match regexp
> 
> ::tcltest::cleanupTests

I'm not all that familiar with tcltest, but it looks like either 
their a cut/paste error, or your -setup clause isn't really 
creating the file at all.  I see you setting up the string you 
intend to write, but I don't see the [open] or the [puts] that 
would be needed to write the string to the file.  
-- 
 Rich Wurth / rwurth@att.net / Rumson, NJ  USA
0
rwurth (78)
6/3/2004 12:28:41 AM
Ahhhhhhhhhhh...... click........ of course......... Doh!, goes the brain.

Thanks Don

Glenn

Don Porter wrote:
> Glenn Halstead wrote:
> 
>>tcltest::test "GetRoot" "Bad xml file." -setup {
>>   # Create bad xml file.
>>  	set lXmlData {testdata>
>>   <child1>Text for child 1</child1>
>>   <child2></child2>
>></testdata>
>>}
>>tcltest::makeFile $lXmlData test.xml
>>} -body {
>>   # Open the xml file and parse it using tdom.
>>   # An error will be thrown due to the badly formed xml.
> 
> 
> 	You expect an error.
> 
> 
>>   # The tcltest option -ReturnCodes "1" will deal with this
>>   # e.g. thats how we tell tcltest that we expect an error.
>>   set lFilePtr [open test.xml]
>>   set lRootNode [dom parse -channel $lFilePtr]
> 
> 
> 	You expect the command above to error...
> 
> 
>>   close $lFilePtr
> 
> 
> 	So you expect the [close] not to be reached.
> 
> 
>>} -cleanup {
> 
> 
> 	So your [close] really belongs here in the
> 	cleanup script, so it will run even when the
> 	body script errors.
> 
> 	If you want to be really careful, use
> 	[catch {close $lFilePtr}] just in case
> 	the [open] failed.
> 
> 
>>   # Delete the test.xml file.
>>	tcltest::removeFile test.xml
>>} \
>>-returnCodes "1" \
> 
> 
> 	See, you expect the error, so write your test to
> 	handle it.
> 
> 
>>-result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
>>-match regexp
> 
> 

0
glennh1 (8)
6/3/2004 8:54:52 AM
tcltest::makeFile 'contents' 'filename' 'optional directory' creates the 
file

Glenn

R. T. Wurth wrote:
> In article <6479e1f2c3ed762b822aed3c65b2c1e5@news.teranews.com>, Glenn Halstead <glenn@abc.glennh.com> wrote:
> 
>>Hi Ralf et all,
>>
>>Well this is turning into fun.  I am back to blaming tcltest - 
>>specifically how it deals with error return codes.  (no, hang on, we 
>>don't have a 'blame' culture here do we ;-)
>>
>>I have two minimal scripts which test / demonstrate the behavior of the 
>>tdom 'dom parse -channel' command:
>>
> 
> [..]
> 
>>any thoughts?
>>
>>Glenn
>>
>>
>>Pure tcl script
>>---------------
>># Get tdom package.
>>lappend auto_path .
>>package require tdom 0.7.8
>>
>># Create bad xml file.
>>set lXmlData {testdata>
>>   <child1>Text for child 1</child1>
>>   <child2></child2>
>></testdata>
>>}
>>set lFilePtr [open test.xml w]
>>puts $lFilePtr $lXmlData
>>close $lFilePtr
>>
> 
> [...]
> 
>>Tcltest script
>>--------------
>># Get tdom package.
>>lappend auto_path .
>>package require tdom 0.7.8
>>
>># Get tcltest package.
>>package require tcltest 2
>>tcltest::configure -verbose error
>>
>># tcltest test.
>>tcltest::test "GetRoot" "Bad xml file." -setup {
>>   # Create bad xml file.
>>        set lXmlData {testdata>
>>   <child1>Text for child 1</child1>
>>   <child2></child2>
>></testdata>
>>}
>>tcltest::makeFile $lXmlData test.xml
>>} -body {
>>   # Open the xml file and parse it using tdom.
>>   # An error will be thrown due to the badly formed xml.
>>   # The tcltest option -ReturnCodes "1" will deal with this
>>   # e.g. thats how we tell tcltest that we expect an error.
>>   set lFilePtr [open test.xml]
>>   set lRootNode [dom parse -channel $lFilePtr]
>>   close $lFilePtr
>>} -cleanup {
>>   # Delete the test.xml file.
>>        tcltest::removeFile test.xml
>>} \
>>-returnCodes "1" \
>>-result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
>>-match regexp
>>
>>::tcltest::cleanupTests
> 
> 
> I'm not all that familiar with tcltest, but it looks like either 
> their a cut/paste error, or your -setup clause isn't really 
> creating the file at all.  I see you setting up the string you 
> intend to write, but I don't see the [open] or the [puts] that 
> would be needed to write the string to the file.  

0
glennh1 (8)
6/3/2004 12:44:16 PM
Don Porter wrote:

Hi Don,

There was something nagging at the back of my mind.......

In my real code The file is opened and the file pointer is stored in a 
local variable.  This means the value of the file pointer is not 
available in the scope of the tcltest.

Glenn

> Glenn Halstead wrote:
> 
>>tcltest::test "GetRoot" "Bad xml file." -setup {
>>   # Create bad xml file.
>>  	set lXmlData {testdata>
>>   <child1>Text for child 1</child1>
>>   <child2></child2>
>></testdata>
>>}
>>tcltest::makeFile $lXmlData test.xml
>>} -body {
>>   # Open the xml file and parse it using tdom.
>>   # An error will be thrown due to the badly formed xml.
> 
> 
> 	You expect an error.
> 
> 
>>   # The tcltest option -ReturnCodes "1" will deal with this
>>   # e.g. thats how we tell tcltest that we expect an error.
>>   set lFilePtr [open test.xml]
>>   set lRootNode [dom parse -channel $lFilePtr]
> 
> 
> 	You expect the command above to error...
> 
> 
>>   close $lFilePtr
> 
> 
> 	So you expect the [close] not to be reached.
> 
> 
>>} -cleanup {
> 
> 
> 	So your [close] really belongs here in the
> 	cleanup script, so it will run even when the
> 	body script errors.
> 
> 	If you want to be really careful, use
> 	[catch {close $lFilePtr}] just in case
> 	the [open] failed.
> 
> 
>>   # Delete the test.xml file.
>>	tcltest::removeFile test.xml
>>} \
>>-returnCodes "1" \
> 
> 
> 	See, you expect the error, so write your test to
> 	handle it.
> 
> 
>>-result "error \"syntax error\" at line \[0-9\] character \[0-9\]" \
>>-match regexp
> 
> 
0
glenn5449 (18)
6/3/2004 8:28:07 PM
| tcltest::test "GetRoot" "Bad xml file." -setup {
|   set lXmlData {testdata>
|   <child1>Text for child 1</child1>
|   <child2></child2>
| </testdata>
| }
|   tcltest::makeFile $lXmlData test.xml
| } -body {
|   set lFilePtr [open test.xml]
|   set lRootNode [dom parse -channel $lFilePtr]
| } -cleanup {
|   close $lFilePtr
|   tcltest::removeFile test.xml
| } \
| -returnCodes 1 \
| -result {error "syntax error" at line [0-9] character [0-9]} \
| -match regexp

GlennH wrote:
> In my real code The file is opened and the file pointer is stored in a 
> local variable.  This means the value of the file pointer is not 
> available in the scope of the tcltest.

I don't follow what you mean by a "local variable".  Are you testing
the functioning of a proc?  If so, then shouldn't part of the 
proper operation of that proc be the proper cleanup of resources
before the proc is allowed to exit, even in the event of an error?

-- 
| Don Porter          Mathematical and Computational Sciences Division |
| donald.porter@nist.gov             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|
0
dgp1 (945)
6/3/2004 8:45:45 PM
Yup......... It is now :-)

Glenn

Don Porter wrote:
> 
> 
> I don't follow what you mean by a "local variable".  Are you testing
> the functioning of a proc?  If so, then shouldn't part of the 
> proper operation of that proc be the proper cleanup of resources
> before the proc is allowed to exit, even in the event of an error?
> 
0
glenn5449 (18)
6/3/2004 9:14:33 PM
Reply:

Similar Artilces:

Sourcing a TCL file from within a tcl file
I am a newbie which I am sure I don't need to state :) I am trying to create a variable with a TCL file that will source another tcl file when I type the variable name something like this if I enter A through my keyboard then source a.tcl Can someone show me how to do this thanks guy On Dec 10, 1:15=A0pm, guy <gcoletta2...@gmail.com> wrote: > I am a newbie which I am sure I don't need to state :) > > I am trying to create a variable with a TCL file that will source > another tcl file when I type the variable name > > something like this > > if I enter A through my keyboard =A0then source a.tcl > > Can someone show me how to do this > > thanks > guy What you are asking is not hard. Will your program have a graphical user interface? Aric On Dec 10, 3:26=A0pm, Aric Bills <aric.bi...@gmail.com> wrote: > On Dec 10, 1:15=A0pm, guy <gcoletta2...@gmail.com> wrote: > > > I am a newbie which I am sure I don't need to state :) > > > I am trying to create a variable with a TCL file that will source > > another tcl file when I type the variable name > > > something like this > > > if I enter A through my keyboard =A0then source a.tcl > > > Can someone show me how to do this > > > thanks > > guy > > What you are asking is not hard. =A0Will your program have a graphical > user interface? > > Aric no I am just using this script...

Tcl file from .txt file
Hi, I have a excel file. I need to change the excel file in to tcl file. I did = change the excel file in to txt file. but unable to change the txt file in = to tcl file. let me know any idea to change the txt file in to tcl file or = directly from the excel file in to tcl file.=20 your help is much more appreciated. thank you. On 11/14/14, 1:30 PM, yenilsuwal@gmail.com wrote: > Hi, > > I have a excel file. I need to change the excel file in to tcl file. I did change the excel file in to txt file. but unable to change the txt file in to tcl file. let me know any idea to c...

Unable to remove directory foo/foobar: File exists
I tried removing a package for the SunPCi IIpro card using pkgrm, but whilst it removed okay, but there remained some files in the directory used for this package. I thought I'd try removing them, but the things will not budge no matter what I try. sparrow / # rm -rf /opt/SUNWspci2 rm: Unable to remove directory /opt/SUNWspci2/defaults/WIN2K: File exists rm: Unable to remove directory /opt/SUNWspci2/defaults/WIN2K.NTFS: File exists rm: Unable to remove directory /opt/SUNWspci2/defaults/WIN98: File exists rm: Unable to remove directory /opt/SUNWspci2/defaults/WINME: File exists rm: Unable ...

Unable to remove files in Palm's Install Tool program?
Hello. I seem to have problems with listed files in Palm's Install Tools in Windows 2000 SP4 (all updates). When a file is removed, it does not go away even I agree to let the program delete for removal. Hotsynch even with new files added seems to be OK. This version is from Tungsten C with Franklin Covey v8.0. Any ideas? Thank you in advance. :) -- "The antics begin!" --SimAnt Game /\___/\ / /\ /\ \ Phillip (Ant) @ http://antfarm.ma.cx (Personal Web Site) | |o o| | and http://aqfl.net (Ant's Quality Fo...

Unable to delete MEX DLL file after use (access denied/ still in use)
Hi, I have been compiling some MEX files. However, I am unable to delete them after using it once. To delete it, the only way I found was to re-compile (which overwrites the dll file) and then delete it. Any ideas why I am facing this problem? I don't see any activity in the windows task manager. However, it might not appear anyway since it is being invoked from MATLAB. Thanks. Have you tried using "clear functions" after calling the function, but before attempting to delete them? "P-GPS" <premgrps@gmail.com> wrote in message news:1770515a-df30-420c-8a9c...

Problem to generate kytab file using msktutil. Error: Unable to set machine password (5) Access denied
I Have problem to generate kytab file using msktutil. When I generate this file it fails with following errors Error: Unable to set machine password for svc_testmyapps: (5) Access denied Error: set_password failed My environment/tool: -> msktutil 0.5 -> RedHat 5 I asked Active Directory admins: -> Create a Service Account (svc_testmyapps) with a password that does not expire -> Add Service Principles to this Service Account setspn.exe -A HTTP/testmyapps.myorg.com svc_testmyapps setspn.exe -A HTTP/testmyapps1.myorg.com svc_testmyapps setspn.exe -A HTTP/testmyapps2.myorg.com svc_testmyapps After that I what to create a kytab file. On server which will serve HTTP services I did following actions: -> kinit svc_testmyapps@EU.MYORG.COM Password for svc_testmyapps@EU.MYORG.COM: Entered valid password -> klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: svc_testmyapps@EU.MYORG.COM Valid starting Expires Service principal 07/10/13 21:40:57 07/11/13 07:41:14 krbtgt/EU.MYORG.COM@EU.MYORG.COM renew until 07/11/13 21:40:57 Kerberos 4 ticket cache: /tmp/tkt0 klist: You have no tickets cached -> Now I try to generate kytab file with following command: msktutil --create --use-service-account --service HTTP/testmyapps.myorg.com --keytab /etc/krb5.keytab --account-name svc_testmyapps --user-creds-only --no-pac --verbose ...

File.open of HTML file removes code
Hey there, I am trying to edit an erb file in ruby, however when I do: file.open("index.erb") It displays the information, but removes the Doctype, html, body, and head tags. Is there any way to read the entire contents of the .erb file? -- Posted via http://www.ruby-forum.com/. Hello, Please try to run this commands in your OS command prompt: For Windows: type index.erb For Linux/Mac OS X: cat index.erb And then: $ irb irb(main):001:0> File.open('index.erb').read Then compare system output with Ruby's output - if they have no differences - the...

FAT32 file system
Hi, I am looking for information on how to add and remove files from a fat32 file system. Specifically the pseudo mechanics not actual code. I have some idea, but I'm not sure if this is the optimum way. For adding I am assuming the following steps: 1) add the file entry to the directory. Do I find the first available entry (0x00) or can I replace a deleted directory entry (0xE5)? 2) Find an available cluster in the FAT Table. Do I search for the first available entry location that is set to 0x00000000? 3) Break up the file data among clusters and update the FAT entries, and set...

function remove() deletes bytes of a file , but not the file itself
thats odd, i run my code as root i call remove(aString.c_str()) i check with ls if the file got deleted and well, the ls -l still shows the file but with a size of 0. ???? an ideas why? thank yo ufor your help nass "nass" <athanasios.silis@gmail.com> writes: > thats odd, > i run my code as root > i call remove(aString.c_str()) > i check with ls if the file got deleted > and well, the ls -l still shows the file but with a size of 0. ???? > an ideas why? First, you should check the return value of remove(3). (read: man 3 remove to know what you ...

What happens to file identifier when the file it points to is removed
Hi, I was hoping someone can help me understand what happens when you open a file for writing, remove the file and continue to use the file identifier. In the example below I would expect fprintf to rise an error as the file doesn't exist. % Opens new file fid = fopen('foo.txt','w'); % Remove new file ! rm foo.txt % Write to removed file fprintf(fid,'Where does this text go?'); I'm trying to work out the best way to log a processes. If the process log gets to big, I would to be about to discard the existing content without interrupting the pro...

File Upload issue
I am using PHP Version 4.4.3 under Linux/Apachie to upload files. The PHP.ini upload_max_filesize is 2M, which I need to override this in the HTML (see below). I changed the MAX_FILE_SIZE to 4,000,000 but the system only accepts files less than 2M. Is the override wrong, do I need to raise the limit in the PHP.ini file, or is the Apachie issue. <form name="upload" action="admin.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="4000000"> On Wed, 29 Nov 200...

Unable to read Unicode file into SAS file
From MS SQL, I extracted a huge file of size 2.5GB. But the file was unicode encoded. So the usual import function wasn't working. From the archives I found a code written by DATA_NULL which says to use filename and encoding option; Below is the code given by data null filename chr "File_LOCATION\FILENAME.csv" encoding = Unicode; proc import datafile = chr out = chk DATAFILE=chr DBMS=DLM REPLACE; DELIMITER = '|'; GETNAMES=YES; DATAROW=2; RUN; what was happening is initial few columns were getting imported properly, i.e. out of 97 columns 25 were imported properly, 5-...

unable to read mat-file, not a binary mat-file
I'm getting the following error when running a compiled version of a GUI, running the GUI from MATLAB works just fine. ??? Error while evaluating TimerFcn for timer 'Scheduler_timer' Error using ==> load Unable to read MAT-file D:\Scheduler\Scheduler.mat: not a binary MAT-file. Try LOAD -ASCII to read as text. For a little more background. I am developing 2 GUIs that are being compiled using deploytool on a Vista home premium machine running matlab 2007a and testing on a xp pro machine without matlab installed. There are two GUIs that each have multiple timers with TimerFcn...

Dose there any tcl script to translate an file with embedded tcl
Hi I need to generate some big file, but there are rules for generate these files Ex . ============================== Start input a [0] wire input a [1] wire .. .. .. .. input a [1000] wire End ================================= Dose there any tcl script can help to translate a file with embedded tcl script into a new file For example this is a source file ======================== Start * set i 0 * for { set i 0 } { $i < 1000 } { incr i } { * puts input a [$i] wire * } End ========================== After Translate ======================= Start input a [0] wire input a [1] wire .. .. .. .. input a [1000] wire End ======================= Gogo12 wrote: > > Hi > I need to generate some big file, but there are rules for generate > these files > Ex . > ============================== > Start > input a [0] wire > input a [1] wire > . > . > . > . > input a [1000] wire > End > ================================= > > Dose there any tcl script can help to translate a file with embedded > tcl script into a new file > For example > > this is a source file > ======================== > Start > * set i 0 > * for { set i 0 } { $i < 1000 } { incr i } { > * puts input a [$i] wire > * } > End > ========================== > > After Translate > ======================= > Start > input a [0] wire > input a [1] wire > . > . > . > . > input a [1000] wire > ...

How to write tcl generated xml file into a new file
Hi, I have generated a xml file using xmlgen. After running the tcl script the ouput is displayed on the terminal . I want to take the terminal output into a xml file. Any Suggestion ???/ Thanks Ranjan On Nov 25, 12:46=A0pm, gyana behera <ranjan....@gmail.com> wrote: > Hi, > > I have generated a xml file using xmlgen. > After running the tcl script the ouput is displayed on the terminal . > I want to take the terminal output into a xml file. > > Any Suggestion ???/ > > Thanks > Ranjan Either redirect the output of the script to the xml-file. (xmlgen > output.xml) or open the file in the script: set f [open $filename w] then use puts $f instead of puts to output to the file and finally close the file: close $f Note that all this is covered in the Tcl tutorial, which is definitely worth a visit. (http://www.tcl.tk/man/tcl8.5/tutorial/ tcltutorial.html) Mark ...

"no such file or directory" when executing tcl file
Hi, new to TCL and hitting a road bump right out the gate. I just installed ActiveTcl 8.5 on my Windows XP SP2 machine. I made the following script and saved it as test.tcl: #!/usr/local/bin/tclsh puts stdout {Hello, Patrick!} When in the TCL command prompt, I type test.tcl and it gives me the error "couldn't execute ".\test.tcl": no such file or directory". I am in the correct directory so I'm pretty lost as to why it is saying this. Here are my exact steps: <open command prompt> H:\workspaces\tcl>tclsh85 % dir Volume in drive H is Data Volume Serial Number is 828C-6076 Directory of H:\workspaces\tcl 01/12/2009 05:23 PM <DIR> . 01/12/2009 05:23 PM <DIR> .. 01/12/2009 05:37 PM 31 test.tcl 1 File(s) 31 bytes 2 Dir(s) 41,173,749,760 bytes free % test.tcl couldn't execute ".\test.tcl": no such file or directory If someone could help fill in the blanks here, I'd appreciate it. Apparently I'm overlooking something obvious. Thanks, Patrick On Jan 13, 12:43=A0am, "Patrick H." <patri...@gmail.com> wrote: > Hi, new to TCL and hitting a road bump right out the gate. I just > installed ActiveTcl 8.5 on my Windows XP SP2 machine. I made the > following script and saved it as test.tcl: > > #!/usr/local/bin/tclsh > puts stdout {Hello, Patrick!} > > When in the TCL command prompt, I type...

[Tcl] file copy does not "touch" file. Why?
In a situation, when both source and destination files exist, file copy (with -force of course) does not update the last modification time of the destination file. This "feature" has a strong impact on cooperation with 'make'. Is that really intended? I have to do 'touch' externally to make it correct. The external "cp" command on unix does touch the destination file. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells" Sektor van Skijlen wrote: > In a situation, when both source and destination files exist, file copy (with > -force of course) does not update the last modification time of the > destination file. This "feature" has a strong impact on cooperation with > 'make'. It's that way because it makes it easier to do archival backups. If you want the mtime of the destination to be *now*, try this: proc creatingFileCopy {source destination} { file copy $source $destination file mtime $destination [clock seconds] } You might argue that there should be an option to tell [file copy] to not copy the metadata. I'd probably not argue the matter, but currently the metadata copy is done, since it's part of pr...

how to remove this file?
Hi, I wonder how to remove this file in freeBSd: ????????????/ It is a directory. Thanks Sam Hi Sam, Try this: # rmdir \?\?\?\?\?\?\?\?\?\?\?\? or if it is not empty, this: # rm -R \?\?\?\?\?\?\?\?\?\?\?\? You may also try adding a / to the end! Good luck! Keve sam wrote: > Hi, > > I wonder how to remove this file in freeBSd: > ????????????/ > It is a directory. > > Thanks > Sam -- If you need to reply directly: keve(at)mail(dot)poliod(dot)hu Keve Nagy wrote: > Hi Sam, > > Try this: > # rmdir \?\?\?\?\?\?\?\?\?\?\?\? > > or if it is not empty, this: > # rm -R \?\?\?\?\?\?\?\?\?\?\?\? > > You may also try adding a / to the end! > Not going to work: > rm -R \?\?\?\?\?\?\?\?\?\?\?\?/ rm: ????????????/: No such file or directory Thanks Sam > Good luck! > > Keve > > > > > sam wrote: > >> Hi, >> >> I wonder how to remove this file in freeBSd: >> ????????????/ >> It is a directory. >> >> Thanks >> Sam > > > -- Senior Security Architect/Consultant AuthTec Gateway Limited Mobile: +852 9839 2464 Email: sam.wun@authtec.net Website: http://www.authtec.com In article <clofcu$1hie$1@news.hgc.com.hk>, sam wun <sam.wun@authtec.net> wrote: >Keve Nagy wrote: > >> Hi Sam, >> >> Try this:...

How to create log file and command journal files for a TCL session
I am using TCL as the command language for my C++ application. How do I add the following? 1. Command journal file that records all TCL commands that the user issues during the session. The purpose of this file is to allow someone to reproduce the same command sequence at a later time. 2. Log file that contains everything that was displayed to the user by my application, as well as by TCL. In other words, everything that was output to stdout and stderr. I can imagine how to do this with a redirect, but I wonder if there is something more straightforward. Thank you for your help with one or both of these questions. google@voom.net wrote in news:1159952849.982836.16970@e3g2000cwe.googlegroups.com: > I am using TCL as the command language for my C++ application. How do > I add the following? > > 1. Command journal file that records all TCL commands that the user > issues during the session. The purpose of this file is to allow > someone to reproduce the same command sequence at a later time. > > 2. Log file that contains everything that was displayed to the user by > my application, as well as by TCL. In other words, everything that > was output to stdout and stderr. I can imagine how to do this with a > redirect, but I wonder if there is something more straightforward. > > > Thank you for your help with one or both of these questions. > > 1.) In a former job I had that problem myself, trying to hack geometry...

How to disallow a user removing a directory but allow removing files within it?
Problem is this: Many of our ftp users delete certain necessary directories in their home directories. To avoid the problems related to this I made those directories owned by root. All the files within that directory are still owned by the user and writable by him. The problem is he can't remove the files. The user can still write to the files, but he can't delete them. Is there a way to give the user delete "permission"? (They only need read and delete permission.) Kai Kai Schaetzl <ng@conactive.com> writes: >Problem is this: >Many of our ftp users delete certain necessary directories in their home directories. I suggest that you shrug and go back to whatever you were doing. -- "The road to Paradise is through Intercourse." [email me at huge [at] huge [dot] org [dot] uk] Kai Schaetzl <ng@conactive.com> wrote news:VA.00003075.01f971ac@conactive.com: > Problem is this: > Many of our ftp users delete certain necessary directories in their > home directories. To avoid the problems related to this I made those > directories owned by root. All the files within that directory are > still owned by the user and writable by him. The problem is he can't > remove the files. The user can still write to the files, but he can't > delete them. Is there a way to give the user delete "permission"? > (They only need read and delete permission...

Remove the files
Helo, I have a problem with deleting some special files. In my folder which interesting me I have files which name have tree parts where afer each prts is point. kwe0215e - first part of name qws - repeated part of file name 2006083012015 - date minutes hour when file is create name that file is: kwe0215e.qws.2006083012015 In my folder I have much more that files which name is: kwe0215e.qws.2006083012015 kwe0215e.qws.2006083012118 kwe0215e.qws.2006083012013 .......... and next file name group kwe0218e.qws.2006083012015 kwe0218e.qws.2006083015012 ........ and next ........... and next ........

removing files
I have a folder with a bunch of sub folders. I am trying to run a script to remove all the files in the folders and sub folders. I don not want to remove the directories. On 2010-08-10, rvaede wrote: > > I have a folder with a bunch of sub folders. > I am trying to run a script to remove all the files in the folders and > sub folders. > I don not want to remove the directories. In the directory containing the subdirectories: find . -type f -exec rm {} + -- Chris F.A. Johnson, author <http://shell.cfajohnson.com/> ============...

Access Denied if file at QDLS-Share should deleted in a batch-file
Hi , we use V5R2M0. We had an systemcrash and could not restoure our authorities. I have to create the authorities manual. I have an folder kvum_doc. The share is kvumdoc. The owner of the folder is qdftown. There is no primary group and no authoritylist The group Public have all rights. In this folder there are a file vmi10264. Public has all rights and the user, which creates the file has also all rights. The user calls a batch-file. At this batch-file there is command which moves the file vmi10264 to the PC. Here i get an error-message "Access denied". I ...

newbe question about removing items from one file to another file
def simplecsdtoorc(filename): file = open(filename,"r") alllines = file.read_until("</CsInstruments>") pattern1 = re.compile("</") orcfilename = filename[-3:] + "orc" for line in alllines: if not pattern1 print >>orcfilename, line I am pretty sure my code isn't close to what I want. I need to be able to skip html like commands from <defined> to <undefined> and to key on another word in adition to </CsInstruments> to end the routine I was also looking at se 2.2 beta but didn&...

removing file
After I shutdown from emacs on my linux machine I noticed a file I can't erase called #p.c#. What is that file how did it get on there and how do I get rid of it? Bill its an auto save file just use rm from terminal or use dired ( emacs file browser) if you hit # at the same folder as the files it will auto select # files. <nakkaya@gmail.com> wrote in message news:m21w3gu0b4.fsf@blooby.com... > > its an auto save file just use rm from terminal or use dired ( emacs > file browser) if you hit # at the same folder as the files it will auto > select # files. ...

Web resources about - Tcltest unable to remove files - permission denied - comp.lang.tcl

Permission - Wikipedia, the free encyclopedia
Text is available under the Creative Commons Attribution-ShareAlike License ;additional terms may apply. By using this site, you agree to the ...

Facebook Fixing Vulnerability That Would Prohibit Users From Revoking App Permissions
Facebook is working to remedy a vulnerability discovered by application security provider MyPermissions , which blocks users of the social network ...

Dwight Murphy - Ok, I now have permission to share the... - Facebook
Ok, I now have permission to share the news about Bowe Bergdahl..This in 2 emails... Here it is in Bob Bergdahls words to me! (1) You guys rock! ...

How-To: Handle Revoked Auth Permissions
This how-to document will help developers check a user's permissions and prompt that user for any missing permissions.

Facebook gives users more options for login, app permissions
Facebook CEO Mark Zuckerberg’s new mantra of “Move fast with stable infra,” might not be as sexy as “ Move fast and break things ,” but it reflects ...

Davies McDonalds Happy Meal Project- all photos ©Sally Davies- use with permission only - an album on ...
View the album on Flickr. Flickr logo. If you click it, you'll go home Sign Up Explore Recent Photos The Commons 20under20 Galleries World Map ...


Arafat's widow grants permission for Swiss lab to test poisoning theory
The Palestinian Authority also approved the probe, which was requested by Palestinian president Mahmoud Abbas after a media investigation found ...

'Give me the tooth': Pensioner fights for teeth 'taken without permission'
Perth pensioner Doreen Wilkes is fighting to get her front teeth back after they were allegedly removed by a student dentist without permission. ...

CSIRO moves toward industrial action: seeks Fair Work permission for protected action ballot
CSIRO's new chief executive Larry Marshall could soon be faced with disruptive staff.

Resources last updated: 3/13/2016 7:29:45 PM