File.utime returns Invalid argument on Windows (winXP, ruby

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?

On Jun 5, 11:55 am, “Matt Scilipoti” [email protected]
wrote:

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

Solved (mostly), thanks to:

Nicholas E., 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 B., 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. :slight_smile:

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs