Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   File.utime returns Invalid argument on Windows (winXP, ruby 1.8.5/1.8.6). (http://www.velocityreviews.com/forums/t841313-file-utime-returns-invalid-argument-on-windows-winxp-ruby-1-8-5-1-8-6-a.html)

Matt Scilipoti 06-05-2007 05:55 PM

File.utime returns Invalid argument on Windows (winXP, ruby 1.8.5/1.8.6).
 
I am receiving an "Invalid argument" error from File.utime.

irb> testfile = 'd:/temp/2007/06/test.txt'
=> "d:/temp/2007/06/test.txt"
irb> File.utime(0, Time.now, testfile)
Errno::EINVAL: Invalid argument - d:/temp/2007/06/test.txt
from (irb):4:in `utime'
from (irb):4
irb> File.exist?(testfile)
=> true
irb> File.writable?(testfile)
=> true

My local user group suggested:
irb> require 'time'
=> false

False?

I tried this on two computers:
| WinXP SP2 | WinXP SP2 |
| Ruby 1.8.6 | 1.8.5 |
| NTFS | FAT32 |

A friend has these same specs, but it works for him.
Google for 'ruby, windows, File.utime, "Invalid Argument"' (and various versions
of this) doesn't help. It does appear in a nice Ruby poetry jam.

Any ideas?


Daniel Berger 06-06-2007 02:36 PM

Re: File.utime returns Invalid argument on Windows (winXP, ruby 1.8.5/1.8.6).
 
On Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip...@possiamo.com>
wrote:
> I am receiving an "Invalid argument" error from File.utime.
>
> irb> testfile = 'd:/temp/2007/06/test.txt'
> => "d:/temp/2007/06/test.txt"
> irb> File.utime(0, Time.now, testfile)
> Errno::EINVAL: Invalid argument - d:/temp/2007/06/test.txt
> from (irb):4:in `utime'
> from (irb):4
> irb> File.exist?(testfile)
> => true
> irb> File.writable?(testfile)
> => true


Is D: a hard disk? Or is it a CDROM, usb drive, etc? Hey, gotta ask.

> My local user group suggested:
> irb> require 'time'
> => false
>
> False?


Unrelated. It means it was already loaded, probably by rubygems. An
actual failure would raise an error.

Regards,

Dan



Matt Scilipoti 06-06-2007 02:58 PM

Re: File.utime returns Invalid argument on Windows (winXP, ruby 1.8.5/1.8.6).
 
Solved (mostly), thanks to:

Nicholas Evans, who suggested that Windows may not accept a date of 0
(the first param sets access time). It doesn't. I knew that. Bad
brain. Thanks for asking an "is it plugged in" type of question.

Daniel Berger, for reminding me that "require 'x' -> false" doesn't
mean "we can't find 'x'" - it just means that it is ALREADY required.
I knew that too. Funny how, in this context, I easily accepted an
incorrect translation of the results, because it was corroborating
evidence - exactly what I was looking for. And thanks for another "is
it plugged in?" question. Yes, D: drive is a hard drive. :)

Why "mostly"? This code is derived from a battery of tests for a
project in a User Group. These tests pass for another Windows user.
We will investigate next meeting.

Thanks to all,
Matt

On 6/6/07, Daniel Berger <djberg96@gmail.com> wrote:
> On Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip...@possiamo.com>
> wrote:
> > I am receiving an "Invalid argument" error from File.utime.
> >
> > irb> testfile = 'd:/temp/2007/06/test.txt'
> > => "d:/temp/2007/06/test.txt"
> > irb> File.utime(0, Time.now, testfile)
> > Errno::EINVAL: Invalid argument - d:/temp/2007/06/test.txt
> > from (irb):4:in `utime'
> > from (irb):4
> > irb> File.exist?(testfile)
> > => true
> > irb> File.writable?(testfile)
> > => true

>
> Is D: a hard disk? Or is it a CDROM, usb drive, etc? Hey, gotta ask.
>
> > My local user group suggested:
> > irb> require 'time'
> > => false
> >
> > False?

>
> Unrelated. It means it was already loaded, probably by rubygems. An
> actual failure would raise an error.
>
> Regards,
>
> Dan
>
>
>




All times are GMT. The time now is 07:58 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.